smtplib模块
python实现发邮件使用到的是smtplib模块。
import smtplib # smtp 服务
import email.mime.multipart # 处理邮件头部信息的函数
import email.mime.text # 处理发送的文本函数
emai_user = '19XXXXXXXXXX@163.com' # 发送者
emai_recver = '1XXXXXXXXX@qq.com' # 接收者
emai_passwd = 'XXXX' # 发送者的授权码
emai_server = 'smtp.163.com' # 服务器
message = email.mime.multipart.MIMEMultipart() # 创建一个空邮件-message
message['from'] = emai_user # 来自发送者
message['to'] = emai_recver # 发给接收者
message['subject'] = '测试报告——邮件' # 标题
"""邮件内容"""
content = """
昨夜西风凋碧树,独上高楼,望尽天涯路!!!
衣带渐宽终不悔,为伊消得人憔悴!!!
众里寻他千百度,蓦然回首,那人却在,灯火阑珊处
今天,又是新的一天,加油!!!
"""
content1 = email.mime.text.MIMEText(content) # 处理正文信息 不加1
message.attach(content1) # 把文本加入到邮件 不加1
"""添加附件att2"""
att2 = email.mime.text.MIMEText(open(r'a.text', 'rb').read(), 'base64', 'utf-8') # 添加附件,
att2["Content-Type"] = 'application/octet-stream' # 头部字段
att2["Content-Disposition"] = 'attachment;filename="a.text"' # 两个a.text都为文件路径。
message.attach(att2) # att2 为附件名,将附件名里的内容整到message中
smtp123 = smtplib.SMTP_SSL(emai_server, 465) # stmp+ssl
smtp123.login(emai_user, emai_passwd) # 登录 服务器
smtp123.sendmail(emai_user, emai_recver, message.as_string()) # 发送邮件 最后一个解释将邮件处理成一个字符串。
smtp123.close() # 结束。