ایجاد و تنظیم محتویات ایمیل‌ها در C++ و ارسال ایمیل با استفاده از SmtpClient

ایجاد پیام ایمیل جدید

کلاس MailMessage نمایانگر یک پیام ایمیل است و به توسعه‌دهندگان اجازه می‌دهد پیام ایمیل جدیدی ایجاد کنند. ویژگی‌های پایه ایمیل مانند From، To، Subject و body می‌توانند به‌ آسانی به پیام ایمیل جدید افزوده شوند. به‌ همان شکل می‌توانیم پیام ایمیل را در قالب‌های مختلفی مانند EML، MSG و MHTML ذخیره کنیم.

<a name="csharp-create-new-email-msg" id="csharp-create-new-email-msg">مراحل: ایجاد پیام ایمیل جدید در C#

  • یک نمونه از کلاس MailMessage ایجاد کنید.
  • ویژگی‌های پیام ایمیل را تنظیم کنید.
  • پیام ایمیل را در فرمت‌های مختلف ذخیره کنید.
  • یک نمونه از کلاس SmtpClient ایجاد کنید و ایمیل را با استفاده از متد Send ارسال کنید.

قطعه کد C++ زیر نشان می‌دهد چگونه یک ایمیل جدید با ویژگی‌های مختلف ایجاد کنید.

تغییر آدرس‌های ایمیل به نام دوستانه

نمونه‌های برنامه‌نویسی زیر نشان می‌دهند چگونه آدرس‌های ایمیل را به نام‌های دوستانه در یک پیام ایمیل تبدیل کنیم. یک نام دوستانه نامی است که برای افراد انسانی قابل‌خواناتر باشد، به عنوان مثال John Smith به‌جای js346@domain.com. هنگام ارسال ایمیل می‌توانیم یک نام دوستانه را با آدرس ایمیل در سازنده کلاس MailMessage مرتبط کنیم.

برای تغییر آدرس‌های ایمیل به نام‌های دوستانه در یک پیام ایمیل، مراحل زیر را دنبال کنید:

  • یک نمونه از کلاس MailMessage ایجاد کنید و آدرس‌های ایمیل را در فیلدهای To و From همراه با نام‌های دوستانه مشخص کنید.
  • آدرس‌های ایمیل Cc و Bcc را همراه با نام‌های دوستانه با فراخوانی سازنده کلاس MailMessage در نمونه MailMessage مشخص کنید.
  • یک نمونه از کلاس SmtpClient ایجاد کنید و ایمیل را با استفاده از متد Send ارسال کنید.

قطعه کد زیر نشان می‌دهد چگونه نام‌ها برای آدرس‌های ایمیل نمایش داده شوند.

تنظیم بدنه ایمیل

کلاس MailMessage نمایانگر یک پیام ایمیل است. نمونه‌های کلاس MailMessage برای ساخت پیام‌های ایمیلی استفاده می‌شوند که به سرور SMTP برای تحویل ارسال می‌شوند. بدنه ایمیل می‌تواند با استفاده از کلاس MailMessage مشخص شود. یک ایمیل می‌تواند چندین بدنه داشته باشد. در کلاس MailMessage دو نوع بدنه ایمیل وجود دارد:

  • بدنه HTML
  • بدنه متن

علاوه بر HtmlBody و TextBody، Aspose.Email دو ویژگی فقط‌خواندنی دیگر مرتبط با بدنه ایمیل دارد:

  • IsBodyText: به کاربر می‌گوید بدنه متن است.
  • IsBodyHtml: به کاربر می‌گوید بدنه HTML است یا متن ساده.

این مقاله نشان می‌دهد چگونه متن ساده یا متن بدنه HTML را تعریف کنید، متن جایگزین تنظیم کنید و بدنه ایمیل را رمزگذاری کنید.

تنظیم بدنه HTML

HtmlBody برای مشخص کردن محتوای HTML بدنه پیام استفاده می‌شود. HtmlBody باید بین برچسب‌های قرار گیرد. قطعه کد زیر نشان می‌دهد چگونه بدنه HTML را تنظیم کنید.

تنظیم متن جایگزین

از کلاس AlternateView برای تعیین نسخه‌های یک پیام ایمیل در قالب‌های مختلف استفاده کنید. برای مثال، اگر پیامی را به‌صورت HTML می‌فرستید، ممکن است بخواهید یک نسخه متن ساده نیز فراهم کنید تا در صورتی که برخی دریافت‌کنندگان ایمیل‌خوان‌هایی داشته باشند که قادر به نمایش محتوای HTML نباشند، استفاده کنند. این کلاس دو ویژگی LinkedResources و BaseUri دارد که برای حل URLها داخل محتوای ایمیل به کار می‌روند.

  • LinkedResources مجموعه‌ای از اشیاء LinkedResources است. هنگام رندر شدن، URLهای داخل محتوای ایمیل ابتدا با URLهای موجود در Content Link هر شیء LinkedResources در مجموعه LinkedResources مقایسه و حل می‌شوند.
  • BaseUri توسط خواننده ایمیل برای حل URLهای نسبی داخل بدنه استفاده می‌شود و همچنین برای حل URLهای لینک محتوای نسبی، در مجموعه LinkedResources.

قطعه کد C++ زیر نشان می‌دهد چگونه متن جایگزین تنظیم شود.