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