文章目录
python发邮件
- 测试环境:python2.7、python3.7
vi python_sed_email.py
# -*- encoding:utf-8 -*-
import sys
import smtplib
import email
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.header import Header
def email_content(platform,contents):
mm = MIMEMultipart('related')
subject_content = """%s""" % platform
mm["From"] = "youremail<youremail@163.com>"
mm["To"] = "youremail<youremail@163.com>,xxx<xxx@qq.com>" # 默认发送给自己,xxx添加其他收件人
mm["Subject"] = Header(subject_content,'utf-8')
with open("{}".format(contents),"r") as f:
contents = f.read()
body_content = """%s""" % contents
message_text = MIMEText(body_content,"plain","utf-8")
mm.attach(message_text)
return mm
def email_sed(mm):
mail_host = "smtp.163.com"
mail_sender = "youremail@163.com"
mail_license = "xxxxxxxxx" # 授权码
mail_receivers = ["youremail<youremail@163.com>","xxx<xxx@qq.com>"] # xxx添加收件人
stp = smtplib.SMTP()
stp.connect(mail_host, 25)
stp.login(mail_sender,mail_license)
stp.sendmail(mail_sender, mail_receivers, mm.as_string())
print("邮件发送成功")
stp.quit()
if __name__ == "__main__":
if len(sys.argv) != 3:
print('Usage:python {} "[xxx-每日备份] 邮件通知" /root/backup_20200414.log'.format(sys.argv[0]))
sys.exit(2)
platform = sys.argv[1]
contents = sys.argv[2]
mm = email_content(platform,contents)
email_sed(mm)