คุณสมบัติเครื่องมือ - MailMessage
การเข้ารหัสและถอดรหัสข้อความ
Aspose.Email มีฟีเจอร์เพื่อเข้ารหัสและถอดรหัสข้อความอีเมล หัวข้อนี้แสดงวิธีโหลดและเข้ารหัสข้อความที่มีอยู่หรือใหม่โดยใช้ MailMessage. ส่วน encrypt() และ decrypt() เมธอดเหล่านี้คืนอ็อบเจกต์ MailMessage สำหรับผลลัพธ์ที่นำไปใช้และต้องระมัดระวังขณะเข้ารหัส/ถอดรหัสข้อความ การเข้ารหัสและถอดรหัสข้อความประกอบด้วยขั้นตอนต่อไปนี้:
- สร้างข้อความใหม่หรือโหลดข้อความที่มีอยู่
- เข้ารหัสข้อความโดยใช้ไฟล์ใบรับรอง
- ส่งข้อความหรือบันทึกมัน
- ถอดรหัสข้อความตามต้องการ
โค้ดตัวอย่างต่อไปนี้แสดงวิธีเข้ารหัสและถอดรหัสข้อความ.
ตรวจสอบข้อความว่ามีการเข้ารหัสหรือไม่
Aspose.Email MailMessage คลาสอนุญาตให้ตรวจสอบข้อความว่ามีการเข้ารหัสหรือไม่ isEncrypted คุณสมบัติของ MailMessage อนุญาตให้ตรวจสอบสิ่งนี้ตามตัวอย่างโค้ดต่อไปนี้.
การเข้ารหัสข้อความด้วย X509Certificate
Aspose.Email มี API สำหรับทำงานกับข้อความที่เข้ารหัสด้วย X509Certificate:
MailMessage คลาสมีเมธอดต่อไปนี้สำหรับทำงานกับการเข้ารหัสข้อความ:
- public MailMessage attachSignature(X509Certificate2 certificate, boolean detached) - สร้างข้อความที่ลงลายเซ็น.
- public MailMessage attachSignature(X509Certificate2 certificate) - สร้างข้อความที่ลงลายเซ็น.
- public X509Certificate2[] checkSignatureCert() - ตรวจสอบลายเซ็นของ MailMessage ที่มีอยู่.
- public MailMessage decrypt(X509Certificate2 certificate)
- public MailMessage encrypt(X509Certificate2 certificate)
- public MailMessage encrypt(X509Certificate2[] certificates)
กำหนดค่าตัวเลือก 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 คลาส:
- setPreamble(String value) - รับหรือกำหนดข้อความส่วนเปิดต้น.
- setEpilogue(String value) - รับหรือกำหนดข้อความส่วนต่อท้าย.
// Gets or sets a preamble text.
public String getPreamble, setPreamble
// Gets or sets an epilogue text.
public String getEpilogue, setEpilogue