关于邮箱发送邮件二之附件及图片

import smtplibfrom email.mime.text import MIMETextfrom email.header import Headerfrom email.mime.multipart import MIMEMultipartfrom email.mime.base import MIMEBasefrom email import encoders# come_from 是本身的邮箱,password是邮箱的受权码come_from = '2577452716@qq.com'# who 用户是谁 ,至关于用户名。password = 'jgodszkzfkrqebeb' # 秘钥串 ,至关于密码。# to_email 是接收的邮箱to_email = '2435224077@qq.com' # 我要发送给谁# 邮件服务器smtp_server = 'smtp.qq.com'  #咱们本身不搭建了,有免费的还稳定,出了事情都能找服务商, QQ邮箱的服务域名# 想要在邮件中添加附件。首先须要构造一个MIMEMultipart对象表示邮件总体,而后添加一个MIMEText做为邮件正文,添加一个MIMEBase对象做为附件便可msg = MIMEMultipart()# 邮件头部信息msg['From'] = Header(come_from)# 发送给谁msg['To'] = Header(to_email)# 邮件主题msg['Subject'] = Header('1908大实训')# 附件# 附件第二个参数为格式,默认为纯文本,# msg.attach(MIMEText('Hello, my friend...', 'plain', 'utf-8'))# 邮件中正文显示图片# 咱们须要先把图片做为附件,而后在HTML中经过引用src="cid:0"就能够把附件做为图片嵌入了。# 显示附件图片须要把第二个参数改成html, img标签src属性为 src="cid:0"# 图片的第二个参数为htmlmsg.attach(MIMEText('<html><body><h1>Hello, my friend...</h1>' +     '<p><img src="cid:0"></p>' +     '</body></html>', 'html', 'utf-8'))with open('D:/tupian/1.png', 'rb') as f:  # 打开须要添加的附件    mime = MIMEBase('image', 'png', filename='1.png')  # 建立MIMEBase对象,即附件内容    mime.add_header('Content-disposition', 'attachment', filemane='1.png')    # 添加必要的头文件    mime.add_header('Content-ID', '<0>')    mime.add_header('X-Attachment-ID', '0')    mime.set_payload(f.read())  # 读进附件的内容    encoders.encode_base64(mime) # 用base64编码    msg.attach(mime)  # 把附件添加到主体对象中# 建立实例server = smtplib.SMTP_SSL(smtp_server)# QQ邮箱SMTP的端口号是465或587server.connect(smtp_server, 465)# 登陆邮箱server.login(come_from, password)# 发送邮件server.sendmail(come_from, to_email, msg.as_string())print("发送完成")# 退出邮箱server.quit()
相关文章
相关标签/搜索