Microsoft Exchange Server یک پلت فرم همکاری پرکاربرد است که ایمیل، مدیریت تماس، تقویم و سایر خدمات را ارائه می دهد. در پست قبلی، نحوه دسترسی و خواندن ایمیل های MS Exchange Server را به صورت برنامه نویسی در یک برنامه دات نت به شما نشان دادیم. با این حال، ممکن است لازم باشد ایمیل ها را از یک پوشه به پوشه دیگر در Exchange Server کپی کنید. برای دستیابی به آن، این مقاله نحوه انتقال ایمیل ها را به یک پوشه خاص در MS Exchange Server در C#.NET نشان می دهد.
- NET API برای انتقال ایمیل ها در سرور Microsoft Exchange
- ایمیل موجود را به پوشه ای در MS Exchange Server منتقل کنید
- ایمیل جدید را به پوشه ای در MS Exchange Server منتقل کنید
C# .NET API برای انتقال ایمیل ها در سرور Microsoft Exchange
برای انتقال ایمیل ها در MS Exchange Server، از Aspose.Email for .NET استفاده می کنیم. API راه های ساده ای برای اتصال و کار با MS Exchange Server ارائه می دهد. می توانید آن را از طریق NuGet یا دانلود DLL آن نصب کنید.
PM> Install-Package Aspose.Email
انتقال ایمیل به یک پوشه در سرور MS Exchange در سی شارپ
در زیر مراحل انتقال ایمیل ها به یک پوشه خاص در MS Exchange Server در سی شارپ آمده است.
- ابتدا، شیء IEWSClient را با استفاده از نام کاربری، رمز عبور، دامنه و URI مقداردهی کنید.
- سپس، با استفاده از روش IEWSClient.ListMessages(IEWSClient.MailboxInfo.InboxUri) فهرستی از پیامهای ایمیل را در یک شی ExchangeMessageInfoCollection دریافت کنید.
- پس از آن، از طریق هر پیام ExchangeMessageInfo حلقه بزنید و پیام مورد نیاز را فیلتر کنید.
- سپس، URI پیام را با استفاده از ویژگی ExchangeMessageInfo.UniqueUri منتقل کنید.
- در نهایت، پیام ایمیل را با استفاده از روش IEWSClient.CopyItem(string URI, IEWSClient.MailboxInfo.DeletedItemsUri) منتقل کنید.
نمونه کد زیر نحوه انتقال ایمیل به پوشه ای در MS Exchange Server در C#.NET را نشان می دهد.
try
{
// با دادن اعتبارنامه، نمونه ای از کلاس EWSClient ایجاد کنید
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// برای فهرست کردن اطلاعات پیامها از صندوق ورودی، با روش ListMessages تماس بگیرید
ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);
// برای دریافت URI پیام، مجموعه را مرور کنید
foreach (ExchangeMessageInfo msgInfo in msgCollection)
{
if (msgInfo.From.Address.Contains("jhon.vick"))
{
String strMessageURI = msgInfo.UniqueUri;
// در پوشه خاصی کپی کنید
string newMessageUri = client.CopyItem(strMessageURI, client.MailboxInfo.DeletedItemsUri);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
ایمیل جدید را به پوشه ای در MS Exchange Server منتقل کنید
همچنین می توانید یک ایمیل جدید ایجاد شده را به یک پوشه خاص در MS Exchange Server منتقل کنید. مراحل زیر برای انجام این عملیات آورده شده است.
- ابتدا، شیء IEWSClient را با استفاده از نام کاربری، رمز عبور، دامنه و URI مقداردهی اولیه کنید.
- سپس، یک پیام جدید با استفاده از کلاس MailMessage ایجاد کنید.
- پس از آن، URI پیام ایمیل را با روش IEWSClient.AppendMessage(MailMessage) دریافت کنید.
- در نهایت، پیام ایمیل را با استفاده از روش IEWSClient.CopyItem(string URI, IEWSClient.MailboxInfo.OutboxUri) منتقل کنید.
نمونه کد زیر نحوه انتقال یک پیام ایمیل جدید به پوشه ای در MS Exchange Server را نشان می دهد.
try
{
// با دادن اعتبارنامه، نمونه ای از کلاس EWSClient ایجاد کنید
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// ایجاد پیام
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");
// دریافت URI پیام
string messageUri = client.AppendMessage(message);
// کپی پیام
string newMessageUri = client.CopyItem(messageUri, client.MailboxInfo.OutboxUri);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
یک مجوز API رایگان دریافت کنید
می توانید برای استفاده از Aspose.Email برای دات نت بدون محدودیت ارزیابی، مجوز موقت رایگان دریافت کنید.
نتیجه
در این مقاله یاد گرفتید که چگونه ایمیل ها را با استفاده از سی شارپ به یک پوشه خاص در Microsoft Exchange Server منتقل کنید. علاوه بر این، نحوه انتقال یک پیام ایمیل جدید را به یک پوشه خاص در Exchange Server مشاهده کرده اید. علاوه بر این، میتوانید مستندات را برای مطالعه بیشتر درباره Aspose.Email برای داتنت کاوش کنید. همچنین، میتوانید سؤالات خود را از طریق [تالار گفتمان18 ما بپرسید.