ارسال ایمیل در پایتون

ایمیل های خودکار به طور گسترده ای برای ارسال اعلان ها یا پیام های دیگر به مشترکین استفاده می شوند. همچنین ایمیل های مختلفی بر اساس اعمال یا رفتار کاربران راه اندازی می شوند. به منظور پیاده سازی اتوماسیون ایمیل، این مقاله نحوه ارسال ایمیل از طریق SMTP در پایتون را پوشش می دهد. علاوه بر این، نحوه ایجاد یک پیام ایمیل با متن ساده یا بدنه HTML را از ابتدا نشان خواهیم داد.

کتابخانه پایتون برای ارسال ایمیل از طریق SMTP

برای ایجاد و ارسال ایمیل با استفاده از SMTP، از Aspose.Email for Python via .NET استفاده می کنیم. این یک کتابخانه قدرتمند پایتون است که به شما امکان می دهد کلاینت های ایمیل غنی از ویژگی ها را پیاده سازی کنید. با استفاده از دستور زیر می توانید API را از PyPI نصب کنید.

pip install Aspose.Email-for-Python-via-NET

یا می توانید مراحل زیر را برای نصب دستی دنبال کنید.

  • فایل .whl قابل نصب را از قسمت دانلودها دانلود کنید.
  • از خط فرمان، از دستور استفاده کنید: pip install «FileName> >.whl برای نصب API.
  • یک بسته کامل از نمونه کد منبع را از GitHub دانلود کنید.

ارسال ایمیل از طریق SMTP در پایتون

در زیر مراحل ایجاد و ارسال ایمیل از طریق SMTP در پایتون آمده است.

  • یک شی از کلاس MailMessage ایجاد کنید.
  • آدرس موضوع، متن، فرستنده و گیرنده را تنظیم کنید.
  • Cc یا Bcc (اختیاری) را تنظیم کنید.
  • یک کلاینت SMTP جدید با استفاده از کلاس SmtpClient ایجاد کنید و میزبان، پورت، نام کاربری و رمز عبور را تنظیم کنید.
  • گزینه های امنیتی را تنظیم کنید
  • با استفاده از روش SmtpClient.send(MailMessage) ایمیل ارسال کنید.

نمونه کد زیر نحوه ایجاد و ارسال ایمیل در پایتون را نشان می دهد.

# ایجاد پیام ایمیل
eml = ae.MailMessage()
eml.subject = "Message with Plain Text Body"
eml.body = "This is plain text body."
eml.from_address = "from@gmail.com"
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))

# کلاینت SMTP ایجاد کنید
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO

# ایمیل بفرست
client.send(eml)

ارسال ایمیل با HTML Body در پایتون

در زیر مراحل ارسال ایمیل با بدنه HTML در پایتون آمده است.

  • یک شی از کلاس MailMessage ایجاد کنید.
  • بدنه ایمیل را با استفاده از ویژگی MailMessage.bodyhtml تنظیم کنید.
  • ویژگی MailMessage.isbodyhtml را روی true تنظیم کنید.
  • آدرس موضوع، فرستنده و گیرنده را اختصاص دهید.
  • Cc یا Bcc (اختیاری) را تنظیم کنید.
  • یک کلاینت SMTP جدید با استفاده از کلاس SmtpClient ایجاد کنید و میزبان، پورت، نام کاربری و رمز عبور را تنظیم کنید.
  • با استفاده از روش SmtpClient.send(MailMessage) ایمیل ارسال کنید.

نمونه کد زیر نحوه ارسال ایمیل با بدنه HTML در پایتون را نشان می دهد.

# ایجاد پیام ایمیل با بدنه HTML
eml = ae.MailMessage()
eml.subject = "Message with Plain Text Body"
eml.is_body_html = True
eml.html_body = "<html><body>This is the <b>HTML</b>body</body></html>"
eml.from_address = "from@gmail.com"
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))

# کلاینت SMTP ایجاد کنید
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO

# ایمیل بفرست
client.send(eml)

کد پایتون برای ارسال ایمیل های انبوه

در زیر مراحل ارسال ایمیل انبوه در پایتون آمده است.

  • چندین پیام ایمیل را با استفاده از کلاس MailMessage ایجاد کنید و ویژگی های آنها را مانند موضوع، گیرندگان و غیره تنظیم کنید.
  • یک شی از کلاس MailMessageCollection ایجاد کنید.
  • با استفاده از روش MailMessageCollection.append(MailMessage) پیام های ایمیل را به مجموعه اضافه کنید.
  • یک کلاینت SMTP جدید با استفاده از کلاس SmtpClient ایجاد کنید و میزبان، پورت، نام کاربری و رمز عبور را تنظیم کنید.
  • با استفاده از روش SmtpClient.send(MailMessageCollection) ایمیل ارسال کنید.

نمونه کد زیر نحوه ارسال ایمیل های انبوه از طریق SMTP در پایتون را نشان می دهد.

# چندین پیام ایمیل ایجاد کنید
message1 = MailMessage("from@gmail.com", "to@gmail.com", "Sending Bulk Emails using Aspose.Email", "message1, how are you?")
message2 = MailMessage("from@gmail.com", "to@gmail.com", "Sending Bulk Emails using Aspose.Email", "message2, how are you?")
message3 = MailMessage("from@gmail.com", "to@gmail.com", "Sending Bulk Emails using Aspose.Email", "message3, how are you?")

# افزودن پیام به مجموعه
manyMsg =  MailMessageCollection()
manyMsg.append(message1)
manyMsg.append(message2)
manyMsg.append(message3)

# کلاینت SMTP ایجاد کنید
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO

# ارسال ایمیل
client.send(manyMsg)

نحوه فوروارد کردن یک پیام ایمیل در پایتون

مراحل زیر برای ارسال پیام ایمیل در پایتون آمده است.

  • با استفاده از روش MailMessage.load (String fileName) پیام ایمیل را در یک شی بارگیری کنید.
  • آدرس گیرنده را تنظیم کنید
  • با استفاده از کلاس SmtpClient یک کلاینت SMTP ایجاد کنید.
  • پیام را با استفاده از روش SmtpClient.forward() فوروارد کنید.

نمونه کد زیر نحوه ارسال یک پیام ایمیل در پایتون را نشان می دهد.

# پیام ایمیل را بارگیری کنید تا فوروارد شود
eml = MailMessage.load("Message.eml")

# گیرنده را تنظیم کنید
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))

# با استفاده از Smtp Client ارسال کنید
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
client.forward("Recipient1@domain.com", "Recipient2@domain.com", eml)

کتابخانه پایتون برای ارسال ایمیل - مجوز رایگان دریافت کنید

می توانید یک [مجوز موقت رایگان] دریافت کنید و بدون محدودیت ارزیابی از طریق SMTP ایمیل ارسال کنید.

Aspose Email Library for Python - Live Demo

نتیجه

در این مقاله نحوه ایجاد و ارسال ایمیل از طریق SMTP در پایتون را یاد گرفتید. علاوه بر این، نحوه ارسال ایمیل های انبوه با متن ساده یا بدنه HTML را به صورت برنامه نویسی دیده اید. می‌توانید با استفاده از مستندات درباره API ایمیل پایتون بیشتر کاوش کنید. در صورت داشتن هرگونه سوال یا سوال، از طریق [تالار گفتمان7 ما را در جریان بگذارید.

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