Python+网易企业邮箱 做邮件自动分发程序的时候遇到的一些问题记录

Python+网易企业邮箱 做邮件自动分发程序的时候遇到的一些问题记录,第1张

Python+网易企业邮箱 做邮件自动分发的时候遇到的一些问题记录

我用python+企业网易邮箱做邮件自动分发的时候遇到了两大问题:一是Connection unexpectedly closed;二是收到的excel附件是.bin结尾的。花了一下午时间,终于弄明白怎么回事了。


问题一: 关于Connection unexpectedly closed 问题出现的原因:
邮箱服务器地址与邮箱端口号不匹配
解决办法
  • 1、找到你的网易企业邮箱的POP/SMTP/IMAP服务器地址。网易企业邮箱服务器地址与端口设置
    进去输入你网易企业邮箱**@后面的部分**,会看到下面这些东东:

    一般是SMTP协议+服务器地址+25端口。不行就挨个试一遍,总有一个是。
  • 2、这是找网易企业邮箱和它的端口,二者对上,就能成功发送邮件了

问题二: 邮件发送成功了,但接收方收到的excel附件是.bin结尾的 问题出现的原因:
文件名/文件内容中有中文,无法进行正常编码
解决办法
  • 1、指定编码的时候将文件名中的中文换成英文
xlsxpart = MIMEApplication(open(file_path, 'rb').read())
xlsxpart.add_header('Content-Dispositon','attachment', filename='file.xls'))

绝大多数情况下这一步就够了,如果不行就试试第二步

  • 2、make_header将文件内容及名称编码强转为utf-8
from email.header import make_header
excel_apart = MIMEApplication(open(file_path, 'rb').read())
excel_apart["Content-Type"] = 'application/octet-stream;name="%s"' % make_header([(file_name, 'UTF-8')]).encode('UTF-8')
excel_apart["Content-Disposition"] = 'attachment;filename= "%s"' % make_header([(file_name, 'UTF-8')]).encode('UTF-8')

转完之后应该就可以了

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/733931.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-27
下一篇2022-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存