python发送邮件及附件

import smtplib
import datetime
from email.header import Header
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication 


#创建一个带附件的实例
msg = MIMEMultipart()

#构造附件1
att1 = MIMEText(open('d:\\321.txt', 'rb').read(), 'base64', 'gb2312')
att1["Content-Type"] = 'application/octet-stream'
att1["Content-Disposition"] = 'attachment; filename="321.txt"'#这里的filename可以任意写,写什么名字,邮件中显示什么名字
msg.attach(att1)

#构造附件2
att2 = MIMEText(open('d:\\123.txt', 'rb').read(), 'base64', 'gb2312')
att2["Content-Type"] = 'application/octet-stream'
att2["Content-Disposition"] = 'attachment; filename="123.txt"'
msg.attach(att2)


smtpHost = 'smtp.sina.cn'
sender = '1822333333333337@sina.cn'
password = "3434343432432432423"
receiver = ['134244342347@sina.cn','g34234234e@23434234.com','13423432@qq.com'] 
#'18732343337@sina.cn'


date_p = datetime.datetime.now()
str_p = str(date_p)
content = "MIMEMultipart hello 1870203234e7 " +  str(date_p)

#构造正文
att3 = MIMEText(content)
msg.attach(att3)

imageFile = 'd:\\_20191121114419.png'
imageApart = MIMEImage(open(imageFile, 'rb').read(), imageFile.split('.')[-1])
imageApart.add_header('Content-Disposition', 'attachment', filename="_20191121114419.png")
msg.attach(imageApart)

pdfFile = 'd:\\LTE及5G技术比较V1.0(20170420).pdf'
pdfApart = MIMEApplication(open(pdfFile, 'rb').read())
pdfApart.add_header('Content-Disposition', 'attachment', filename="LTE及5G技术比较V1.0(20170420).pdf")
msg.attach(pdfApart)

zipFile = 'd:\\packet20190301.rar'
zipApart = MIMEApplication(open(zipFile, 'rb').read())
zipApart.add_header('Content-Disposition', 'attachment', filename=zipFile)
msg.attach(zipApart)


msg['Subject'] = str_p #'email-subject'
msg['From'] = sender
msg['To'] =  ",".join(receiver) #receiver[1]

## smtp port 25

smtpServer = smtplib.SMTP(smtpHost, 25) # SMTP

smtpServer.login(sender, password)

smtpServer.sendmail(sender, receiver, msg.as_string())

smtpServer.quit()

print('send success by port 25')



## smtp ssl port 465

# smtpServer = smtplib.SMTP_SSL(smtpHost, 465) # SMTP_SSL

# smtpServer.login(sender, password)

# smtpServer.sendmail(sender, receiver, msg.as_string())

# smtpServer.quit()

# print('send success by port 465')

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值