برای اینکه برنامه بزرگ و گسترده بسازیم باید ویژگی های مهمی را به آن اضافه کنید. یکی از این ویژگی ها ارسال ایمیل است. برای مثال برای ثبت نام و با دادن اطلاعات به کاربر باید از ایمیل استفاده کنید.

برای ارسال ایمیل در Python باید ابتدا از کتابخانه ی smtplib استفاده کرد. ابتدا باید فانکشن SMTP را از کتابخانه ی smtplib فراخوانی کنیم:

from smtplib import SMTP

پس از آن باید یک سرور برای ارسال ایمیل بسازیم. برای این کار از SMTP استفاده می کنیم. توجه کنید که برای اتصال، ارسال رمز عبور و نام کاربری و ارسال ایمیل باید سرور را در یک متغیر قرار دهیم.

server=SMTP(localhost(str),port(int))

پارامتر ها:

loocalhost: این آرگومان smtp سرور مورد نظر را می گیرد.

port: این آرگومان پورت مورد نظر برای برقراری با سرور را می گیرد. پورت حساب gmail عدد 25 است. می توانید smtp ایمیل مورد نظر خود را از اینجا پیدا کنید.

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

servse.starttls()

سپس نام کاربری و رمز عبور ایمیل مورد نظر را برای سرور ارسال کنیم. برای این کار از متد login استفاده می کنیم:

server.login(username(str),password(str))

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

username: این آرگومان نام کاربری ایمیل فرستنده را می گیرد.

password: این آرگومان رمز ایمیل فرستنده را می گیرد.

در آخر هم ارسال کننده، دریافت کننده و متن مورد نظر را مشخص و ارسال کنیم. برای این کار از  متد sendmail استفاده می کنیم.

server.sendmail(sender(str),receivers(str or list),message(text))

متد sendmail دارای سه پارامتر می باشد:

sender: آدرس ایمیل فرستنده

receivers: آدرس ایمیل(های) دریافت کننده.

message: متن مورد نظر برای ارسال ایمیل. توجه کنید که ایمیل فارسی ارسال نمی شود.

برای قطع ارتباط با سرور هم می توانیم از کد زیر استفاده کنیم:

server.quit()

کد کامل:

from smtplib import SMTP
server=SMTP(localhost(str),port(int))
servse.starttls()
server.login(username(str),password(str))
server.sendmail(sender(str),receivers(str or list),message(str))
server.quit()

مثال:

from smtplib import SMTP
server=SMTP('smtp.gmail.com',25)
servse.starttls()
server.login('daneshgar.blog','********')
server.sendmail('daneshgar.blog@gmail.com',['alim.200281@chmail.ir','alim201381@gmail.com'],'hello daneshgar')
server.quit()