การจัดการขั้นสูงของข้อความอีเมล
ติดตามความคืบหน้าการแปลงเอกสาร
Aspose.Email มีฟีเจอร์เพื่อการติดตามความคืบหน้าการแปลงเอกสาร สำหรับสิ่งนี้ API มีให้ SaveOptions.CustomProgressHandler. ซึ่งเป็นเมธอดที่จัดการเหตุการณ์ความคืบหน้า ประเภทของเหตุการณ์ความคืบหน้าถูกแทนด้วย ProgressEventType enumeration. The ProgressEventType enumeration มีสมาชิกต่อไปนี้.
- MimeStructureCreated: เหตุการณ์นี้แจ้งว่ารูปแบบ mime ได้ถูกสร้างขึ้น.
- MimePartSaved: เหตุการณ์นี้แจ้งว่าการบันทึกส่วน mime หนึ่งเสร็จสมบูรณ์.
- SavedToStream: เหตุการณ์นี้แจ้งว่าทุกส่วนของ mime ถูกบันทึกลงสตรีม.
โค้ดตัวอย่างต่อไปนี้แสดงการใช้ของ SaveOptions.CustomProgressHandler และ ProgressEventType enumeration ติดตามความคืบหน้าการแปลงเอกสาร.
ต่อไปนี้คือโค้ดของคลาสที่กำหนดเองที่ใช้ในตัวอย่างโค้ดที่ให้ไว้ข้างต้น.
แสดงไฮเปอร์ลิงก์ด้วยสไตล์ที่กำหนดเอง
บางครั้งคุณอาจต้องการแสดงลิงก์ด้วยสไตล์เฉพาะตามความต้องการของแอปพลิเคชัน ของสำหรับนั้น Aspose.Email มีให้ HyperlinkRenderingCallback. คุณสามารถส่งค่า HyperlinkRenderingCallback เป็นพารามิเตอร์ของ MailMessage.GetHtmlBodyText.
โค้ดสแนปต่อไปนี้แสดงวิธีใช้ HyperlinkRenderingCallback เพื่อแสดงไฮเปอร์ลิงก์โดยใช้สไตล์ที่กำหนดเองของคุณ.
แสดงข้อมูลในลำดับที่กำหนดเองในไฟล์ MHTML
Aspose.Email ให้บริการ MhtSaveOptions.RenderingHeaders คุณสมบัติที่คืนค่ารายการส่วนหัวสำหรับการแสดงผล คุณสามารถเพิ่มส่วนหัวโดยใช้ MhtTemplateName คลาส ลำดับที่ส่วนหัวถูกเพิ่มจะกำหนดลำดับการแสดงข้อมูล
ภาพต่อไปนี้เปรียบเทียบผลลัพธ์สามแบบที่สร้างโดยโค้ดตัวอย่าง

ตัวอย่างโค้ดต่อไปนี้สาธิตการใช้ MhtSaveOptions.RenderingHeaders คุณสมบัติเพื่อกำหนดลำดับที่จะแสดงข้อมูลในไฟล์ MHTML ที่ส่งออก
แสดงผู้เข้าร่วมที่เป็นตัวเลือกในไฟล์ MHT
เมื่อต้องทำงานกับรูปแบบ MHT คุณสามารถแสดงหรือซ่อนข้อมูลของผู้เข้าร่วมที่เป็นตัวเลือกในส่วนหัวของเหตุการณ์ปฏิทิน เพื่อกำหนดค่า MhtSaveOptions สำหรับการจัดการไฟล์ MHT คุณต้องเข้าใจว่า MhtFormatOptions.RenderCalendarEvent และ MhtFormatOptions.WriteHeader พารามิเตอร์ทำงานในการปรับแต่งผลลัพธ์ตามความต้องการของคุณ โดยเฉพาะเมื่อจัดการการแสดงผู้เข้าร่วมที่เป็นตัวเลือก.
-
MhtFormatOptions.RenderCalendarEvent: พารามิเตอร์นี้ควบคุมว่ารายละเอียดของเหตุการณ์ปฏิทินจะถูกเรนเดอร์ในไฟล์ MHT หรือไม่ โดยการตั้งค่าตัวเลือกนี้ คุณจะแน่ใจว่าข้อมูลเหตุการณ์อย่างครบถ้วน รวมถึงรายละเอียดของผู้เข้าร่วม ถูกใส่ในผลลัพธ์ ซึ่งเป็นสิ่งสำคัญสำหรับการให้เอกสารเหตุการณ์ปฏิทินอย่างเต็มรูปแบบ.
-
MhtFormatOptions.WriteHeader: พารามิเตอร์นี้กำหนดว่าต้องใส่ส่วนหัวที่มีเมทาดาต้าเช่น หัวเรื่อง, วันที่, และข้อมูลผู้เข้าร่วม (รวมถึงผู้เข้าร่วมที่เป็นตัวเลือก หากกำหนด) ลงในไฟล์ MHT หรือไม่ การเปิดใช้งานตัวเลือกนี้ทำให้ข้อมูลที่เกี่ยวข้องกับบริบทรวมอยู่ในข้อความของคุณ เพิ่มความเข้าใจ.
ตัวอย่างโค้ดด้านล่างแสดงวิธีใช้ฟีเจอร์ display optional attendees ขณะบันทึก msg ในรูปแบบ mhtml:
MhtSaveOptions options = new MhtSaveOptions()
{
MhtFormatOptions = MhtFormatOptions.RenderCalendarEvent | MhtFormatOptions.WriteHeader
};
MailMessage eml = MailMessage.Load(fileName);
eml.Save(fileName + ".mhtml", options);
หากคุณต้องการละเว้นข้อมูลของผู้เข้าร่วมที่เป็นตัวเลือกจากไฟล์ MHT เพียงลบเทมเพลตฟอร์แมตสำหรับ OptionalAttendees ก่อนบันทึก:
//if you need to skip OptionalAttendees in mhtml file you can clear format template for OptionalAttendees
options.FormatTemplates[MhtTemplateName.OptionalAttendees] = "";
msg.Save(fileName + "2.mhtml", options);
บันทึกส่วนหัวทั้งหมดใน MHTML
นี้ MhtSaveOptions.SaveAllHeaders คุณสมบัติของ MhtSaveOptions คลาสกำหนดว่าจำเป็นต้องบันทึกส่วนหัวทั้งหมดใน mhtml ผลลัพธ์หรือไม่ ตัวอย่างโค้ดต่อไปนี้แสดงวิธีบันทึกส่วนหัวทั้งหมดของไฟล์ mhtml:
var eml = MailMessage.Load("message.eml");
var sopt = SaveOptions.DefaultMhtml;
sopt.SaveAllHeaders = true;
eml.Save("message.mhtml", sopt);
ประมวลผลข้อความที่ตีกลับ
เป็นเรื่องปกติที่ข้อความที่ส่งถึงผู้รับอาจถูกตีกลับด้วยเหตุผลใดๆ เช่น ที่อยู่ผู้รับไม่ถูกต้อง. Aspose.Email API มีความสามารถในการประมวลผลข้อความดังกล่าวเพื่อตรวจสอบว่าเป็นอีเมลตีกลับหรือเป็นอีเมลปกติ. The ตรวจสอบอีเมลตีกลับ เมธอดของ MailMessage คลาสคืนค่าที่ถูกต้องหากข้อความอีเมลเป็นอีเมลที่ Bounce บทความนี้แสดงวิธีใช้ของ BounceResult คลาสที่ให้ความสามารถในการตรวจสอบว่าข้อความเป็นอีเมลติดBounce หรือไม่ นอกจากนี้ยังให้ข้อมูลละเอียดเกี่ยวกับผู้รับ การกระทำที่ทำ และสาเหตุของการแจ้งเตือน ตัวอย่างโค้ดต่อไปนี้แสดงวิธีประมวลผลข้อความที่ Bounce.
ตัววิเคราะห์สแปมแบบเบย์ส
Aspose.Email มีฟีเจอร์การกรองอีเมลโดยใช้ตัววิเคราะห์สแปมแบบเบย์เซียน ซึ่งให้ SpamAnalyzer คลาสสำหรับวัตถุประสงค์นี้ บทความนี้แสดงวิธีฝึกฟิลเตอร์ให้แยกแยะระหว่างอีเมลสแปมและอีเมลปกติโดยอิงฐานข้อมูลคำ.
รับ Preamble และ Epilogue จากข้อความ EML
ข้อความอีเมลอาจมีข้อมูลที่ซ่อนอยู่เป็นข้อความธรรมดาก่อนส่วนเนื้อความของข้อความ (เช่น preamble) หรือหลังเนื้อความ (เช่น epilogue) ซึ่งมักเป็นข้อมูลหรือบริบทเพิ่มเติมให้ผู้รับก่อนหรือหลังที่พวกเขาอ่านเนื้อหาหลักของอีเมล คุณสามารถรับข้อมูลนี้ได้โดยใช้ MailMessage.Preamble หรือ/และ MailMessage.Epilogue คุณสมบัติตามลำดับ.
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีรับข้อความ preamble และ epilogue:
// Gets or sets a preamble text.
public string Preamble
// Gets or sets an epilogue text.
public string Epilogue
การติดตามอีเมลโดยใช้ MDN และใบรับรองการอ่าน
Aspose.Email API ให้การสนับสนุนการติดตามอีเมลโดยใช้ Message Disposition Notification (MDN) ซึ่งทำได้โดยการขอใบรับรองการอ่านและสร้างข้อมูลที่ต้องการ. The MailMessage.ReadReceiptTo คุณสมบัติที่รับหรือกำหนดที่อยู่ของใบรับรองการอ่าน. The CreateReadReceipt และ ReadReceiptRequested เมธอดถูกใช้เพื่อสร้างและดึงข้อมูลว่ามีการร้องขอใบรับรองการอ่านหรือไม่ ตัวอย่างโค้ดต่อไปนี้แสดงวิธีติดตามอีเมลโดยใช้ Aspose.Email API.