เชื่อมต่อกับเซิร์ฟเวอร์ SMTP โดยใช้ Java

SMTP เป็นโปรโตคอลอีเมลที่ใช้กันทั่วไปเพื่อส่งอีเมลจากแอปพลิเคชันไคลเอนต์ไปยังเซิร์ฟเวอร์อีเมล ก่อนสื่อสารกับเซิร์ฟเวอร์ SMTP คุณต้องสร้างการเชื่อมต่อ ในบทความนี้ คุณจะได้เรียนรู้วิธีเชื่อมต่อกับเซิร์ฟเวอร์ SMTP โดยทางโปรแกรมโดยใช้ Java นอกจากนี้ บทความจะกล่าวถึงวิธีการเชื่อมต่อกับเซิร์ฟเวอร์ SMTP ผ่าน SOCKS หรือ HTTP proxies

Java API เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ SMTP

ในการเชื่อมต่อกับเซิร์ฟเวอร์ SMTP เราจะใช้ Aspose.Email for Java เป็น API ที่มีประสิทธิภาพที่ช่วยให้คุณสร้างแอปพลิเคชันอีเมลไคลเอ็นต์ที่มีคุณสมบัติหลากหลายโดยใช้ Java นอกจากนี้ยังมีวิธีง่ายๆ ในการเชื่อมต่อกับเซิร์ฟเวอร์ SMTP คุณสามารถ ดาวน์โหลด JAR ของ API หรือติดตั้งโดยใช้การกำหนดค่า Maven ต่อไปนี้

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>21.3</version>
    <classifier>jdk16</classifier>
</dependency>

เชื่อมต่อกับเซิร์ฟเวอร์ SMTP โดยใช้ Java

ต่อไปนี้เป็นขั้นตอนในการเชื่อมต่อกับเซิร์ฟเวอร์ SMTP

  • สร้างวัตถุของคลาส SmtpClient และเริ่มต้นด้วยที่อยู่ของโฮสต์
  • ตั้งชื่อผู้ใช้ รหัสผ่าน พอร์ต และตัวเลือกความปลอดภัยโดยใช้วัตถุ SmtpClient
  • ส่งอีเมล

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเชื่อมต่อกับเซิร์ฟเวอร์ SMTP โดยใช้ Java

// สร้างวัตถุของ SmtpClient
SmtpClient client = new SmtpClient("smtp.gmail.com");

// ตั้งชื่อผู้ใช้ รหัสผ่าน พอร์ต และตัวเลือกความปลอดภัย
client.setUsername("your.email@gmail.com");
client.setPassword("your.password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);

// ส่งอีเมลล์
client.send(new MailMessage("sender@domain.com", "receiver@domain.com", "Sending Email via proxy", "Test email"));

ใช้พร็อกซีเพื่อเชื่อมต่อกับเซิร์ฟเวอร์ SMTP

ในหลายกรณี เซิร์ฟเวอร์ SMTP ได้รับการรักษาความปลอดภัยโดยใช้พร็อกซี ดังนั้น คุณต้องเชื่อมต่อกับเซิร์ฟเวอร์ SMTP ผ่านพร็อกซีเซิร์ฟเวอร์ สำหรับกรณีดังกล่าว Aspose.Email for Java มีเมธอดดังต่อไปนี้

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

Aspose.Email for Java ให้การสนับสนุนเวอร์ชัน 4, 4a และ 5 ของโปรโตคอลพร็อกซี SOCKS ต่อไปนี้เป็นขั้นตอนในการเชื่อมต่อกับเซิร์ฟเวอร์ SMTP ผ่านพร็อกซี SOCKS

  • สร้างออบเจ็กต์ของคลาส SmtpClient และเริ่มต้นด้วยโฮสต์ ชื่อผู้ใช้ และรหัสผ่าน
  • สร้างออบเจ็กต์ของคลาส SocksProxy และตั้งค่าที่อยู่ พอร์ต และเวอร์ชัน SOCKS ของเซิร์ฟเวอร์
  • ตั้งค่าพร็อกซีโดยใช้เมธอด SmtpClient.setProxy(SocksProxy)
  • ส่งอีเมลล์.

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเชื่อมต่อกับเซิร์ฟเวอร์ SMTP ผ่านพร็อกซี SOCKS

// สร้างวัตถุของ SmtpClient
SmtpClient client = new SmtpClient("smtp.domain.com", "username", "password");

// ตั้งค่าตัวเลือกความปลอดภัย
client.setSecurityOptions(SecurityOptions.SSLImplicit);

// การตั้งค่าพร็อกซี
String proxyAddress = "192.168.203.142"; // proxy address
int proxyPort = 1080; // proxy port

// สร้างและตั้งค่าพร็อกซี
SocksProxy proxy = new SocksProxy(proxyAddress, proxyPort, SocksVersion.SocksV5);
client.setProxy(proxy);

// ส่งอีเมล
client.send(new MailMessage("sender@domain.com", "receiver@domain.com", "Sending Email via proxy",
        "Implement socks proxy protocol for versions 4, 4a, 5 (only Username/Password authentication)"));

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

ต่อไปนี้เป็นขั้นตอนในการเชื่อมต่อกับเซิร์ฟเวอร์ SMTP ผ่านพร็อกซี HTTP

  • สร้างวัตถุของคลาส HttpProxy และเริ่มต้นด้วยโฮสต์และหมายเลขพอร์ต
  • สร้างวัตถุของคลาส SmtpClient และตั้งค่าโฮสต์ ชื่อผู้ใช้ รหัสผ่าน และพอร์ต
  • ตั้งค่าพร็อกซีโดยใช้เมธอด SmtpClient.setProxy(HttpProxy)
  • ส่งอีเมลล์.

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเชื่อมต่อกับเซิร์ฟเวอร์ SMTP ผ่านพร็อกซี HTTP

// สร้างวัตถุของ HttpProxy
HttpProxy proxy = new HttpProxy("18.222.124.59", 8080);

// สร้างไคลเอนต์ SMTP
try (SmtpClient client = new SmtpClient("host", 587, "username", "password")) {
  
    // ตั้งค่าพร็อกซี
    client.setProxy(proxy);
  
    // ส่งอีเมลล์
    client.send(new MailMessage("sender@domain.com", "receiver@domain.com", "Sending Email via proxy",
            "Implement socks proxy protocol for versions 4, 4a, 5 (only Username/Password authentication)"));
}

รับใบอนุญาต API ฟรี

คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อใช้ Aspose.Email for Java โดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีเชื่อมต่อกับเซิร์ฟเวอร์ SMTP โดยทางโปรแกรมโดยใช้ Java นอกจากนี้ คุณได้เห็นวิธีใช้ SOCKS และ HTTP proxies เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ SMTP คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ Aspose.Email for Java โดยใช้ เอกสารประกอบ นอกจากนี้ คุณสามารถส่งคำถามของคุณผ่าน ฟอรัม ของเรา

ดูสิ่งนี้ด้วย