如何更改可執行二進制文件的實際文件擴展名以通過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