مدیریت پیشرفته پیام‌های ایمیل

پیگیری پیشرفت تبدیل سند

Aspose.Email امکان پیگیری پیشرفت تبدیل سند را فراهم می‌کند. برای این منظور، API ارائه می‌دهد SaveOptions.CustomProgressHandler. که نشان‌دهنده روشی است که رویدادهای پیشرفت را مدیریت می‌کند. انواع رویداد پیشرفت توسط ProgressEventType شمارش. The ProgressEventType شمارش دارای اعضای زیر است.

  • MimeStructureCreated: این رویداد اطلاع می‌دهد که ساختار mime ایجاد شده است.
  • MimePartSaved: این رویداد اطلاع می‌دهد که ذخیره یک بخش mime به پایان رسیده است.
  • SavedToStream: این رویداد اطلاع می‌دهد که تمام بخش‌های mime به جریان ذخیره شده‌اند.

کد نمونه زیر استفاده از SaveOptions.CustomProgressHandler و ProgressEventType شمارشی که پیشرفت تبدیل سند را ردیابی می‌کند.

کد زیر مربوط به کلاس سفارشی است که در نمونه کد بالا استفاده شد.

رندر پیوندها با سبک‌های سفارشی

ممکن است زمان‌هایی باشد که نیاز به خروجی‌دادن پیوندها با سبک خاصی بر اساس نیازهای برنامه‌تان داشته باشید. برای این منظور، Aspose.Email فراهم می‌کند HyperlinkRenderingCallback. می‌توانید پاس دهید HyperlinkRenderingCallback به‌عنوان پارامتر برای MailMessage.GetHtmlBodyText.

قطعه کد زیر نشان می‌دهد چگونه از HyperlinkRenderingCallback برای خروجی‌گیری از پیوندها با استفاده از سبک سفارشی خود.

نمایش اطلاعات به ترتیب سفارشی در فایل‌های MHTML

Aspose.Email ارائه می‌دهد MhtSaveOptions.RenderingHeaders ویژگی که لیست هدرها برای رندرینگ را برمی‌گرداند. می‌توانید هدرها را با استفاده از MhtTemplateName کلاس. ترتیبی که هدرها اضافه می‌شوند، ترتیب نمایش اطلاعات را تعیین می‌کند.

تصویر زیر سه خروجی تولید شده توسط کد نمونه را مقایسه می‌کند.

todo:image_alt_text

قطعه‌کد زیر نحوه استفاده از MhtSaveOptions.RenderingHeaders ویژگی برای تنظیم ترتیب نمایش اطلاعات در فایل‌های خروجی MHTML.

نمایش شرکت‌کنندگان اختیاری در فایل‌های MHT

هنگام کار با فرمت MHT، می‌توانید اطلاعات درباره شرکت‌کنندگان اختیاری را در سرصفحه رویدادهای تقویم نمایش یا مخفی کنید. برای پیکربندی MhtSaveOptions برای مدیریت فایل‌های MHT، باید درک کنید چگونه MhtFormatOptions.RenderCalendarEvent و MhtFormatOptions.WriteHeader پارامترها برای سفارشی‌سازی خروجی بر اساس نیازهای شما عمل می‌کنند، به‌ویژه هنگام مدیریت نمایش شرکت‌کنندگان اختیاری.

  • MhtFormatOptions.RenderCalendarEvent: این پارامتر کنترل می‌کند آیا جزئیات رویدادهای تقویمی در فایل MHT رندر شوند یا نه. با تنظیم این گزینه، اطمینان می‌یابید که اطلاعات جامع رویداد، شامل جزئیات شرکت‌کنندگان، در خروجی گنجانده می‌شود. این برای ارائه مستندات کامل از رویدادهای تقویمی ضروری است.

  • MhtFormatOptions.WriteHeader: این پارامتر تعیین می‌کند آیا سرصفحه‌های حاوی متادیتا مانند موضوع، تاریخ و اطلاعات شرکت‌کنندگان (از جمله شرکت‌کنندگان اختیاری، در صورت پیکربندی) در فایل MHT نوشته شوند یا خیر. فعال‌سازی این گزینه اطمینان می‌دهد که اطلاعات مرتبط با متن پیام همراه پیام شما باشد و درک آن را ارتقا می‌دهد.

نمونه کد زیر نشان می‌دهد چگونه از ویژگی نمایش شرکت‌کنندگان اختیاری هنگام ذخیره یک 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);

پردازش پیام‌های برگشتی

امکان دارد پیامی که به گیرنده ارسال می‌شود به دلایلی مانند آدرس نامعتبر گیرنده بازگردد. API Aspose.Email قابلیت پردازش چنین پیامی را برای بررسی اینکه آیا ایمیل برگشتی است یا پیام ایمیل عادی دارد. The بررسی ایمیل برگشتی متد از MailMessage کلاس اگر پیام ایمیل برگشت خورده باشد نتیجه معتبر برمی‌گرداند. این مقاله نحوه استفاده از BounceResult کلاسی که امکان بررسی اینکه آیا یک پیام ایمیل برگشت خورده است را فراهم می‌کند. همچنین اطلاعات جزئی در مورد گیرندگان، اقدام انجام شده و دلیل اعلان را ارائه می‌دهد. کد نمونه زیر نشان می‌دهد چگونه پیام‌های برگشت خورده را پردازش کنید.

تجزیه‌گر هرزنامه بیزی

Aspose.Email فیلتر ایمیل را با استفاده از تحلیلگر اسپم بیزی ارائه می‌دهد. این امکان را فراهم می‌کند SpamAnalyzer کلاس برای این منظور. این مقاله نشان می‌دهد چگونه فیلتر را برای تشخیص بین ایمیل‌های هرزنامه و عادی بر اساس پایگاه داده کلمات آموزش دهید.

دریافت پیش‌متن و پس‌متن از پیام‌های EML

یک پیام ایمیل ممکن است حاوی اطلاعات مخفی به صورت متن ساده قبل از بدنه پیام (یعنی پیش‌متن) یا پس از بدنه (یعنی پس‌متن) باشد. معمولاً این اطلاعات یا زمینهٔ اضافی برای گیرنده قبل یا بعد از خواندن محتوای اصلی ایمیل است. می‌توانید این اطلاعات را با استفاده از MailMessage.Preamble یا/و MailMessage.Epilogue ویژگی‌ها به ترتیب.

کد نمونه زیر نشان می‌دهد چگونه متن‌های پیش‌متن و پس‌متن را به دست آورید:

// Gets or sets a preamble text.
public string Preamble

// Gets or sets an epilogue text.
public string Epilogue

ردیابی ایمیل با استفاده از MDN و دریافت خواندن

API Aspose.Email پشتیبانی از ردیابی ایمیل را با استفاده از اعلان وضعیت پیام (MDN) فراهم می‌کند. این با درخواست دریافت‌های خواندن و ایجاد اطلاعات مورد نیاز حاصل می‌شود. The MailMessage.ReadReceiptTo ویژگی که آدرس دریافت خواندن تنظیم را دریافت یا تنظیم می‌کند. The CreateReadReceipt و ReadReceiptRequested متدها برای ایجاد و بازیابی اطلاعات اینکه آیا دریافت تایید خواندن درخواست شده است، مورد استفاده قرار می‌گیرند. کد نمونه زیر نشان می‌دهد چگونه با استفاده از Aspose.Email API ایمیل را ردیابی کنید.