การดึงเนื้อหาข้อความจากอีเมล

การแสดงข้อมูลอีเมลบนหน้าจอ

นี้ MailMessage เป็นตัวแทนของข้อความอีเมลและอนุญาตให้ผู้พัฒนาถึงคุณสมบัติของข้อความอีเมล ข้อมูลส่วนหัว (ได้อธิบายใน การดึงส่วนหัวอีเมล) สามารถดึงและจัดการในหลายรูปแบบ บทความนี้อธิบายวิธีการแสดงข้อมูลส่วนหัวของอีเมลที่เลือกและเนื้อหาอีเมลบนหน้าจอ.

  1. สร้างอินสแตนซ์ของ MailMessage.
  2. โหลดข้อความอีเมลเข้าสู่อินสแตนซ์ MailMessage.
  3. แสดงเนื้อหาอีเมลบนหน้าจอ.

โค้ดด้านล่างแสดงวิธีการโหลดข้อความอีเมลและแสดงเนื้อหาของมัน - จาก, ถึง, หัวเรื่องและเนื้อหาอีเมล - บนหน้าจอ.

การรับวันเวลาของข้อความ

นี้ MailMessage คลาสสามารถใช้เพื่อดึงวันที่ของข้อความใน UTC หรือโซนเวลาในท้องถิ่น ข้อมูลนี้สามารถสรุปได้ดังต่อไปนี้:

  1. MailMessage.getDate() - คืนค่าวันที่ใน UTC
  2. MailMessage.getLocalDate() - คืนค่าวันที่ในโซนเวลาในท้องถิ่น
  3. MailMessage.isLocalDate คืนค่า true หาก MailMessage.getDate() อยู่ในโซนเวลาท้องถิ่น

การดึงส่วนหัวอีเมล

ส่วนหัวของอีเมลแสดงถึงชุดฟิลด์ส่วนหัวมาตรฐานตามอินเทอร์เน็ตและ RFC ที่รวมอยู่ในข้อความอีเมล อินเทอร์เน็ตส่วนหัวของอีเมลสามารถกำหนดได้โดยใช้ MailMessage คลาส ชนิดส่วนหัวทั่วไปถูกกำหนดใน HeaderType คลาสนี้เป็นคลาสที่ปิดใช้งานและทำงานเหมือนกับการ enumerations ปกติ.

เพื่อดึงส่วนหัวจากอีเมล ให้ทำตามขั้นตอนต่อไปนี้:

  1. สร้างอินสแตนซ์ของคลาส MailMessage.
  2. โหลดข้อความอีเมลในอินสแตนซ์ของคลาส MailMessage.
  3. หลังจากโหลดข้อความอีเมลแล้ว เราจะได้เนื้อหาดิบของมัน คลาส MailMessage เองมีคุณสมบัติเช่น From, To, Cc, Subject เป็นต้น คุณสมบัติเหล่านี้สามารถดึงจากส่วนหัวได้
  4. แสดงเนื้อหาดิบ.

รับค่าหัวข้อที่ถอดรหัสแล้ว

ดึงและแก้ไขหัวข้อ Disposition ของทรัพยากรที่เชื่อมโยง

ทรัพยากรที่เชื่อมโยงสามารถเข้าถึงและจัดการได้โดยโปรแกรมในอ็อบเจกต์ข้อความอีเมล getContentDisposition() เมธอดของ LinkedResource คลาสดึงหัวข้อ Content-Disposition ตัวอย่างโค้ดด้านล่างแสดงวิธีเข้าถึงและแก้ไขชื่อไฟล์ของทรัพยากรที่เชื่อมโยง:

MailMessage eml = MailMessage.load(fileName);
eml.getLinkedResources().get_Item(0).getContentDisposition().setFileName("changed.png");

รับส่วนเนื้อหา HTML เป็นข้อความธรรมดา

นี้ MailMessage คลาสมอบคุณสมบัติในการดึงส่วนเนื้อหา HTML ของข้อความเป็นข้อความธรรมดา คลาส MailMessage ให้ GetHtmlBodyText เมธอดที่คืนส่วนเนื้อหา HTML เป็นข้อความธรรมดา เมธอด GetHtmlBodyText รับพารามิเตอร์แบบบูลีนซึ่งระบุว่าบอดี้ควรมี URL หรือไม่ การส่งค่า true จะทำให้ส่วนเนื้อหา HTML มี URL.

โค้ดตัวอย่างต่อไปนี้แสดงการใช้เมธอด GetHtmlBodyText เพื่อดึงส่วนเนื้อหา HTML ของอีเมลเป็นข้อความธรรมดา.

ดึงที่อยู่ X.500 ของ Exchange จากอีเมล

Aspose.Email for Java อนุญาตให้คุณเข้าถึงที่อยู่ X.500 ของ Exchange โดยตรงผ่าน MailAddress คลาส ด้วย X500Address คุณสมบัตินี้ทำให้คุณดึงที่อยู่อีเมลในรูปแบบ Exchange X.500 เมื่อพร้อม ตัวอย่างโค้ดต่อไปนี้แสดงวิธีโหลดข้อความอีเมลและรับที่อยู่ X.500 ของผู้ส่ง:

MailMessage mailMessage = MailMessage.load(fileName);
String exaddr = mailMessage.getFrom().getX500Address();

หากที่อยู่ X.500 มีอยู่ จะถูกส่งกลับเป็นสตริงและสามารถนำไปใช้สำหรับการประมวลผลต่อหรือบันทึกในแอปพลิเคชันที่โต้ตอบกับระบบที่ใช้ Exchange

ดึงและฝังภาพที่เชื่อมโยงเป็นไฟล์แนบในอีเมล HTML

Aspose.Email ExtractHTMLBodyResourcesAsAttachments เมธอดของ HtmlSaveOption คลาสกำหนดว่าจะดึงทรัพยากรส่วนเนื้อหา HTML เป็นไฟล์แนบหรือไม่ ดังนั้นคุณสามารถดึงเนื้อหาภาพที่เชื่อมโยงจากส่วนเนื้อหา HTML และฝังเป็นไฟล์แนบในข้อความ MIME ภาพที่เชื่อมโยงจะถูกเก็บรักษาและเชื่อมโยงกับอีเมลอย่างเหมาะสม ทำให้ความสมบูรณ์ของเนื้อหาและการเข้าถึงแบบออฟไลน์ดีขึ้น.

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีทำงานนี้:

MailMessage mailMessage = MailMessage.load("input.eml");
HtmlSaveOptions options = new HtmlSaveOptions();
options.setExtractHTMLBodyResourcesAsAttachments(true);
options.setResourceHtmlRenderingHandler(new ResourceHtmlRenderingHandler() {
    public void invoke(final Object sender, final ResourceHtmlRenderingEventArgs e) {
        System.out.println(e.getPathToResourceFile() + " " + ((Attachment)sender).getContentId());
    }
});