E-postayı C# kullanarak Microsoft Exchange Server'daki bir Klasöre Taşıyın

Microsoft Exchange Server, e-posta, kişi yönetimi, takvim ve diğer hizmetleri sağlayan, yaygın olarak kullanılan bir işbirliği platformudur. Önceki gönderide, bir .NET uygulamasında programlı olarak MS Exchange Sunucusundan e-postalara nasıl erişeceğinizi ve bu e-postaları nasıl okuyacağınızı gösterdik. Ancak, e-postaları Exchange Server’da bir klasörden diğerine kopyalamanız da gerekebilir. Bunu başarmak için bu makale, e-postaların C# .NET’te MS Exchange Sunucusunda belirli bir klasöre nasıl taşınacağını gösterir.

E-postaları Microsoft Exchange Sunucusunda Taşımak için C# .NET API

E-postaları MS Exchange Sunucusunda taşımak için Aspose.Email for .NET kullanacağız. API, MS Exchange Server’a bağlanmak ve onunla çalışmak için basit yollar sağlar. NuGet veya DLL’sini indir aracılığıyla yükleyebilirsiniz.

PM> Install-Package Aspose.Email

E-postayı C# ile MS Exchange Sunucusundaki Bir Klasöre Taşıyın

Aşağıdakiler, e-postaları C# dilinde MS Exchange Server’da belirli bir klasöre taşıma adımlarıdır.

Aşağıdaki kod örneği, bir e-postanın C# .NET’te MS Exchange Server’daki bir klasöre nasıl taşınacağını gösterir.

try
{
    // Kimlik bilgilerini vererek EWSClient sınıfının örneğini oluşturun
    IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

    // Gelen Kutusu'ndaki mesaj bilgilerini listelemek için ListMessages yöntemini çağırın
    ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);

    // İleti URI'sini almak için koleksiyonda döngü yapın
    foreach (ExchangeMessageInfo msgInfo in msgCollection)
    {
        if (msgInfo.From.Address.Contains("jhon.vick"))
        {
            String strMessageURI = msgInfo.UniqueUri;

            // Belirli bir klasöre kopyala
            string newMessageUri = client.CopyItem(strMessageURI, client.MailboxInfo.DeletedItemsUri);
        }
    }                
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

Yeni E-postayı MS Exchange Sunucusunda Bir Klasöre Taşıyın

Yeni oluşturulan bir e-postayı MS Exchange Server’da belirli bir klasöre de taşıyabilirsiniz. Bu işlemi gerçekleştirmek için adımlar aşağıdadır.

Aşağıdaki kod örneği, yeni bir e-posta iletisinin MS Exchange Server’daki bir klasöre nasıl taşınacağını gösterir.

try
{
    // Kimlik bilgilerini vererek EWSClient sınıfının örneğini oluşturun
    IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

    // mesaj oluştur
    MailMessage message = new MailMessage("from@domain.com", "to@domain.com", "EMAILNET-34997 - " + Guid.NewGuid().ToString(), "EMAILNET-34997 Exchange: Copy a message and get reference to the new Copy item");

    // Mesaj URI'sini al
    string messageUri = client.AppendMessage(message);

    // Mesajı kopyala
    string newMessageUri = client.CopyItem(messageUri, client.MailboxInfo.OutboxUri);
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

Ücretsiz API Lisansı Alın

Aspose.Email for .NET’i değerlendirme sınırlamaları olmadan kullanmak için ücretsiz geçici lisans alabilirsiniz.

Çözüm

Bu makalede, C# kullanarak e-postaları Microsoft Exchange Server’da belirli bir klasöre nasıl taşıyacağınızı öğrendiniz. Ayrıca, yeni oluşturulan bir e-posta mesajını Exchange Server’da belirli bir klasöre nasıl taşıyacağınızı 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ı [forumumuz] aracılığıyla da sorabilirsiniz]18.

Ayrıca bakınız