注:阿里云實(shí)例服務(wù)器默認(rèn)禁止了25端口,可通過465端口加密發(fā)送郵件
# -*- coding: utf-8 -*-
import smtplib
import email
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header
mail_info = {
"host": "smtp.xxx.com:465",
"sender": "xxx",
"license": "xxx",
"receivers": ["xxx.com", "xxx.com"]
}
def send_mail(subject, body):
"""
發(fā)送郵件
:subject : 郵件主題
:body : 郵件正文內(nèi)容
"""
host = mail_info.get("host")
sender = mail_info.get("sender")
mail_license = mail_info.get("license")
receivers = mail_info.get("receivers")
mm = MIMEMultipart('related')
mm["From"] = "invita<" + sender + ">"
mm["To"] = ";".join(receivers)
# 設(shè)置郵件主題
mm["Subject"] = Header(subject,'utf-8')
# 構(gòu)造文本:正文內(nèi)容,文本格式,編碼方式
message_text = MIMEText(body,"plain","utf-8")
# 向MIMEMultipart對象中添加文本對象
mm.attach(message_text)
try:
# 創(chuàng)建SMTP對象
stp = smtplib.SMTP_SSL(host)
stp.login(sender, mail_license)
stp.sendmail(sender, receivers, mm.as_string())
print("郵件發(fā)送成功")
except:
print("郵件發(fā)送失敗")
stp.quit()
if __name__ == "__main__":
"""發(fā)送郵件"""
send_mail("測試", "content")