Connect to POP3 Server

นี้ Pop3Client class อนุญาตให้แอปพลิเคชันจัดการกล่องเมลด้วย Post Office Protocol เวอร์ชัน 3 (POP3) หากต้องการเชื่อมต่อกับเซิร์ฟเวอร์ ใช้ Pop3Client คลาส. เมธอด Pop3Client class เป็นจุดเริ่มต้นหลักสำหรับนักพัฒนาที่ต้องการเพิ่มการจัดการ 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 Server

Connecting to a POP3 Server อธิบายวิธีเชื่อมต่อกับเซิร์ฟเวอร์ POP3 ในสามขั้นตอนง่าย ๆ:

  1. สร้างอินสแตนซ์ของ Pop3Client คลาส.
  2. ระบุโฮสต์ ชื่อผู้ใช้ และรหัสผ่าน

กระบวนการเชื่อมต่อกับเซิร์ฟเวอร์ POP3 ที่เปิดใช้งาน SSL คล้ายกันแต่ต้องตั้งค่าคุณสมบัติอื่น ๆ เพิ่มเติม:

เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ POP3 ที่เปิดใช้งาน SSL ใช้ Pop3Client class and set the 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

เชื่อมต่อกับเซิร์ฟเวอร์ผ่าน Proxy

พร็อกซีเซิร์ฟเวอร์เป็นสิ่งที่พบได้บ่อยสำหรับการสื่อสารกับโลกภายนอก ในกรณีเช่นนี้ที่อยู่พร็อกซีจะถูกใช้โดยไคลเอนต์อีเมลเพื่อเข้าถึงกล่องเมลผ่านอินเทอร์เน็ต Aspose.Email รองรับเวอร์ชัน 4, 4a และ 5 ของโปรโตคอล SOCKS บทความนี้มีตัวอย่างการดึงอีเมลโดยใช้เซิร์ฟเวอร์เมลพร็อกซี เพื่อดึงอีเมลผ่านพร็อกซีเซิร์ฟเวอร์:

  1. Initialize Proxy ด้วยข้อมูลที่จำเป็น ได้แก่ ที่อยู่พร็อกซี พอร์ต และเวอร์ชัน SOCKS
  2. Initialize Pop3Client โดยระบุที่อยู่โฮสต์ ชื่อผู้ใช้ รหัสผ่าน และการตั้งค่าอื่น ๆ
  3. ตั้งค่าคุณสมบัติ Proxy ของไคลเอนต์เป็น 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 Proxy

// 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 class. วิธีการนี้ทำให้ไคลเอนต์สามารถกำหนดว่ามีวิธีการรับรองความถูกต้องใดบ้างที่ใช้ได้สำหรับการสร้างการเชื่อมต่อที่ปลอดภัยกับเซิร์ฟเวอร์ จากนั้นโดยใช้ setAllowedAuthentication method ที่รับ (หรือกำหนด) การ列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列ต่อ…

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีปรับแต่งการรับรองความถูกต้องของไคลเอนต์อีเมล:

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 client ตัวอย่างโค้ดต่อไปนี้แสดงวิธีกำหนดประเภทการรับรองความถูกต้องที่อนุญาตสำหรับ Pop3Client:

popClient.setAllowedAuthentication(Pop3KnownAuthenticationType.CramMD5);

วิธีตั้งค่า Timeout สำหรับการดำเนินการเมล

การดำเนินการเมลแต่ละครั้งใช้เวลาตามปัจจัยหลายอย่าง (ความล่าช้าเครือข่าย, ขนาดข้อมูล, ประสิทธิภาพเซิร์ฟเวอร์ เป็นต้น) คุณสามารถตั้งค่าเวลาจำกัดสำหรับการดำเนินการเมลทั้งหมด ตัวอย่างโค้ดด้านล่างแสดงวิธีทำโดยใช้ เวลาจำกัด คุณสมบัติ หมายเหตุ: ไม่ควรกำหนดค่าขนาดใหญ่เพื่อหลีกเลี่ยงการรอคอยนานในแอปพลิเคชันของคุณ

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

    // some code...
}