อ่านอีเมลใน Java

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

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 ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแยกเนื้อหาอีเมลเป็นข้อความธรรมดาใน 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

คุณยังสามารถถอดรหัสส่วนหัวของอีเมลได้โดยใช้ขั้นตอนต่อไปนี้

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

// โหลดข้อความอีเมล
MailMessage mail = MailMessage.load("test.eml");

// รับค่าถอดรหัสจากส่วนหัว
String decodedValue = mail.getHeaders().getDecodedValue("Thread-Topic");

// พิมพ์ค่า
System.out.println(decodedValue);

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

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

การสาธิตสด

บทสรุป

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

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