qq 账号发送邮箱登陆密码需要用授权码。
可以看我的这个文章:
实现原理
我们用图片和文档两种类型的附件举个例子。
MIMEBase(",")
这个里只要有两个字符串参数就好了。可以随便填。
m_img.add_header('Content-Disposition', 'attachment', filename = "...")
filename 对应的名字填上就好了,展示就是靠这个名字来识别的,是展示为图片样式或是word文档样式。
#!/user/bin/env python # -*- coding:utf-8 -*- import smtplib from email import encoders from email.mime.base import MIMEBase from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.header import Header message = MIMEMultipart() # 邮件主体 # 邮件加入图片 m_img = MIMEBase('', '') m_img.add_header('Content-Disposition', 'attachment', filename = "hello.jpg") f = open("hello.jpg", "rb") # 读取本地图片 m_img.set_payload(f.read()) encoders.encode_base64(m_img) message.attach(m_img) # 邮件加入文档 m_file = MIMEBase('', '') m_file.add_header('Content-Disposition', 'attachment', filename = "hello.doc") f = open("hello.doc", "rb") # 读取本地文档 m_file.set_payload(f.read()) encoders.encode_base64(m_file) message.attach(m_file) message['From'] = Header('小爱') # 邮件发送者名字 message['To'] = Header('小蓝枣') # 邮件接收者名字 message['Subject'] = Header('来自异世界的一封信!') # 邮件主题 mail = smtplib.SMTP() mail.connect("smtp.qq.com") # 连接 qq 邮箱 mail.login("11507411@qq.com", "授权码") # 账号和授权码 mail.sendmail("11507411@qq.com", ["24185465@qq.com"], message.as_string()) # 发送账号、接收账号和邮件信息
运行效果图:
喜欢的点个赞❤吧!