Microsoft Exchange Server‘da e-postalar gelen kutusu, giden kutusu vb. farklı klasörlerde düzenlenir. Ayrıca ihtiyaçlarınıza göre kendi klasörlerinizi veya alt klasörlerinizi oluşturabilirsiniz. MS Exchange Server ile çalışırken programlı olarak özel klasörler oluşturmanız gerekebilir. Bu yazıda, C# .NET’te MS Exchange Server üzerinde EWS ile klasör veya alt klasör oluşturmayı öğreneceksiniz. Ayrıca, Exchange Server’da bir klasörün nasıl silineceğini de ele alacağız.
- MS Exchange Sunucusunda EWS ile Klasör Oluşturmak için .NET API
- MS Exchange Sunucusunda Klasör Oluşturma
- MS Exchange Sunucusunda Alt Klasör Oluşturma
- MS Exchange Sunucusunda Bir Klasörü Silme
MS Exchange Sunucusunda Klasörler Oluşturmak için C# .NET API
MS Exchange Sunucusunda EWS ile klasörleri yönetmek için Aspose.Email for .NET kullanacağız. API, Exchange Server’ın hizmetleriyle .NET uygulamalarından ç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 MS Exchange Sunucusunda Klasör Oluşturma
C# ile MS Exchange Server üzerinde klasör oluşturma adımları aşağıdadır.
- MS Exchange Server’a bağlanın ve IEWSClient içinde EWS istemci nesnesini alın.
- Kök klasörün adını ve oluşturmak istediğiniz klasörü belirtin.
- IEWSClient.CreateFolder(string, string) yöntemini kullanarak klasör oluşturun.
Aşağıdaki kod örneği, C# dilinde EWS ile MS Exchange Sunucusunda bir klasörün nasıl oluşturulacağını gösterir.
// 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 URI'sini al (gelen kutusunda klasör oluşturmak için)
string inbox = client.MailboxInfo.InboxUri;
// Klasör adını belirtin
string folderName1 = "EMAILNET-35054";
try
{
// Klasör oluşturun
client.UseSlashAsFolderSeparator = true;
client.CreateFolder(client.MailboxInfo.InboxUri, folderName1);
}
catch
{
// Bir şey yap
}
C# ile MS Exchange Sunucusunda Alt Klasör Oluşturma
Bir alt klasör oluşturmak için öncelikle üst klasörün var olup olmadığını kontrol etmeniz gerekir. Varsa, alt klasörü oluşturmanız yeterlidir, aksi takdirde önce ana klasörü oluşturun. Aşağıdaki adımlar, MS Exchange Server’da C# dilinde bir alt klasörün nasıl oluşturulacağını göstermektedir.
- MS Exchange Server’a bağlanın ve IEWSClient‘de EWS istemci nesnesini alın.
- Kök klasörün ve alt klasörün adını belirtin.
- IEWSClient.FolderExists(string, string, ExchangeFolderInfo) yöntemini kullanarak üst klasörün var olup olmadığını kontrol edin. Değilse, bir tane oluşturun.
- IEWSClient.CreateFolder(string, string) yöntemini kullanarak alt klasör oluşturun.
Aşağıdaki kod örneği, MS Exchange Server’da C# dilinde bir alt klasörün nasıl oluşturulacağını gösterir.
// 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 URI'sini al
string inbox = client.MailboxInfo.InboxUri;
// Klasör adını belirtin
string folderName1 = "EMAILNET-35054";
// Alt klasör adını belirtin
string subFolderName = "2015";
string folderName2 = folderName1 + "/" + subFolderName;
ExchangeFolderInfo rootFolderInfo = null;
try
{
client.UseSlashAsFolderSeparator = true;
if (!client.FolderExists(inbox, folderName1, out rootFolderInfo))
{
// Klasör oluşturun
rootFolderInfo = client.CreateFolder(inbox, folderName1);
}
// Alt klasör Oluştur
client.CreateFolder(inbox, folderName2);
}
catch
{
// Bir şey yap
}
C# ile MS Exchange Sunucusunda Bir Klasörü Silme
C# ile MS Exchange Sunucusunda bir klasörü silme adımları aşağıdadır.
- MS Exchange Server’a bağlanın ve IEWSClient‘da EWS istemci nesnesini alın.
- IEWSClient.FolderExists(string, string, ExchangeFolderInfo) yöntemini kullanarak klasörün var olup olmadığını kontrol edin.
- IEWSClient.DeleteFolder(string, bool) yöntemini kullanarak klasörü silin.
Aşağıdaki kod örneği, C# dilinde MS Exchange Server’da bir klasörün nasıl silineceğini gösterir.
// 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 URI'sini al
string inbox = client.MailboxInfo.InboxUri;
// Klasör adını belirtin
string folderName1 = "EMAILNET-35054";
ExchangeFolderInfo rootFolderInfo = null;
try
{
// Klasörün var olup olmadığını kontrol edin
if (client.FolderExists(inbox, folderName1, out rootFolderInfo))
{
// Klasörü sil
client.DeleteFolder(rootFolderInfo.Uri, true);
}
}
catch
{
// Bir şey yap
}
Ücretsiz API Lisansı Alın
Aspose.Email for .NET’i değerlendirme sınırlamaları olmaksızın kullanmak için ücretsiz geçici lisans alabilirsiniz.
Çözüm
Bu makalede, C# dilinde EWS ile Microsoft Exchange Server üzerinde klasörlerle nasıl çalışılacağını öğrendiniz. Kod örneklerinin yardımıyla, MS Exchange Server’da belirli bir klasörü programlı olarak C# ile nasıl oluşturacağınızı ve sileceğinizi 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.