前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python使用smtp发送带附件的邮件

python使用smtp发送带附件的邮件

作者头像
灯珑LoGin
发布2022-10-31 09:35:03
1K0
发布2022-10-31 09:35:03
举报
文章被收录于专栏:龙进的专栏龙进的专栏

附件其实就是另一种格式的MIME,所以在构造邮件消息体的时候需要使用MIMEMultipart来构造复合类型的消息体,然后把文本和附件一个一个地加进去

举个例子吧。嗯那个超链接的问题还是老样子,没解决

代码语言:javascript
复制
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header

sender = 'xxxx@xx.xx'
password = 'xxxxx'
receiver = ['xxx@xx.xx', ]
message = MIMEMultipart()
message['From'] = Header(sender, 'utf-8')
message['To'] = Header('邮件', 'utf-8')
message['Subject'] = 'Python SMTP 发送带附件的邮件'
mail_msg = '''
<p>使用python发送邮件</p>
<br>
<p><a href="http://www.baidu.com">这是一个超链接</p>
'''
message.attach(MIMEText(mail_msg, 'html', 'utf-8'))
attached_file = MIMEText(open(__file__, encoding='utf-8').read(), 'base64', 'utf-8')
attached_file['Content-Disposition'] = 'attachment;filename="mail.py"'
message.attach(attached_file)
try:
    smtp = smtplib.SMTP_SSL('smtp.qiye.aliyun.com', 465)
    smtp.login(sender, password)
    smtp.sendmail(sender, receiver, message.as_string())
    print('邮件已发送!')

except smtplib.SMTPException as e:
    print('出现错误!', e.args[1].decode('gbk'))

于是乎,邮箱就收到邮件了

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020年8月28日2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档