2

実行可能バイナリの実際のファイル拡張子を変更して、そのファイルをgmail smtpプロトコル(すべてPython)で送信するにはどうすればよいですか?

例:「binary」から「binary.jpg」

私はこれを試してみます:

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システムがメッセージに不正な添付ファイルを検出しました。\n5.7.0http://mail.google.com/support/bin/answer.py?answer=6590にアクセスしてください\ n5.7.0は添付ファイルのガイドラインを確認します。n18s​​m433437wbh.23')

よろしくお願いします。

4

1 に答える 1

5

Googleのポリシーによると、バイナリファイルは禁止されています。

Gmail won't accept these types of files even if they are sent in a zipped
(.zip, .tar, .tgz, .taz, .z, .gz) format. If this type of message is sent to 
your Gmail address, it is bounced back to the sender automatically. 

そのため、Googleはファイルを解凍し、ファイルヘッダーをチェックして、ファイルタイプを判別します(提供された拡張子に依存しません。これを回避するには、Googleができないため、パスワードで保護されたZIPファイルとしてアップロードしてみてください。別のオプションは、送信する前にファイルを暗号化することです。おそらく、非常に単純なXOR暗号化でも、フィルタリングを通過するのに十分な場合があります。その後、取得時に復号化する必要があります。ファイル。

于 2011-06-28T21:37:44.570 に答える