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

Python

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

python 利用smtplib模块进行除图片以外的附件之其它类型文件附件上传发送邮件

# 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'] = 'xxx@163.com;xxx@qq.com'  # 设置设置一个头部收件人信息

image_data2 = open('1.jpg', 'rb').read()  # 以二进制的形式读取图片文件
content1 = open('1.txt','rb').read()    # 以二进制的形式读取文件数据,并给到变量。除了图片附件以外,其它附件均只需要改变文件格式就行

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

file_txt = MIMEText(content1,'base64','utf8')  # 把二进制文件数据变量给到MIMEIText()参数里面

file_txt["Content-Disposition"] = 'attachment; filename="1.txt"'  # 设置附件名称以及附件格式,除了图片附件以外,其它附件均只需要
                                                                          # 改变文件格式就行
msg.attach(file_txt)


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()  # 断开邮箱服务器连接,退出邮件服务器。

python 利用smtplib模块进行除图片以外的附件之其它类型文件附件上传发送邮件

文章评论

表情

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