สร้างและส่งอีเมล Outlook Java

Aspose.Email for Java เป็น API การประมวลผลอีเมลที่มีประสิทธิภาพซึ่งมอบคุณสมบัติขั้นพื้นฐานและขั้นสูงทั้งหมดสำหรับการจัดการอีเมล ช่วยให้คุณสร้างข้อความอีเมล Outlook อ่านอีเมลที่มีอยู่ และแปลงข้อความ MSG, EML, PST, OST, MBOX และ MHT เป็นรูปแบบอื่นจากภายในแอปพลิเคชัน Java ของคุณ ในบทความนี้ ฉันจะสาธิตคุณลักษณะพื้นฐานที่สำคัญบางประการเกี่ยวกับวิธีสร้างและส่งอีเมล Outlook โดยใช้ Java

ฉันจะกล่าวถึงคุณลักษณะต่อไปนี้ของการสร้างและส่งอีเมลในบทความนี้:

Java Email API - การติดตั้ง

Aspose.Email for Java สามารถดาวน์โหลดได้จากส่วน ดาวน์โหลด หรือติดตั้งโดยใช้การกำหนดค่า Maven ต่อไปนี้

พื้นที่เก็บข้อมูล:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

การพึ่งพา:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>20.3</version>
    <classifier>jdk16</classifier>
</dependency>

สร้างข้อความอีเมล Outlook โดยใช้ Java

Aspose.Email for Java ให้คุณสร้างข้อความอีเมลและบันทึกในรูปแบบอีเมลที่คุณต้องการ รวมถึง EML, EMLX, MSG และ MHTML ต่อไปนี้เป็นขั้นตอนในการสร้างข้อความอีเมลและบันทึกเป็นไฟล์

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

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการสร้างข้อความอีเมล Outlook โดยใช้ Java

MailMessage message = new MailMessage();

// ตั้งหัวเรื่องของข้อความ เนื้อความ และข้อมูลผู้ส่ง
message.setSubject("New message created by Aspose.Email for .NET");
message.setBody("This is the body of the email.");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));

// เพิ่มไปยังผู้รับและผู้รับ CC
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));

// เพิ่มไฟล์แนบ
message.getAttachments().addItem(new Attachment("word.docx"));

// บันทึกข้อความในรูปแบบ EML, EMLX, MSG และ MHTML
message.save("EmailMessage.eml", SaveOptions.getDefaultEml());
message.save("EmailMessage.emlx", SaveOptions.createSaveOptions(MailMessageSaveType.getEmlxFormat()));
message.save("EmailMessage.msg", SaveOptions.getDefaultMsgUnicode());
message.save("EmailMessage.mhtml", SaveOptions.getDefaultMhtml());

สร้างอีเมลด้วยเนื้อหา HTML โดยใช้ Java

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

  • ใช้คลาส MailMessage เพื่อสร้างข้อความอีเมลใหม่
  • ตั้งค่าหัวเรื่อง ถึง CC และคุณสมบัติอื่นๆ
  • ตั้งค่าเนื้อหาของอีเมลโดยใช้เมธอด MailMessage.setHtmlBody(string)
  • บันทึกข้อความอีเมลโดยใช้เมธอด MailMessage.save()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างอีเมลด้วยเนื้อหา HTML โดยใช้ Java

MailMessage message = new MailMessage();

// ตั้งหัวเรื่องของข้อความ เนื้อความ และข้อมูลผู้ส่ง
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));

// เพิ่มไปยังผู้รับและผู้รับ CC
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

// บันทึกข้อความในรูปแบบ EML, EMLX, MSG และ MHTML
message.save("EmailMessage.eml", SaveOptions.getDefaultEml()); 

สร้างอีเมลด้วยการเข้ารหัสเฉพาะโดยใช้ Java

Aspose.Email for Java ยังให้คุณตั้งค่าการเข้ารหัสข้อความที่ต้องการสำหรับข้อความอีเมล มาตรฐานการเข้ารหัสใช้เพื่อบอกแอปพลิเคชันอีเมลหรือเบราว์เซอร์เกี่ยวกับวิธีตีความอักขระในเนื้อหาของอีเมล ต่อไปนี้เป็นขั้นตอนในการสร้างอีเมลด้วยมาตรฐานการเข้ารหัสเฉพาะ

  • สร้างวัตถุของคลาส MailMessage
  • กำหนดคุณสมบัติของอีเมล เช่น Subject, To, CC เป็นต้น
  • กำหนดมาตรฐานการเข้ารหัสโดยใช้เมธอด MailMessage.setBodyEncoding()
  • สร้างและบันทึกอีเมลโดยใช้เมธอด MailMessage.save()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างอีเมลด้วยมาตรฐานการเข้ารหัสเฉพาะโดยใช้ Java

MailMessage message = new MailMessage();

// ตั้งหัวเรื่องของข้อความ เนื้อความ และข้อมูลผู้ส่ง
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));

// ระบุการเข้ารหัส 
message.setBodyEncoding(Charset.forName("US-ASCII"));

// เพิ่มไปยังผู้รับและผู้รับ CC
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

// บันทึกข้อความในรูปแบบ EML, EMLX, MSG และ MHTML
message.save("EmailMessage.eml", SaveOptions.getDefaultEml()); 

ส่งอีเมล Outlook โดยใช้ Java

เมื่อคุณสร้างอีเมลแล้ว คุณสามารถส่งไปยังผู้รับได้โดยใช้ Simple Mail Transfer Protocol (SMTP) ต่อไปนี้เป็นขั้นตอนในการส่งข้อความอีเมลโดยใช้ Aspose.Email for Java

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

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

MailMessage message = new MailMessage();

// ตั้งหัวเรื่องของข้อความ เนื้อความ และข้อมูลผู้ส่ง
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));

// ระบุการเข้ารหัส 
message.setBodyEncoding(Charset.forName("US-ASCII"));

// เพิ่มไปยังผู้รับและผู้รับ CC
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

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

// ระบุเซิร์ฟเวอร์โฮสต์การส่งจดหมาย ชื่อผู้ใช้ รหัสผ่าน พอร์ต
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);

try
{
	// Client.Send จะส่งข้อความนี้
	client.send(message); 
}

catch (Exception ex)
{
	ex.printStackTrace();
}

ส่งอีเมลแบบอะซิงโครนัสโดยใช้ Java

Aspose.Email for Java ยังให้คุณส่งอีเมลแบบอะซิงโครนัส สำหรับสิ่งนี้ คุณสามารถใช้เมธอด SmtpClient.beginSend() ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการส่งอีเมลแบบอะซิงโครนัสโดยใช้ Java

MailMessage message = new MailMessage();

// ตั้งหัวเรื่องของข้อความ เนื้อความ และข้อมูลผู้ส่ง
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));

// ระบุการเข้ารหัส 
message.setBodyEncoding(Charset.forName("US-ASCII"));

// เพิ่มไปยังผู้รับและผู้รับ CC
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

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

// ระบุเซิร์ฟเวอร์โฮสต์การส่งจดหมาย ชื่อผู้ใช้ รหัสผ่าน พอร์ต
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);

try
{
	// Client.beginSend จะส่งข้อความนี้
	client.beginSend(message); 
}

catch (Exception ex)
{
	ex.printStackTrace();
}

ส่งอีเมลพร้อมใบรับการอ่านโดยใช้ Java

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

  • สร้างข้อความอีเมลใหม่โดยใช้คลาส MailMessage
  • ตั้งค่าตัวเลือกการแจ้งเตือนการจัดส่งโดยใช้เมธอด MailMessage.setDeliveryNotificationOptions()
  • เพิ่มข้อมูลใบเสร็จในส่วนหัวของอีเมล
  • ใช้คลาส SmtpClient เพื่อส่งอีเมล

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

MailMessage message = new MailMessage();

// ตั้งหัวเรื่องของข้อความ เนื้อความ และข้อมูลผู้ส่ง
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));

// ตั้งค่าตัวเลือกการแจ้งเตือน
message.setDeliveryNotificationOptions(DeliveryNotificationOptions.OnSuccess);
message.getHeaders().add("Return-Receipt-To", "from@domain.com");
message.getHeaders().add("Disposition-Notification-To", "from@domain.com"); 

// เพิ่มไปยังผู้รับ 
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false)); 

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

// ระบุเซิร์ฟเวอร์โฮสต์การส่งจดหมาย ชื่อผู้ใช้ รหัสผ่าน พอร์ต
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);

try
{
	// Client.Send จะส่งข้อความนี้
	client.send(message);
}

catch (Exception ex)
{
	ex.printStackTrace();
}

ส่งอีเมลจำนวนมากโดยใช้ Java

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

// สร้างอินสแตนซ์ของคลาส 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 และเพิ่มข้อความอีเมลลงไป
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.addItem(message1);
manyMsg.addItem(message2);
manyMsg.addItem(message3);		

// สร้าง SmtpClient และระบุเซิร์ฟเวอร์ พอร์ต ชื่อผู้ใช้ และรหัสผ่าน
SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");
 
try
{  
	// ส่งข้อความ
	client.send(manyMsg); 
}
catch (Exception ex)
{
	  ex.printStackTrace();
}

การสาธิตสด

บทสรุป

ในโพสต์นี้ ฉันได้แสดงวิธีสร้างข้อความอีเมล Outlook และบันทึกเป็นรูปแบบ EML, MSG และ MTH โดยใช้ Java นอกจากนี้ยังกล่าวถึงวิธีต่างๆ ในการส่งอีเมลใน Java โดยใช้ไคลเอนต์ STMP คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Java Email Library ของ Aspose ได้โดยใช้ เอกสารประกอบ

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

สร้างข้อความ Outlook และส่งอีเมลโดยใช้ C#ดึงอีเมลจากเซิร์ฟเวอร์ POP3 ใน Pythonรับรายชื่อผู้ติดต่อจาก Microsoft Exchange Server ใน C#
รับรายชื่อผู้ติดต่อจาก Microsoft Exchange Server ใน Javaนำเข้าที่อยู่ติดต่อจาก Gmail ใน C#นำเข้าที่อยู่ติดต่อ Gmail ใน Java
ย้ายอีเมลไปยังโฟลเดอร์บน Microsoft Exchange Server ใน C#ย้ายอีเมลไปยังโฟลเดอร์บน Microsoft Exchange Server ใน Javaแยกวิเคราะห์ไฟล์ PST ของ Outlook ใน Python
อ่านอีเมลจากกล่องจดหมายที่ใช้ร่วมกันบน Exchange Server ใน C#อ่านอีเมลจากกล่องจดหมายที่ใช้ร่วมกันบน Exchange Server ใน Javaอ่านไฟล์ MS Outlook PST ใน C# .NET
อ่านไฟล์ MS Outlook PST ใน Javaอ่านไฟล์ Outlook MSG ใน C#ทำงานกับการสนทนาบน MS Exchange Server ใน C#
ทำงานกับการสนทนาบน MS Exchange Server ใน Javaเขียนและอ่านข้อความบน Thunderbird Storage ใน C#เขียนและอ่านข้อความบน Thunderbird Storage ใน Java
เขียนและอ่านข้อความบน Thunderbird Storage ใน Pythonส่งอีเมลผ่าน SMTP ใน Pythonอ่านอีเมลจาก Exchange Server ใน C#