خواندن ایمیل‌های MS Exchange Server با استفاده از C#

Microsoft Exchange Server پلتفرمی است که به شما امکان می‌دهد مخاطبین، ایمیل‌ها، تقویم‌ها، زمان‌بندی‌ها را مدیریت کنید و چندین ویژگی همکاری را فراهم می‌کند. با MS Exchange Server، می توانید سرور ایمیل خود را بدون تکیه بر اشخاص ثالث مستقر کنید. MS Exchange Server را می‌توان از طریق وب، دسکتاپ یا برنامه‌های تلفن همراه از طریق سرویس‌های وب نیز دسترسی داشت. بنابراین، می توانید عملیات پستی و تقویم را در برنامه های خود انجام دهید. در این مقاله قصد دارید نحوه اتصال به Exchange Server در سی شارپ را بیاموزید. همچنین نحوه خواندن ایمیل ها از Exchange Server در سی شارپ را نشان خواهیم داد.

C# API برای خواندن ایمیل ها از سرور Exchange - دانلود رایگان

Aspose.Email for .NET استفاده آسان API را برای کار با MS Exchange Server فراهم می کند. این به شما امکان می دهد با استفاده از سرویس وب Exchange (EWS) یا پروتکل دسترسی به پیام اینترنتی (IMAP) به سرور ایمیل خود متصل شوید. پس از اتصال، می توانید در طی چند مرحله به موارد موجود در صندوق پستی دسترسی پیدا کنید. می توانید Aspose.Email را برای دات نت از طریق NuGet یا دانلود DLL آن نصب کنید.

PM> Install-Package Aspose.Email

با استفاده از سی شارپ به Exchange Server متصل شوید

Aspose.Email for .NET دو راه برای اتصال به یک نمونه از Exchange Server ارائه می دهد: EWS و IMAP. بخش‌های زیر مراحل نحوه برقراری ارتباط با استفاده از هر یک از راه‌ها را ارائه می‌کنند.

از طریق EWS به Exchange Server متصل شوید

مراحل زیر برای اتصال به MS Exchange Server با استفاده از Aspose.Email برای دات نت آورده شده است.

نمونه کد زیر نحوه اتصال به Exchange Server از طریق EWS با استفاده از C# را نشان می دهد.

// برای نمونه‌های کامل و فایل‌های داده، لطفاً به https://github.com/aspose-email/Aspose.Email-for-.NET بروید
private static IEWSClient GetExchangeEWSClient()
{
    const string mailboxUri = "https://outlook.office365.com/ews/exchange.asmx";
    const string domain = @"";
    const string username = @"username@ASE305.onmicrosoft.com";
    const string password = @"password";
    NetworkCredential credentials = new NetworkCredential(username, password, domain);
    IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
    return client;
}

سی شارپ از طریق IMAP به Exchange Server متصل شوید

برای اتصال به یک Exchange Server از طریق IMAP، مطمئن شوید که خدمات IMAP روی سرور شما فعال است. پس از اتمام مراحل زیر را برای اتصال به Exchange Server دنبال کنید.

  • یک نمونه از کلاس ImapClient ایجاد کنید و میزبان، نام کاربری و رمز عبور را برای سازنده آن ارائه دهید.
  • با استفاده از ویژگی ImapClient.SecurityOptions گزینه های امنیتی را تنظیم کنید.
  • با استفاده از شی ImapClient به موارد موجود در صندوق پستی دسترسی پیدا کنید.

نمونه کد زیر نحوه دسترسی به Exchange Server از طریق IMAP با استفاده از C# را نشان می دهد.

// با استفاده از کلاس ImapClient به Exchange Server متصل شوید
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.SecurityOptions = SecurityOptions.Auto;

سی شارپ با استفاده از EWS ایمیل ها را از Exchange Server بخوانید

مراحل زیر برای خواندن پیام های ایمیل از Exchange Server با استفاده از EWS آمده است.

  • یک نمونه از IEWSClient ایجاد کنید.
  • برای دسترسی به مجموعه ایمیل از روش IEWSClient.ListMessage(String) استفاده کنید.
  • برای دریافت جزئیات هر پیام ایمیل، مجموعه ایمیل را حلقه بزنید.

نمونه کد زیر نحوه خواندن ایمیل های Exchange Server در سی شارپ را نشان می دهد.

// برای نمونه‌های کامل و فایل‌های داده، لطفاً به https://github.com/aspose-email/Aspose.Email-for-.NET بروید
// با دادن اعتبارنامه، نمونه ای از کلاس ExchangeWebServiceClient ایجاد کنید
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "UserName", "Password");

// برای فهرست کردن اطلاعات پیام‌ها از صندوق ورودی، با روش ListMessages تماس بگیرید
ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);

// برای نمایش اطلاعات اولیه مجموعه را حلقه بزنید
foreach (ExchangeMessageInfo msgInfo in msgCollection)
{
    Console.WriteLine("Subject: " + msgInfo.Subject);
    Console.WriteLine("From: " + msgInfo.From.ToString());
    Console.WriteLine("To: " + msgInfo.To.ToString());
    Console.WriteLine("Message ID: " + msgInfo.MessageId);
    Console.WriteLine("Unique URI: " + msgInfo.UniqueUri);
}

خواندن ایمیل‌ها از Exchange Server با استفاده از IMAP در C#

مراحل زیر برای خواندن ایمیل ها از Exchange Server با استفاده از IMAP در سی شارپ آمده است.

  • یک نمونه از کلاس ImapClient ایجاد کنید و میزبان، نام کاربری و رمز عبور را برای سازنده آن ارائه کنید.
  • با استفاده از ویژگی ImapClient.SecurityOptions گزینه های امنیتی را تنظیم کنید.
  • با استفاده از روش ImapClient.SelectFolder() پوشه ای مانند صندوق ورودی، ارسال شده و غیره را انتخاب کنید.
  • برای دریافت مجموعه ایمیل از روش ImapClient.ListMessages() استفاده کنید.
  • برای دسترسی به هر پیام، مجموعه ایمیل را حلقه بزنید.

نمونه کد سی شارپ زیر نحوه خواندن ایمیل ها از سرور Exchange با استفاده از IMAP را نشان می دهد.

// برای نمونه‌های کامل و فایل‌های داده، لطفاً به https://github.com/aspose-email/Aspose.Email-for-.NET بروید
// با استفاده از کلاس ImapClient به Exchange Server متصل شوید
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.SecurityOptions = SecurityOptions.Auto;

// پوشه Inbox را انتخاب کنید
imapClient.SelectFolder(ImapFolderInfo.InBox);

// دریافت لیست پیام ها
ImapMessageInfoCollection msgCollection = imapClient.ListMessages();
foreach (ImapMessageInfo msgInfo in msgCollection)
{
    Console.WriteLine(msgInfo.Subject);
}
// از سرور جدا شوید
imapClient.Dispose();

C# API برای خواندن ایمیل‌های سرور Exchange - مجوز رایگان دریافت کنید

می توانید API را بدون محدودیت ارزیابی به صورت رایگان امتحان کنید. اکنون [یک مجوز موقت رایگان] دریافت کنید16.

Aspose Email API for C# - Live Demo

نتیجه

در این مقاله نحوه اتصال به MS Exchange Server در سی شارپ را یاد گرفتید. علاوه بر این، نحوه خواندن ایمیل ها از Exchange Server با استفاده از C# را نیز توضیح دادیم. نمونه کد به صراحت نحوه دسترسی به Exchange Server با استفاده از کلاینت های EWS و IMAP را نشان داده است. می‌توانید با استفاده از مستندات درباره C# Email API بیشتر کاوش کنید.

همچنین ببینید

ایجاد و ارسال ایمیل با استفاده از C#خواندن ایمیل ها با استفاده از IMAP در پایتوناتصال به سرور SMTP با استفاده از پایتون
Group Messages from PST by Conversation Threads with C#.NET