python smtp两种发送附件的方式

44 篇文章 1 订阅

第一种
supernotes可以收到,附件为中文也显示正常

第二
supernotes和notes都可以收到,附件名为中文显示乱码,英文显示正常

测试附件为xls,附件内容不包含中文。

下一步可以将excel转为html插入邮件正文中

 #添加附件

    # att1 = MIMEBase(open(file_path, 'rb').read(), 'base64')
    # att1["Content-Type"] = 'application/octet-stream'
    # # 这里的filename可以任意写,写什么名字,邮件中显示什么名字
    # att1["Content-Disposition"] = f'attachment; filename={file_name}'
    # message.attach(att1)

    with open(file_path, 'rb') as f:
        # 设置附件的MIME和文件名,这里是png类型:
        mime = MIMEBase('application','vnd.ms-excel') #, filename=file_name
        # 加上必要的头信息:
        mime.add_header('Content-Disposition', 'attachment', filename=file_name)
        mime.add_header('Content-ID', '<0>')
        mime.add_header('X-Attachment-Id', '0')
        # 把附件的内容读进来:
        mime.set_payload(f.read())
        # 用Base64编码:
        encoders.encode_base64(mime)
        # 添加到MIMEMultipart:
        message.attach(mime)

参考
https://frankchen.xyz/2018/12/20/attachments/

https://www.cnpython.com/qa/127967

excel转html
https://blog.csdn.net/wangxingfan316/article/details/79614529

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值