คุณสมบัติเครื่องมือ - MailMessage

การเข้ารหัสและถอดรหัสข้อความ

Aspose.Email มีฟีเจอร์เพื่อเข้ารหัสและถอดรหัสข้อความอีเมล หัวข้อนี้แสดงวิธีโหลดและเข้ารหัสข้อความที่มีอยู่หรือใหม่โดยใช้ MailMessage. ส่วน encrypt() และ decrypt() เมธอดเหล่านี้คืนอ็อบเจกต์ MailMessage สำหรับผลลัพธ์ที่นำไปใช้และต้องระมัดระวังขณะเข้ารหัส/ถอดรหัสข้อความ การเข้ารหัสและถอดรหัสข้อความประกอบด้วยขั้นตอนต่อไปนี้:

  1. สร้างข้อความใหม่หรือโหลดข้อความที่มีอยู่
  2. เข้ารหัสข้อความโดยใช้ไฟล์ใบรับรอง
  3. ส่งข้อความหรือบันทึกมัน
  4. ถอดรหัสข้อความตามต้องการ

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

ตรวจสอบข้อความว่ามีการเข้ารหัสหรือไม่

Aspose.Email MailMessage คลาสอนุญาตให้ตรวจสอบข้อความว่ามีการเข้ารหัสหรือไม่ isEncrypted คุณสมบัติของ MailMessage อนุญาตให้ตรวจสอบสิ่งนี้ตามตัวอย่างโค้ดต่อไปนี้.

การเข้ารหัสข้อความด้วย X509Certificate

Aspose.Email มี API สำหรับทำงานกับข้อความที่เข้ารหัสด้วย X509Certificate:

MailMessage คลาสมีเมธอดต่อไปนี้สำหรับทำงานกับการเข้ารหัสข้อความ:

กำหนดค่าตัวเลือก Locale สำหรับ Aspose.Email

คุณสามารถใช้ LocaleOptions คลาสที่ใช้เมื่อ locale เริ่มต้นไม่รู้จักและตั้งค่า locale ที่เหมาะสมที่สุดสำหรับไลบรารี Aspose Email มันมีเมธอดต่อไปนี้เพื่อทำงาน:

  • getLocale() - คืนค่า Locale เริ่มต้นสำหรับ Aspose.Email.
  • setLocale(Locale locale) และ setLocale(String localeName) - ตั้งค่า locale เริ่มต้นที่เกี่ยวข้องสำหรับ Aspose.Email.
  • clear() - ล้าง locale เริ่มต้นสำหรับ Aspose.Email จะใช้ locale เริ่มต้นสำหรับ Java.

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีโหลดข้อความเมลจากไฟล์โดยใช้การตั้งค่า locale ที่ระบุ:

final Locale locale = new Locale("en", "DE");
Locale.setDefault(locale);

// set Locale for Aspose Email lib
LocaleOptions.setLocale("en-US");
// or
//LocaleOptions.setLocale(new Locale("en", "US"));

MailMessage.load("document.msg");

โค้ดนี้ทำให้แน่ใจว่าแอปพลิเคชันและไลบรารี Aspose.Email ใช้ locale ที่ระบุสำหรับการจัดการภาษา ประเทศ และขนบธรรมเนียมวัฒนธรรม

ข้อความอีเมลที่มีไฟล์แนบ TNEF

Transport Neutral Encapsulation Format (TNEF) เป็นรูปแบบไฟล์แนบอีเมลที่เป็นกรรมสิทธิ์ใช้โดย Microsoft Outlook และ Microsoft Exchange Server API ของ Aspose.Email อนุญาตให้คุณอ่านข้อความอีเมลที่มีไฟล์แนบ TNEF และแก้ไขเนื้อหาของมัน จากนั้นอีเมลสามารถบันทึกเป็นอีเมลปกติหรือรูปแบบเดียวกันโดยคงไฟล์แนบ TNEF บทความนี้แสดงตัวอย่างโค้ดต่างๆ สำหรับการทำงานกับข้อความที่มีไฟล์แนบ TNEF.

อ่านข้อความโดยคงไฟล์แนบ TNEF

โค้ดตัวอย่างต่อไปนี้แสดงวิธีอ่านข้อความโดยคงทิ้งไฟล์แนบ TNEF

อัปเดตทรัพยากรในไฟล์แนบ TNEF และคงรูปแบบ TNEF

โค้ดตัวอย่างต่อไปนี้แสดงวิธีอัปเดตทรัพยากรในไฟล์แนบ TNEF และคงรูปแบบ TNEF

เพิ่มไฟล์แนบใหม่ไปยังข้อความหลักที่มี TNEF

สร้าง TNEF EML จาก MSG

ไฟล์ MSG ของ Outlook บางครั้งมีข้อมูลเช่นตารางและสไตล์ข้อความที่อาจเสียหายหากแปลงเป็น EML การสร้างข้อความ TNEF จากไฟล์ MSG ดังกล่าวทำให้เรารักษาการจัดรูปแบบและแม้กระทั่งส่งข้อความเหล่านี้ผ่านไคลเอนต์อีเมลโดยคงรูปแบบเดิม. 

เพื่อสร้าง TNEF สามารถใช้โค้ดตัวอย่างต่อไปนี้.

ตรวจจับว่าข้อความเป็น TNEF หรือไม่

ประมวลผลข้อความที่ตีกลับ

เป็นเรื่องปกติที่ข้อความที่ส่งถึงผู้รับอาจถูกตีกลับด้วยเหตุผลใดๆ เช่น ที่อยู่ผู้รับไม่ถูกต้อง. Aspose.Email API มีความสามารถในการประมวลผลข้อความดังกล่าวเพื่อตรวจสอบว่าเป็นอีเมลตีกลับหรือเป็นอีเมลปกติ. The ตรวจสอบอีเมลตีกลับ เมธอดของ MailMessage คลาสจะคืนผลลัพธ์ที่ถูกต้องหากข้อความอีเมลเป็น bounced email.

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

ละเว้นข้อยกเว้น

ไลบรารีมี ExceptionManager คลาสสำหรับนำความสามารถในการละเว้นข้อยกเว้นเข้าสู่ฟังก์ชันการทำงานของแอปพลิเคชันของคุณ. โค้ดตัวอย่างด้านล่างแสดงวิธีตั้งค่า callback เพื่อตอบสนองข้อยกเว้น:

 ExceptionManager.setIgnoreExceptionsHandler( new IgnoreExceptionsCallback() {

   //exception path: {Module}\{Method}\{Action}\{GUID}

   //example: MailMessage\Load\DecodeTnefAttachment\64149867-679e-4645-9af0-d46566cae598

   public boolean invoke(AsposeException ex, String path) {

       //Ignore all exceptions on MailMessage.Load

       return path.equals("MailMessage\\Load");

   }

});

หรือใช้ ทางเลือก:

 ExceptionManager.setIgnoreAll(true);

คุณยังสามารถตั้งค่าฟังก์ชัน callback สำหรับ บันทึกข้อยกเว้นที่ละเลย:

ExceptionManager.setIgnoreExceptionsLogHandler( new IgnoreExceptionsLogCallback() {

   public void invoke(String message) {

        System.out.println("=== EXCEPTION IGNORED === " + message);

   }

});

ผู้ใช้จะได้รับการแจ้งว่า สามารถละเลยข้อยกเว้นนี้ได้โดยข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น:

ข้อยกเว้นในข้อความ:

AsposeArgumentException: properties should not be empty.

หากต้องการละเว้นข้อยกเว้นและต้องการดำเนินการต่อสามารถใช้ได้:

ExceptionManager.getIgnoreList().add("MailMessage\\Load\\DecodeTnefAttachment\\64149867-679e-4645-9af0-d46566cae598")

Invalid TNEF Attachment will be interpreted as regular attachment.

ตัววิเคราะห์สแปมแบบเบย์ส

Aspose.Email ให้ความสามารถในการกรองอีเมลโดยใช้ตัววิเคราะห์สแปมแบบเบย์ส. มันให้ SpamAnalyzer คลาสสำหรับจุดประสงค์นี้. บทความนี้แสดงวิธีการฝึกตัวกรองให้แยกระหว่างสแปมและอีเมลปกติโดยอ้างอิงจากฐานข้อมูลคำ.

การรับส่วนเปิดต้นและส่วนต่อท้ายจากข้อความ EML

ในรูปแบบ MIME, preamble คือข้อความที่ปรากฏหลังส่วนหัวและก่อนขอบเขต multipart แรก. epilogue คือข้อความที่ปรากฏหลังขอบเขตสุดท้ายและก่อนจบข้อความ. ข้อความนี้มักไม่แสดงให้ผู้ใช้เห็นในโปรแกรมอ่านเมล, แต่การนำไปใช้ของ MIME บางตัวอาจใช้เพื่อแทรกหมายเหตุสำหรับผู้รับที่อ่านข้อความด้วยโปรแกรมที่ไม่สอดคล้องกับ MIME.

โค้ดตัวอย่างต่อไปนี้แสดงวิธีการรับส่วนเปิดต้นและส่วนต่อท้ายจากข้อความ EML ซึ่งสามารถทำได้ด้วยเมธอดที่สอดคล้องของ MailMessage คลาส:

// Gets or sets a preamble text.
public String getPreamble, setPreamble

// Gets or sets an epilogue text.
public String getEpilogue, setEpilogue