# coding:utf-8 #強制使用utf-8編碼格式
import smtplib # 加載smtplib模塊
from email.mime.text import MIMEText
from email.utils import formataddr
from email.header import Header
#需要設(shè)置的內(nèi)容如下所示:
my_sender = 'xxx@163.com' # 發(fā)件人郵箱賬號,為了后面易于維護,所以寫成了變量
my_user = 'yyy@163.com' # 收件人郵箱賬號,為了后面易于維護,所以寫成了變量
my_authorization_code = '*********' #在開啟SMTP時的授權(quán)碼
my_smtp = 'smtp.163.com' #163的SMTP服務
my_smtp_port = 25 #163的SMTP服務的端口號
def mail():
ret = True
try:
msg = MIMEText('我是測試內(nèi)容', 'plain', 'utf-8')
msg['From'] = formataddr(["username", my_sender]) # 括號里的對應發(fā)件人郵箱昵稱、發(fā)件人郵箱賬號
msg['To'] = formataddr(["你的名稱", my_user]) # 括號里的對應收件人郵箱昵稱、收件人郵箱賬號
subject = 'Python SMTP 郵件測試'
msg['Subject'] = Header(subject, 'utf-8')
server = smtplib.SMTP(my_smtp, my_smtp_port) # 發(fā)件人郵箱中的SMTP服務器,端口是25
server.login(my_sender, my_authorization_code) # 括號中對應的是發(fā)件人郵箱賬號、在開啟SMTP時的授權(quán)碼
server.sendmail(my_sender, my_user, msg.as_string()) # 括號中對應的是發(fā)件人郵箱賬號、收件人郵箱賬號、發(fā)送郵件
server.quit() # 這句是關(guān)閉連接的意思
except Exception: # 如果try中的語句沒有執(zhí)行,則會執(zhí)行下面的ret=False
ret = False
return ret
ret = mail()
if ret:
print("發(fā)送郵件成功!") # 如果發(fā)送成功,稍等20秒左右就可以收到郵件
else:
print("發(fā)送郵件失敗")