اتصال به سرور POP3

این Pop3Client کلاس به برنامه‌ها امکان مدیریت صندوق‌های ایمیل را با استفاده از Post Office Protocol نسخهٔ 3 (POP3) می‌دهد. برای اتصال به سرور، از Pop3Client کلاس. Pop3Client کلاس ورودی اصلی برای توسعه‌دهندگانی است که می‌خواهند مدیریت POP3 را به برنامه‌های .NET خود اضافه کنند. این مقاله چگونگی استفاده از آن را توضیح می‌دهد. برای اتصال به سرور POP3:

  1. یک نمونه از Pop3Client کلاس.
  2. آدرس میزبان، نام کاربری و رمز عبور را در Pop3Client نمونه.

قطعه کد زیر نشان می‌دهد چگونه به سرور POP3 متصل شوید.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

// Create an instance of the Pop3Client class
Pop3Client client = new Pop3Client();

// Specify host, username, password, Port and SecurityOptions for your client
client.setHost("pop.gmail.com");
client.setUsername("your.username@gmail.com");
client.setPassword("your.password");
client.setPort(995);
client.setSecurityOptions(SecurityOptions.Auto);
System.out.println("Connected to POP3 server.");

اتصال به سرور SSL

اتصال به سرور POP3 چگونگی اتصال به سرور POP3 را در سه گام ساده توضیح داد:

  1. یک نمونه از Pop3Client کلاس.
  2. آدرس میزبان، نام کاربری و رمز عبور را مشخص کنید.

فرآیند اتصال به سرور POP3 با پشتیبانی SSL مشابه است اما نیاز دارد چند ویژگی دیگر تنظیم شوند:

برای اتصال به سرور POP3 با پشتیبانی SSL، از Pop3Client کلاس و تنظیم SecurityOptions و ویژگی‌های Port. قطعه کد زیر نشان می‌دهد چگونه به سرور POP3 با پشتیبانی SSL متصل شوید.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

// Create an instance of the Pop3Client class
Pop3Client client = new Pop3Client();

// Specify host, username and password, Port and SecurityOptions for your client
client.setHost("pop.gmail.com");
client.setUsername("your.username@gmail.com");
client.setPassword("your.password");
client.setPort(995);
client.setSecurityOptions(SecurityOptions.Auto);
System.out.println("Connecting to POP3 server using SSL.");

اتصال به سرور APOP

POP مخفف Post Office Protocol است. APOP مخفف Authenticated Post Office Protocol می‌باشد. APOP نسخهٔ توسعه‌یافته‌ای از تنظیمات سرور POP3 است که نام کاربری و رمز عبور شما را رمزگذاری می‌کند و از مکانیزم احراز هویتی استفاده می‌کند که برای محافظت از رمز عبور حساب POP3 شما هنگام بررسی ایمیل طراحی شده است. احراز هویت APOP نیازی به ارسال رمز عبور حساب به صورت متن ساده به سرور ایمیل POP3 ندارد.

اتصال به سرور از طریق پروکسی

سرورهای پروکسی برای ارتباط با دنیای خارج بسیار رایج هستند. در چنین مواردی، آدرس‌های پروکسی برای دسترسی برنامه‌های ایمیل به صندوق‌های ایمیل از طریق اینترنت استفاده می‌شوند. Aspose.Email از نسخه‌های 4، 4a و 5 پروتکل پروکسی SOCKS پشتیبانی می‌کند. این مقاله نمونهٔ عملی بازیابی ایمیل با استفاده از سرور پروکسی را ارائه می‌دهد. برای بازیابی ایمیل از طریق سرور پروکسی:

  1. راه‌اندازی پروکسی با اطلاعات لازم، یعنی آدرس پروکسی، پورت و نسخه SOCKS.
  2. راه‌اندازی Pop3Client با آدرس میزبان، نام کاربری، رمز عبور و هر تنظیم دیگر.
  3. ویژگی Proxy مشتری را تنظیم کنید به پروکسی شیء‌ای که در بالا ایجاد شده است.

قطعه کد زیر نشان می‌دهد چگونه ایمیل‌ها را از طریق سرور پروکسی بازیابی کنید.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

// Create an instance of the Pop3Client class
Pop3Client client = new Pop3Client("pop.domain.com", "username", "password");

// Set proxy address, Port and Proxy
String proxyAddress = "192.168.203.142";
int proxyPort = 1080;
SocksProxy proxy = new SocksProxy(proxyAddress, proxyPort, SocksVersion.SocksV5);
client.setProxy(proxy);
Pop3MailboxInfo mailboxInfo = client.getMailboxInfo();

اتصال به سرور از طریق پروکسی HTTP

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

HttpProxy proxy = new HttpProxy("18.222.124.59", 8080);
try (Pop3Client client = new Pop3Client("imap.domain.com", "username", "password")) {
    client.setProxy(proxy);
    Pop3MailboxInfo mailboxInfo = client.getMailboxInfo();
}

سفارشی‌سازی مکانیزم احراز هویت

دریافت فهرست مکانیزم‌های احراز هویت که توسط سرور POP3 پشتیبانی می‌شوند با استفاده از getSupportedAuthentication متد از Pop3Client کلاس. این متد به کلاینت اجازه می‌دهد تا تعیین کند کدام روش‌های احراز هویت برای برقراری اتصال امن با سرور موجود هستند. سپس، با استفاده از setAllowedAuthentication روشی که فهرست (یا تنظیم) انواع احراز هویت مجاز توسط کاربر را برمی‌گرداند، مکانیزم احراز هویت مناسب‌ترین برای ارتباط کلاینت‑سرور را انتخاب می‌کند. این امکان را می‌دهد تا روش احراز هویت مشتری ایمیل را به‌صورت صریح تنظیم کنید.

نمونه کد زیر نشان می‌دهد چگونه احراز هویت مشتری ایمیل را سفارشی کنید:

pop3Client.setAllowedAuthentication(Pop3KnownAuthenticationType.Plain);

پشتیبانی از پروتکل OAuth 2.0 برای مجوزدهی

OAuth 2.0 مجوزدهی را فراهم می‌کند

Pop3Client از OAuth 2.0 پشتیبانی می‌کند و روش‌های خاص مجوزدهی را برای برنامه‌ها فراهم می‌سازد. سازنده‌های زیر برای مقداردهی اولیه POP3Client با استفاده از OAuth استفاده می‌شوند:

public Pop3Client(

            String host, /*The host name*/

            int port, /*The port number*/ 

            String username, /*The user name*/

            ITokenProvider tokenProvider, /*TokenProvider allowing to retrieve access token*/

            /*SecurityOptions*/int securityOptions) /*Security mode for a mail client*/



public Pop3Client(

            String host, /*The host name*/

            int port, /*The port number*/

            String username, /*The user name*/

            String authInfo, /*The user password or XOAUTH2 access token*/

            boolean useOAuth, /*Defines whether SASL XOAUTH2 mechanism is used to login to the server*/

            /*SecurityOptions*/int securityOptions) /*Security mode for a mail client*/

اعتبارسنجی اعتبارهای سرور ایمیل بدون ارسال ایمیل

گاهی لازم است اعتبارسنجی اعتبارها بدون ارسال ایمیل انجام شود. Aspose.Email فراهم می‌کند validateCredentials() متد برای انجام این عملیات. اگر اعتبارسنجی موفق باشد، کد داخل شرط if اجرا می‌شود که معمولاً برای انجام اقدامات بیشتر یا دریافت داده‌ها از سرور IMAP استفاده می‌شود. قطعه کد زیر اعتبار اعتبارنامه‌ها را بدون ارسال ایمیل نشان می‌دهد:

try (Pop3Client pop3Client = new Pop3Client(
        server.Pop3Url, server.Pop3Port, "userName", "password", SecurityOptions.Auto)) {
    pop3Client.setTimeout(4000);

    if (pop3Client.validateCredentials()) {
        // to do something
    }
}

استفاده از احراز هویت CRAM-MD5 برای اتصال به یک سرور

برای اطمینان از احراز هویت و ارتباط ایمن با سرور POP3، می‌توانید استفاده از CRAM‑MD5 را به عنوان روش احراز هویت مجاز برای مشتری POP3 مشخص و اعمال کنید. قطعه کد زیر نشان می‌دهد چگونه نوع احراز هویت مجاز را برای Pop3Client:

popClient.setAllowedAuthentication(Pop3KnownAuthenticationType.CramMD5);

نحوه تنظیم زمان انتظار برای عملیات ایمیل

هر عملیات ایمیل بسته به عوامل متعددی (تاخیرهای شبکه، حجم داده، عملکرد سرور و غیره) مدتی طول می‌کشد. می‌توانید زمان انتظار (Timeout) را برای تمام عملیات ایمیل تنظیم کنید. مثال کد زیر نشان می‌دهد چگونه با استفاده از زمان انتظار ویژگی. نکته: نباید مقادیر بزرگ تنظیم کنید تا از انتظار طولانی در برنامه جلوگیری کنید.

try (Pop3Client pop3Client = new Pop3Client("host", 995, "username", "password", SecurityOptions.Auto))
{
    pop3Client.setTimeout(60000); // 60 seconds

    // some code...
}