C# ile Exchange Sunucusunda Gelen Kutusu Kurallarını Yönetme

Microsoft Exchange Sunucusu, gelen kutusu için bir iletiyi bir klasöre taşıma, bir iletiyi silme vb. gibi iletilere uygulanan farklı kurallar tanımlamanıza olanak tanır. .NET uygulamalarının içinden Exchange hizmetleriyle çalışırken , gelen kutusu kurallarını programlı olarak yönetmeniz gerekebilir. Bu yazıda, C# .NET’te MS Exchange Server üzerinde gelen kutusu kurallarının nasıl oluşturulacağını ve güncelleneceğini öğreneceksiniz.

Exchange Sunucusunda Gelen Kutusu Kuralları Oluşturmak ve Güncellemek için C# API

MS Exchange Sunucusunda gelen kutusu kuralları oluşturmak ve güncellemek için Aspose.Email for .NET kullanacağız. API, MS Exchange Server ile sorunsuz çalışmayı oldukça kolaylaştırır. API’nin DLL’sini indirebilir veya aşağıdaki komutu kullanarak NuGet’ten yükleyebilirsiniz.

PM> Install-Package Aspose.Email

C# ile Exchange Sunucusunda Gelen Kutusu Kuralları Oluşturma

Aspose.Email for .NET, Exchange Server’da gelen kutusu kurallarıyla çalışmak için Exchange Web Services’ı (EWS) kullanır. Aşağıdakiler, Exchange Server’da C# ile gelen kutusu kuralları oluşturma adımlarıdır.

Aşağıdaki kod örneği, C# dilinde Exchange Server’da bir gelen kutusu kuralının nasıl oluşturulacağını gösterir.

// Exchange Server web hizmeti URL'sini, kullanıcı adını, parolayı ve etki alanını ayarlayın
string mailboxURI = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";

// Exchange Sunucusuna Bağlan
NetworkCredential credential = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.GetEWSClient(mailboxURI, credential);
Console.WriteLine("Connected to Exchange server");

// Yeni bir kural oluştur
InboxRule rule = new InboxRule();
rule.DisplayName = "Message from client ABC";

// koşul ekle
RulePredicates newRules = new RulePredicates();
// Koşulu ayarla: konu "ABC" dizesini içeriyor
newRules.ContainsSubjectStrings.Add("ABC");
newRules.FromAddresses.Add(new MailAddress("administrator@ex2010.local", true));
rule.Conditions = newRules;

// Eylem ekle
RuleActions newActions = new RuleActions();
newActions.MoveToFolder = "120:AAMkADFjMjNjMmNjLWE3NzgtNGIzNC05OGIyLTAwNTgzNjRhN2EzNgAuAAAAAABbwP+Tkhs0TKx1GMf0D/cPAQD2lptUqri0QqRtJVHwOKJDAAACL5KNAAA=AQAAAA==";
rule.Actions = newActions;

// Kural koy
client.CreateInboxRule(rule);

C# ile Exchange Sunucusunda Gelen Kutusu Kurallarını Güncelleyin

Aşağıda, C# dilinde Exchange Server’da mevcut bir gelen kutusu kuralını getirme ve güncelleme adımları yer almaktadır.

  • Öncelikle Exchange Server’a bağlanın ve EWS istemcisinin örneğini bir IEWSClient nesnesine alın.
  • Ardından, bir InboxRule dizisindeki tüm kuralları almak için IEWSClient.GetInboxRules() yöntemini çağırın.
  • Dizideki her InboxRule içinde döngü yapın.
  • Bazı koşullara göre gerekli kuralları filtreleyin.
  • Kuralın koşullarını veya eylemlerini güncelleyin.
  • Son olarak, gelen kutusu kuralını güncellemek için IEWSClient.UpdateInboxRule(InboxRule) yöntemini çağırın.

Aşağıdaki kod örneği, MS Exchange Server’da bir gelen kutusu kuralının C# ile nasıl güncelleneceğini gösterir.

// mailboxURI, kullanıcı adı, şifre ve alan adını ayarlayın
string mailboxURI = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";

// Exchange Sunucusuna Bağlan
NetworkCredential credential = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.GetEWSClient(mailboxURI, credential);

Console.WriteLine("Connected to Exchange server");

// Tüm gelen kutusu kurallarını alın
InboxRule[] inboxRules = client.GetInboxRules();

// Her kural boyunca döngü
foreach (InboxRule inboxRule in inboxRules)
{
    if (inboxRule.DisplayName == "Message from client ABC")
    {
        // Kuralı güncelle
        inboxRule.Conditions.FromAddresses[0] = new MailAddress("administrator@ex2010.local", true);
        client.UpdateInboxRule(inboxRule);
    }
}

Exchange Sunucusunda Gelen Kutusu Kurallarını Yönetmek için C# API’si - Ücretsiz Lisans Alın

Değerlendirme sınırlamaları olmadan MS Exchanger Sunucusunda gelen kutusu kurallarını yönetmek için ücretsiz geçici lisans alabilirsiniz.

Çözüm

Bu makalede, Microsoft Exchange Server’da .NET uygulamaları içinden gelen kutusu kurallarıyla nasıl çalışılacağını öğrendiniz. Kod örnekleri yardımıyla, C# dilinde Exchange Server üzerinde gelen kutusu kurallarının nasıl ekleneceğini veya güncelleneceğini gördünüz. Ayrıca, Aspose.Email for .NET hakkında daha fazlasını okumak için belgeleri inceleyebilirsiniz. Ayrıca, sorularınızı forumumuza gönderebilirsiniz.

Ayrıca bakınız