如何更改可执行二进制文件的实际文件扩展名以通过gmail smtp协议(全部在python中)发送该文件。Python:通过smtp发送可执行的二进制文件到gmail
例: “二元” 到 “binary.jpg”
我会试试这个:
import gzip, shutil src = open('3c7983cb70e9630cc4ee2fe3e1fb16c2', 'rb') dest = gzip.open('3c7983cb70e9630cc4ee2fe3e1fb16c2.gz.jpg', 'wb') shutil.copyfileobj(src, dest)
但是当我尝试通过Gmail SMTP发送它发生这样:
smtplib.SMTPDataError: (552, '5.7.0 Our system detected an illegal attachment on your message. Please\n5.7.0 visit http://mail.google.com/support/bin/answer.py?answer=6590 to\n5.7.0 review our attachment guidelines. n18sm433437wbh.23')
提前感谢。
把文件命名为'.jpg.gz'而不是'.gz.jpg'更加传统,我怀疑这会解决你的问题,但它会让事情变得更加清晰。 ,'gmail'可能检查二进制文件的内容以确定它是否是可执行文件,而不管它的扩展名。 – GWW
但不起作用 – x13
是什么让你觉得gmail的工程师不够聪明,不能使用Windows?在大多数操作系统中,文件扩展名完全不相关,依靠它来检测非法附件是愚蠢的。 – geoffspear