ในบางกรณี คุณอาจต้องอ่านและแยกวิเคราะห์ข้อความอีเมล EML หรือ MSG จากภายในแอปพลิเคชันของคุณ บทความนี้แสดงวิธีการแยกข้อมูลจากข้อความอีเมลใน Java เพื่อดำเนินการโดยทางโปรแกรม โดยเฉพาะอย่างยิ่ง คุณจะได้เรียนรู้วิธีอ่านข้อมูลหัวเรื่อง ถึง จาก เนื้อหา และส่วนหัวของอีเมล
- Java API เพื่ออ่านอีเมล
- อ่านข้อความอีเมลโดยใช้ Java
- แยกเนื้อหาอีเมลเป็นข้อความธรรมดา
- แยกข้อมูลส่วนหัวออกจากอีเมล
- ถอดรหัสค่าส่วนหัวของอีเมล
- รับใบอนุญาต API ฟรี
Java API เพื่ออ่านอีเมล
ในการอ่านข้อความอีเมล เราจะใช้ Aspose.Email for Java เป็น API ที่มีประสิทธิภาพที่ให้คุณสร้างไคลเอนต์อีเมลที่มีฟีเจอร์หลากหลายใน Java คุณสามารถ ดาวน์โหลด 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>
อ่านข้อความอีเมลโดยใช้ Java
ต่อไปนี้เป็นขั้นตอนในการอ่านข้อความอีเมลใน Java
- โหลดไฟล์อีเมลโดยใช้คลาส MailMessage
- อ่านเนื้อหาของอีเมลโดยใช้วัตถุ MailMessage เช่น ถึง จาก หัวเรื่อง เนื้อความ เป็นต้น
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการอ่านข้อความอีเมลโดยใช้ Java
// สร้างอินสแตนซ์ MailMessage โดยโหลดไฟล์ Eml
MailMessage message = MailMessage.load("test.eml");
System.out.print("From: ");
// รับข้อมูลผู้ส่ง
System.out.println(message.getFrom());
System.out.print("To: ");
// รับข้อมูลผู้รับ
System.out.println(message.getTo());
System.out.print("Subject: ");
// รับเรื่อง
System.out.println(message.getSubject());
System.out.print("HtmlBody: ");
// รับเนื้อหา HTML
System.out.println(message.getHtmlBody());
System.out.print("TextBody: ");
// รับเนื้อหาข้อความ
System.out.println(message.getTextBody());
System.out.print("HtmlBodyText: ");
// รับเนื้อหาข้อความ from HTML
System.out.println(message.getHtmlBodyText());
แยกเนื้อหาอีเมลเป็นข้อความธรรมดาใน Java
คุณยังสามารถอ่านอีเมลและแยกเนื้อหาเป็นข้อความธรรมดาแทน HTML ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้
- โหลดไฟล์อีเมลโดยใช้คลาส MailMessage
- แยกเนื้อหาของอีเมลโดยใช้เมธอด MailMessage.getHtmlBodyText(boolean)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแยกเนื้อหาอีเมลเป็นข้อความธรรมดาใน Java
// โหลดข้อความอีเมล
MailMessage mail = MailMessage.load("HtmlWithUrlSample.eml");
body_with_url = mail.getHtmlBodyText(true);// body will contain URL
String body_without_url = mail.getHtmlBodyText(false);// body will not contain URL
// พิมพ์ข้อความอีเมล
System.out.println("Body with URL: " + body_with_url);
System.out.println("Body without URL: " + body_without_url);
แยกข้อมูลส่วนหัวจากอีเมลใน Java
Aspose.Email for Java ยังอนุญาตให้คุณอ่านข้อมูลส่วนหัวของข้อความอีเมล ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้
- โหลดไฟล์อีเมลโดยใช้คลาส MailMessage
- วนซ้ำคอลเลกชันส่วนหัวของอีเมลโดยใช้เมธอด MailMessage.getHeaders()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการอ่านส่วนหัวของข้อความอีเมลโดยใช้ Java
// สร้างอินสแตนซ์ MailMessage โดยโหลดไฟล์ EML
MailMessage message = MailMessage.load("test.eml");
// พิมพ์ส่วนหัวทั้งหมด
System.out.println("Printing all Headers:\n\n");
for (int i=0; i< message.getHeaders().size(); i++)
System.out.println(message.getHeaders().get(i));
ถอดรหัสส่วนหัวอีเมลใน Java
คุณยังสามารถถอดรหัสส่วนหัวของอีเมลได้โดยใช้ขั้นตอนต่อไปนี้
- โหลดไฟล์อีเมลโดยใช้คลาส MailMessage
- รับค่าของส่วนหัวอีเมลที่ถอดรหัสโดยใช้เมธอด MailMessage.getHeaders().getDecodedValue(String name)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีถอดรหัสค่าส่วนหัวของอีเมลใน Java
// โหลดข้อความอีเมล
MailMessage mail = MailMessage.load("test.eml");
// รับค่าถอดรหัสจากส่วนหัว
String decodedValue = mail.getHeaders().getDecodedValue("Thread-Topic");
// พิมพ์ค่า
System.out.println(decodedValue);
รับใบอนุญาต API ฟรี
คุณสามารถ ขอใบอนุญาตชั่วคราวได้ฟรี เพื่อใช้ API โดยไม่มีข้อจำกัดในการประเมิน
การสาธิตสด
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีการอ่านข้อความอีเมลโดยใช้ Java นอกจากนี้ คุณได้เห็นวิธีการแยกข้อมูลส่วนหัวจากข้อความอีเมล คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ Java email API ได้โดยใช้ เอกสารประกอบ นอกจากนี้ คุณสามารถติดต่อเราผ่านทาง ฟอรัม ในกรณีที่มีข้อสงสัย