Create MIME messages using C#

هنگام ارسال یک ایمیل، ممکن است به ارسال محتوای چندرسانه‌ای مانند تصاویر، صدا و ویدئو نیاز داشته باشید. اینجاست که پیام‌های MIME (افزونه‌های چندمنظوره اینترنتی) وارد عمل می‌شوند. در این مقاله، ما به بررسی چگونگی ایجاد EML پیام‌ها به‌طور برنامه‌نویسی در C# می‌پردازیم. در پایان این مقاله، شما درک درستی از چگونگی ایجاد پیام‌های MIME، افزودن تصاویر به محتوای HTML ایمیل و ذخیره ایمیل به فرمت EML خواهید داشت.

.NET API برای ایجاد پیام‌های MIME

قبل از اینکه اولین پیام MIME خود را ایجاد کنید، اولین قدم نصب Aspose.Email for .NET در پروژه شماست. این یک کتابخانه قدرتمند برای توسعه‌دهندگان C# است که مجموعه کاملی از ابزارها را برای کار با پیام‌های ایمیل، از جمله قابلیت ایجاد پیام‌های MIME به‌طور برنامه‌نویسی ارائه می‌دهد. این کتابخانه به توسعه‌دهندگان کمک می‌کند تا به‌راحتی جنبه‌های مختلف پیام‌های MIME، مانند پیوست، بدنه، هدر، کدگذاری و غیره را دستکاری کنند. شما می‌توانید این کتابخانه را از طریق NuGet نصب کنید یا DLL آن را دانلود کنید.

PM> Install-Package Aspose.Email

ایجاد یک فایل EML از ابتدا

از آنجایی که API شما نصب شده است، زمان آن رسیده که اولین eml خود را از ابتدا ایجاد کنید. یکی از ساده‌ترین راه‌ها برای انجام این کار استفاده از کلاس MailMessage از Aspose.Email است. کلاس MailMessage به شما امکان می‌دهد یک شیء پیام ایمیل با ویژگی‌ها و متدهای مختلف ایجاد کنید که به شما اجازه می‌دهد فرستنده، گیرندگان، موضوع، بدنه، پیوست‌ها، هدرها و سایر جزئیات ایمیل خود را تنظیم کنید.

مراحل زیر و یک کد نمونه به شما کمک می‌کند تا یک EML از ابتدا ایجاد کنید:

  • یک شیء جدید MailMessage با استفاده از سازنده پیش‌فرض ایجاد کنید.
  • ویژگی‌های شیء MailMessage را طبق نیازهای خود تنظیم کنید.
  • شیء MailMessage را با استفاده از متد Save به یک فایل EML ذخیره کنید.

متد Save از کلاس MailMessage دو پارامتر می‌گیرد: مسیر فایل و گزینه‌های ذخیره‌سازی. گزینه‌های ذخیره‌سازی فرمت فایل خروجی را مشخص می‌کنند.

افزودن یک تصویر به محتوای HTML

برای انجام این عملکرد، شما نیاز دارید که تصویر را در بدنه HTML جاسازی کنید. می‌توانید از تگ “img” برای این کار استفاده کنید.

کد نمونه زیر نشان می‌دهد که چگونه یک تصویر به بدنه HTML یک پیام اضافه کنید.

  • بدنه HTML شامل یک تگ تصویر با ویژگی منبعی که به cid:image1 تنظیم شده است.
  • کلاس AlternateView برای دریافت نمای جایگزین از بدنه پیام که تصویر جاسازی‌شده را شامل می‌شود، استفاده می‌شود.
  • کلاس LinkedResource برای نمایش تصویر جاسازی‌شده استفاده می‌شود و شناسه محتوای آن به image1 تنظیم می‌شود.
  • در نهایت، نمای جایگزین به مجموعه نمای جایگزین‌های پیام افزوده می‌شود.

ایجاد یک فایل EML از یک فایل HTML

یکی از راه‌ها برای انجام این کار این است که با یک فایل HTML شروع کنید و آن را به EML تبدیل کنید. این می‌تواند مفید باشد اگر شما یک HTML دارید که می‌خواهید به عنوان یک پیام ایمیل ارسال کنید. برای این منظور ابتدا باید محتوای HTML داشته باشیم. بیایید این فایل را content.html بنامیم. در اینجا یک مثال از آن است:

<!DOCTYPE html>
<html>
<head>
	<title>ایمیل من</title>
</head>
<body>
	<h1>سلام،</h1>
	<img src="logo.png" alt="لوگو">
	<p>این اولین ایمیل من است که از HTML ایجاد شده است.</p>
</body>
</html>

همچنین، شما باید پیش‌ازاین تمام تصاویری که شامل HTML هستند را آماده کنید و مسیر صحیح آن‌ها را در فایل HTML مشخص کنید.

حال، ما به راحتی می‌توانیم یک MailMessage ایجاد کنیم با تنظیم بدنه HTML از content.html.

  • ابتدا یک شیء جدید HtmlLoadOptions ایجاد کنید.
  • یک رشته که شامل مسیر تصاویر در PathToResources است را تنظیم کنید.
  • اگر EML باید شامل AlternateView با متن ساده باشد، ویژگی ShouldAddPlainTextView را به true تنظیم کنید.
  • یک شیء MailMessage با بارگذاری فایل HTML و انتقال شیء HtmlLoadOptions به عنوان پارامتر ایجاد کنید.
  • ویژگی‌های اضافی پیام را تنظیم کنید.
  • در نهایت، شیء MailMessage را با استفاده از متد Save به یک فایل EML ذخیره کنید.

نکاتی برای بهبود مشاهده پیام HTML در Outlook

برای مشاهده پیام HTML خود در Outlook، باید اطمینان حاصل کنید که کد آن با موتور رندرینگ Outlook سازگار است که با اکثر مرورگرهای وب متفاوت است. برخی از مشکلات رایج که ممکن است بر ایمیل HTML شما در Outlook تأثیر بگذارد عبارتند از:

  • Outlook از برخی از تگ‌ها و ویژگی‌های CSS، مانند تصاویر پس‌زمینه، شناور، حاشیه‌ها، فاصله‌ها و غیره پشتیبانی نمی‌کند. شما ممکن است نیاز داشته باشید از سبک‌های درون‌خطی، جدول‌ها یا نظرات شرطی برای دستیابی به طرح و قالب مطلوب استفاده کنید.
  • Outlook ممکن است فضای اضافی یا خطوط بین عناصر اضافه کند یا برخی عناصر را به‌طور کلی حذف کند. شما ممکن است نیاز داشته باشید از فاصله‌های غیرشکستنی، فاصله‌های بدون عرض یا سلول‌های جدول خالی برای جلوگیری از این کار استفاده کنید.
  • Outlook ممکن است کدگذاری یا مجموعه کاراکترهای فایل HTML شما را تغییر دهد که ممکن است باعث شود برخی کاراکترها به‌درستی نمایش داده نشوند. شما ممکن است نیاز داشته باشید تا کدگذاری و مجموعه کاراکترها را با استفاده از یک تگ متا در آن مشخص کنید.

نتیجه‌گیری

در این پست وبلاگ، شما یاد گرفتید چگونه پیام‌های MIME را به‌طور برنامه‌نویسی در C# با استفاده از Aspose.Email ایجاد کنید. آموزش مرحله به مرحله و نمونه‌های کد نشان دادند که چگونه یک فایل eml از ابتدا و از یک فایل HTML ایجاد کنید، یک تصویر به محتوای HTML پیام ایمیل اضافه کنید و تمامی موارد مذکور را با نکات مفید درباره بهبود مشاهده پیام HTML شما در Outlook پشتیبانی کنید.

  • شما می‌توانید بیشتر در مورد Aspose.Email for .NET کاوش کنید و آن را به‌صورت رایگان امتحان کنید.
  • همچنین می‌توانید ویژگی‌ها و قابلیت‌های بیشتری از Aspose.Email را در مستندات بررسی کنید.
  • سوالات شما در انجمن ما خوش آمدید.

همچنین ببینید