import smtplibfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartfrom email.header import Headermail_host = "smtp.163.com" # 设置服务器mail_user = "17731456887@163.com" # 用户名mail_pass = "python123" # 口令sender = '17731456887@163.com'receivers = ['1758152342@qq.com','17731456887@163.com']# 创建一个带附件的实例message = MIMEMultipart()message['From'] = '17731456887@163.com'message['To'] = '1758152342@qq.com'subject = 'Python SMTP 邮件'message['Subject'] = Header(subject, 'utf-8')# 邮件正文内容message.attach(MIMEText('这是菜鸟教程Python 邮件发送……', 'plain', 'utf-8'))# 构造附件1,传送当前目录下的 test.txt 文件att1 = MIMEText(open(r'safe.doc', 'rb').read(), 'base64', 'utf-8')att1["Content-Type"] = 'application/octet-stream'# 这里的filename可以任意写,写什么名字,邮件中显示什么名字att1["Content-Disposition"] = 'attachment; filename="{0}"'.format('safe.doc')message.attach(att1)# # 构造附件2,传送当前目录下的 runoob.txt 文件# att2 = MIMEText(open('runoob.txt', 'rb').read(), 'base64', 'utf-8')# att2["Content-Type"] = 'application/octet-stream'# att2["Content-Disposition"] = 'attachment; filename="runoob.txt"'# message.attach(att2)try: smtpObj = smtplib.SMTP() smtpObj.connect(mail_host, 25) # 25 为 SMTP 端口号 smtpObj.login(mail_user,mail_pass) smtpObj.sendmail(sender, receivers, message.as_string()) print "邮件发送成功"except smtplib.SMTPException: print "Error: 无法发送邮件"