python HTML格式发送邮件

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-08 00:49:15

登录qq邮箱:设置->账户 找到如图片处开启smtp
通过第三方发送邮件都需开启POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,本人用的qq邮箱进行发送详情请点击http://service.mail.qq.com/cgi-bin/help?subtype=1&no=167&id=28
登录qq邮箱:设置->账户 找到如图片处开启smtp
以下是代码:

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header

msg_from = '1223739055@qq.com'  # 发送方邮箱
passwd = 'mizfilyvxaxajgfe'  # 填入发送方邮箱的授权码
msg_to = '18010421017@sina.cn'  # 收件人邮箱

 # 创建一个带附件的实例
message = MIMEMultipart()
message['From'] = Header("冰石头", 'utf-8')
message['To'] = Header("收件人名称", 'utf-8')
subject = 'Python SMTP 邮件测试' # 主体内容
 #subject = unicode(subject)# 更改主题编码
message['Subject'] = Header(subject, 'utf-8')
'''
mail_msg = """
<p>冰石头正在进行邮件发送测试...</p>
<p><a href="http://blog.csdn.net/zql_1111?ref=toolbar">冰石头</a></p>
"""
message.attach(MIMEText(mail_msg, 'html', 'utf-8'))如果要发送html需要将plain改成html
'''
 # 邮件正文内容
message.attach(MIMEText('冰石头正在进行邮件发送测试……', 'plain', 'utf-8'))

 # 构造附件1,传送当前目录下的 test.txt 文件
att1 = MIMEText(open('test.txt', 'rb').read(), 'base64', 'utf-8')
att1["Content-Type"] = 'application/octet-stream'
 # 这里的filename可以任意写,写什么名字,邮件中显示什么名字
att1["Content-Disposition"] = 'attachment; filename="demo.txt"'
message.attach(att1)

try:
    smtpObj = smtplib.SMTP_SSL("smtp.qq.com", 465)  # qq邮箱的smtp地址及端口号
    smtpObj.login(msg_from, passwd)
    smtpObj.sendmail(msg_from, msg_to, message.as_string())
    print "邮件发送成功"
except smtplib.SMTPException:
    print "Error: 无法发送邮件"

最后如果我的文章对您起到了帮助,那动动手指为我点个赞吧!
有问题,请留言,我是闷闷的冰石头

欢迎转载交流

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!