使用 smtplib 发送包含大附件邮件的时候,会报错误

smtplib.SMTPDataError: (451, b'Error: queue file write error')

基本是两个问题:

1、发送超时

2、文件太大

 

 

针对问题1

设置超时时间  class smtplib.SMTP(host='', port=0, local_hostname=None, [timeout, ]source_address=None)

而我用的是 smtplib.STMP_SSL 也是完全一样的

 

针对问题2

 

将文件压缩就行了,最好是 50M 以下。

最后有一个注意的,如果你是 .xlsx 文件,解压后打开是错误的

建议直接生成 .xls 文件后压缩。

或者 解压后,将 .xlsx 重命名为 .xls 

 

 

最后,成功发送!!!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐