ارسال ایمیل با پایتون!

زمان مطالعه: 20 دقیقه ویرایش: 1401/10/14

سلام!

توی این مقاله قراره که با پایتون برنامه‌ای بنویسیم که برامون ایمیل ارسال کنه 😋 پس با من همراه باشین :)

 

خب ما توی این برنامه قراره با پروتکل SMTP کار کنیم پس بهتره اطلاعاتی درباره‌ش داشته باشیم:

 

SMPT

SMPT مخفف Simple Mail Transfer Protocol هست که یکی از پروتکل‌های TCP/IP برای ارسال و دریافت ایمیل هست که ازش میتونیم برای ارسال ایمیل و مدیریت اونا استفاده کنیم و در حقیقت به ما اجازه میده که یک سرور SMTP درست کنیم ;)

برای استفاده SMPT توی پایتون، ماژولی به نام smtplib هست که باهاش میتونیم ارسال ایمیل رو انجام بدیم.

 

ساخت ایمیل

خب برای شروع باید این ماژول رو ایمپورت کنیم و نیازی به نصب اون نیست و البته به ماژول email هم نیاز داریم. پس مینویسیم:

import smtplib
from email.message import EmailMessage

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

email = EmailMessage()

حالا نیاز به آدرس فرستنده و گیرنده و یکسری اطلاعات دیگه داریم و باید اون رو به شئ‌مون(email) اضافه کنیم:

email['from'] = 'MyEmail@someDomain.com'
email['to'] = 'toEmail@someDomain.com'
email['subject'] = 'test'
email.set_content('This is the content of my email')

خب همونطور که میدونین در قسمت from باید آدرس فرستنده ایمیل، در قسمت to آدرس گیرنده ایمیل و در قسمت subject باید موضوع ایمیل خودتون رو بنویسین و در قسمت set_content هم باید محتوای ایمیلتون رو بنویسین که میتونه شامل متن و تصویر و HTML و ... باشه!

خب حالا شئ ایمیلمون کامل شده و باید بریم سراغ SMPT !

 

ارسال ایمیل با Gmail

***برای استفاده از سرور‌های Gmail، باید اول این قابلیت رو فعال کنیم.برای این کار به قسمت Account setting در حساب GMAIL خودتون برید و در اواخر صفحه گزینه ای به نام Less Secured Apps هست که اون رو باید فعال کنید.***

حتما دقت کنین که بعد از تموم شدن کارتون این رو دوباره غیر فعال کنین که فعال بودن این باعث میشه امنیت ایمیل شما یکم بیاد پایین

آدرس سرور smpt گوگل smtp.gmail.com هست پس host رو باید بر اساس اون تنظیم کنیم.حالا باید  port آدرس رو تنظیم کنیم که روی سرورهای SMTP عدد ۵۸۷ هست.خب حالا باید متد های ehlo و starttls رو استفاده کنیم تا سرور شروع به کار کنه. حالا متد login رو استفاده میکنیم تا به حساب ایمیلمون وارد بشیم و اطلاعات حساب Gmail خودمون رو به اون می دهیم. در آخر ایمیل رو با متد send_message ارسال می‌کنیم.

حالا با نوشتن و اجرای این کد میتونین ایمیل خودتون رو ارسال کنین!   

 

with smtplib.SMTP(host='smtp.gmail.com', port=587) as smtp:

    smtp.ehlo()

    smtp.starttls()

    smtp.login('youremail@gmail.com', 'yourpassword')

    smtp.send_message(email)

    print('OK')

خیلی ممنون که با من همراه بودین، اگه سوالی یا نکته‌ای هست حتما داخل نظرات مطرح کنین تا ما بهتون پاسخ بدیم.

 

اگه از مقاله خوشتون اومد لایک رو فراموش نکنید ;)
تا مقاله بعدی خدانگهدار



2
user نوشته شده توسط علی سلیمی برنامه نویس پایتون و جنگو


دیدگاه


برای ثبت دیدگاه، وارد شوید


user young man - 1400/11/28 18:07

مثل همیشه نایس


علی سلیمی: ممنون از شما :)