ระบบอีเมลอัตโนมัติได้รับความนิยมโดยเฉพาะในหมู่นักการตลาด ช่วยให้พวกเขาสามารถส่งอีเมลที่สร้างไว้ล่วงหน้าไปยังกลุ่มเป้าหมายโดยอัตโนมัติตามเวลาที่กำหนด

รหัส Java สำหรับการส่งอีเมล

การส่งอีเมลด้วย Java

ในบทความนี้ เราจะอธิบายวิธีเขียนโค้ดสำหรับการส่งอีเมลใน Java เราจะดูขั้นตอนในการสร้างและส่งอีเมลด้วยข้อความธรรมดาหรือเนื้อหา HTML โดยทางโปรแกรม นอกจากนี้ เราจะสาธิตวิธีการส่งอีเมลจำนวนมากและการส่งอีเมลที่เก็บไว้จากแผ่นดิสก์โดยใช้ Java

บทความนี้จะครอบคลุมประเด็นต่างๆ ที่ระบุด้านล่าง:

ไลบรารี Java สำหรับการส่งอีเมล

เราจะใช้ [ไลบรารีอีเมล Java] ซึ่งช่วยให้คุณใช้ตรรกะทางธุรกิจของคุณในการจัดการอีเมลโดยไม่ต้องรู้เกี่ยวกับการเขียนโปรแกรมเครือข่ายหรือข้อกำหนดด้านรูปแบบ สามารถติดตั้งไลบรารี Java สำหรับการส่งอีเมลได้โดยตรงโดยใช้การกำหนดค่า Maven ดังที่ระบุด้านล่าง:

<repository>
	<id>ConholdateJavaAPI</id>
	<name>Conholdate Java API</name>
	<url>https://releases.conholdate.com/java/repo</url>
</repository>        
<dependency>
	<groupId>com.conholdate</groupId>
	<artifactId>conholdate-total</artifactId>
	<version>23.6</version>
	<type>pom</type>
</dependency>

สำหรับการกำหนดค่าเกี่ยวกับเฟรมเวิร์ก Java อื่นๆ โปรดไปที่ releases.conholdate.com

วิธีเขียนโค้ดเพื่อสร้างและส่งอีเมลใน Java

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

รหัส Java เพื่อส่งอีเมลพร้อมข้อความธรรมดา

ต่อไปนี้เป็นขั้นตอนในการสร้างและส่งอีเมลด้วย SMTP:

  1. สร้างวัตถุของคลาส MailMessage
  2. ระบุหัวเรื่อง เนื้อหา ที่อยู่ของผู้ส่ง และผู้รับ
  3. สร้างวัตถุของคลาส SmtpClient
  4. ตั้งค่าโฮสต์ พอร์ต ชื่อผู้ใช้ รหัสผ่าน และตัวเลือกความปลอดภัย
  5. เรียกวิธี SmtpClient.send(MailMessage arg) เพื่อส่งข้อความอีเมล

ตัวอย่างโค้ดด้านล่างแสดงวิธีสร้างและส่งข้อความอีเมลพร้อมข้อความธรรมดา:

// ประกาศข้อความเป็นอินสแตนซ์ MailMessage
MailMessage msg = new MailMessage();

// ตั้งค่าช่องจากและถึงและเนื้อหาข้อความธรรมดา
msg.setFrom(MailAddress.to_MailAddress("sender@sender.com"));
msg.getTo().add("receiver@receiver.com");
msg.setBody("This is a Plain Text Body");

// สร้างอินสแตนซ์ของคลาส SmtpClient
SmtpClient client = new SmtpClient();

// ระบุเซิร์ฟเวอร์โฮสต์เมลของคุณ ชื่อผู้ใช้ รหัสผ่าน หมายเลขพอร์ต และตัวเลือกความปลอดภัย
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);

try {
    // Client.Send จะส่งข้อความนี้
    client.send(msg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
    client.close();
    client.dispose();
}
client.close();
client.dispose();  

การส่งอีเมลด้วยเนื้อหา HTML

ต่อไปนี้เป็นขั้นตอนในการส่งข้อความอีเมลที่มีเนื้อหา HTML:

  1. สร้างวัตถุของคลาส MailMessage
  2. ระบุหัวเรื่อง เนื้อหา ที่อยู่ของผู้ส่ง และผู้รับ
  3. ตั้งค่าเนื้อหาของอีเมลโดยใช้วิธี MailMessage.setHtmlBody(String value)
  4. สร้างวัตถุของคลาส SmtpClient
  5. ตั้งค่าโฮสต์ พอร์ต ชื่อผู้ใช้ รหัสผ่าน และตัวเลือกความปลอดภัย
  6. เรียกวิธี SmtpClient.send(MailMessage arg) เพื่อส่งข้อความอีเมล

ตัวอย่างโค้ดด้านล่างแสดงวิธีการส่งข้อความอีเมลด้วยเนื้อหา HTML

// ประกาศข้อความเป็นอินสแตนซ์ MailMessage
MailMessage msg = new MailMessage();

// ใช้คุณสมบัติ MailMessage เช่น ระบุผู้ส่ง ผู้รับ ข้อความ และ HtmlBody
 msg.setFrom(MailAddress.to_MailAddress("newcustomeronnet@gmail.com"));
 msg.setTo(MailAddressCollection.to_MailAddressCollection("asposetest123@gmail.com"));
 msg.setSubject("Test subject");
 msg.setHtmlBody("<html><body>This is the HTML body</body></html>");

// สร้างอินสแตนซ์ของคลาส SmtpClient
SmtpClient client = new SmtpClient();

// ระบุเซิร์ฟเวอร์โฮสต์เมลของคุณ ชื่อผู้ใช้ รหัสผ่าน หมายเลขพอร์ต และตัวเลือกความปลอดภัย
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);

try {
    // Client.Send จะส่งข้อความนี้
    client.send(msg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
    client.close();
    client.dispose();
}
client.close();
client.dispose();  

การส่งอีเมลที่เก็บไว้จากแผ่นดิสก์ใน Java

ไลบรารีอีเมล Java ช่วยให้คุณสามารถโหลดไฟล์ EML(Outlook Express Electronic Mail) จากแผ่นดิสก์และส่งผ่าน SMTP

ขั้นตอนการส่งข้อความอีเมล์ที่จัดเก็บไว้จากแผ่นดิสก์มีดังต่อไปนี้:

  1. สร้างวัตถุของคลาส MailMessage โดยใช้เมธอด MailMessage.load(String path)
  2. สร้างวัตถุของคลาส SmtpClient
  3. ตั้งค่าโฮสต์ พอร์ต ชื่อผู้ใช้ รหัสผ่าน และตัวเลือกความปลอดภัย
  4. เรียกวิธี SmtpClient.send(MailMessage arg) เพื่อส่งข้อความอีเมล

ตัวอย่างโค้ดด้านล่างสาธิตวิธีการส่งอีเมลที่จัดเก็บไว้จากแผ่นดิสก์ใน Java

// โหลดไฟล์ EML ในคลาส MailMessage
MailMessage message = MailMessage.load(dataDir + "test.eml");

// สร้างอินสแตนซ์ของคลาส SmtpClient
SmtpClient client = new SmtpClient();

// ระบุเซิร์ฟเวอร์โฮสต์เมลของคุณ ชื่อผู้ใช้ รหัสผ่าน หมายเลขพอร์ต และตัวเลือกความปลอดภัย
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);

try {
    // Client.Send จะส่งข้อความนี้
    client.send(msg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
    client.close();
    client.dispose();
}
client.close();
client.dispose();  

รหัส Java เพื่อส่งอีเมลจำนวนมาก

ต่อไปนี้เป็นขั้นตอนในการเขียนโค้ด Java เพื่อส่งอีเมลจำนวนมาก:

  1. สร้างออบเจ็กต์หลายรายการของคลาส MailMessage และระบุพารามิเตอร์หรือคุณสมบัติที่จำเป็น
  2. สร้างวัตถุของคลาส MailMessageCollection
  3. เพิ่มออบเจ็กต์ข้อความอีเมล (ตามที่สร้างในขั้นตอนที่ 1) ลงในคอลเลกชันโดยใช้วิธี MailMessageCollection.addItem()
  4. สร้างวัตถุของคลาส SmtpClient and set the host, port, username, and password.
  5. ส่งอีเมลโดยใช้วิธี SmtpClient.send(MailMessageCollection arg)

ตัวอย่างโค้ดด้านล่างสาธิตวิธีการส่งอีเมลจำนวนมากโดยใช้ Java

// สร้าง SmtpClient เป็นไคลเอ็นต์ และระบุเซิร์ฟเวอร์ พอร์ต ชื่อผู้ใช้ และรหัสผ่าน
SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");

// สร้างอินสแตนซ์ของคลาส MailMessage และระบุถึง จาก หัวข้อ และข้อความ
MailMessage message1 = new MailMessage("msg1@from.com", "msg1@to.com", "Subject1", "message1, how are you?");
MailMessage message2 = new MailMessage("msg1@from.com", "msg2@to.com", "Subject2", "message2, how are you?");
MailMessage message3 = new MailMessage("msg1@from.com", "msg3@to.com", "Subject3", "message3, how are you?");

// สร้างอินสแตนซ์ของคลาส MailMessageCollection และเพิ่มวัตถุ MailMessage
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.addItem(message1);
manyMsg.addItem(message2);
manyMsg.addItem(message3);

try {
    // ส่งข้อความเป็นกลุ่ม
    client.send(manyMsg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
    client.close();
    client.dispose();
}
client.close();
client.dispose();  

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

คุณสามารถรับ ใบอนุญาตชั่วคราวฟรี เพื่อทดลองใช้ API โดยไม่มีข้อจำกัดในการประเมิน

สรุป

ในบทความนี้ คุณได้รับความรู้เกี่ยวกับวิธีการเขียนโค้ดสำหรับการส่งอีเมลใน Java โดยใช้ไลบรารี Java สำหรับการส่งอีเมล ในตอนแรก คุณได้เรียนรู้วิธีส่งอีเมลด้วยข้อความธรรมดาหรือเนื้อหา HTML โดยทางโปรแกรม หลังจากนั้น คุณได้เห็นวิธีการส่งอีเมลจำนวนมากและการส่งอีเมลที่เก็บไว้จากแผ่นดิสก์โดยใช้ Java

คุณสามารถไปที่ เอกสาร เพื่อสำรวจคุณสมบัติอื่น ๆ

สุดท้ายนี้ เราขอแนะนำให้คุณคอยติดตามการอัปเดตเป็นประจำที่ conholdate.com

ถามคำถาม

คุณสามารถแจ้งให้เราทราบคำถามหรือข้อสงสัยของคุณได้ใน ฟอรั่ม ของเรา

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