计算机管理系统:电脑网络技术记录本

Python

当前位置:首页 > 程序语言集合 > Python

python 利用smtplib模块进行html,图片附件,图片内容邮件群发

# coding:utf8
import smtplib
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.mime.text import MIMEText
from email.mime.image import MIMEImage   # 导入图片附件用的库

con = smtplib.SMTP_SSL('smtp.163.com',465)  # 连接邮箱服务器
con.login('123456@163.com','邮箱登陆授权码')   # 登陆邮箱账号

msg = MIMEMultipart()       # 准备数据

sub = Header('邮件标题','utf8').encode()  # 填写邮件标题和编码
msg['Subject'] = sub

msg['From'] = '123456@163.com <123456@163.com>'  # 设置邮件头部发件人信息

msg['To'] = 'xxxx@163.com;xxxx@qq.com'   # 设置设置一个头部收件人信息,这边不能为列表变量

image_data = open('1.jpg','rb').read()      #  以二进制的形式读取图片文件
image_data2 = open('1.jpg','rb').read()      #  以二进制的形式读取图片文件

# image1 = MIMEImage(这里给一个图片的二进制数据)
image1 = MIMEImage(image_data)           #  把二进制图片数据变量给到MIMEImage()参数里面
image2 = MIMEImage(image_data2)           #  把二进制图片数据变量给到MIMEImage()参数里面

image1['Content-Disposition'] = 'attachment; filename="meinv.jpg"'    # 设置附件名称以及附件格
#                                                     名字不能用中文
msg.attach(image1)  # 把邮件头部和邮件内容关联在一起,附件

image2.add_header('Content-ID','<meinvwww>')  # 图片需要加载到邮件内容,先声明一个图片id ,meinvwww,做这一步之前,一样要和图片附件一样
msg.attach( image2)  # 把邮件头部和邮件内容关联在一起,图片正文内容                            # 先读取图片文件的二进制数据流


htmltext = """ 
<h3>我是一个3号大小字体的邮件正文标题标题</h3>        
<p>我是邮件内容,在html里面一对p标签就是一段内容。</p>
<p>比如说现在这段文字,就是用的第2对p标签,所以我是在第2段。</p>
<img src='cid:meinvwww'> 
<a href="http://www.heisiwu.com" target="_blank">点击我可以跳转到黑丝屋图片网站</a>
  
"""       # 编辑html内容。  把image2.add_header中声明的Content-ID meinvwww作为cid:的值。

html = MIMEText(htmltext,'html','utf8')

msg.attach(html)    # 把邮件头部和邮件内容关联在一起,正文html内容

to2 = ['xxxx@139.com','xxxx@qq.com']
con.sendmail('123456@163.com',to2,msg.as_string())   #  设置发件人账号和收件人账号
con.quit()       # 断开邮箱服务器连接,退出邮件服务器。

#   163邮箱测试没有问题,QQ邮箱测试把图片隐藏了,需要手动点击显示,139邮箱没问题,全部显示。

python 利用smtplib模块进行html,图片附件,图片内容邮件群发

文章评论

表情

共 0 条评论,查看全部
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~