4

Python経由で電子メールで送信した埋め込み画像をサンダーバードに表示させることができません。画像と本文の下の画像に小さな空のボックスが表示されます (典型的な添付ファイルではありません)。

電子メールは Outlook と Yahoo で正しいです。

ヘッダーが見つからないのでしょうか?

self.msg = MIMEMultipart( )
fp       = open( path2img , 'rb')
msgImage = MIMEImage(fp.read())
fp.close()
msgImage.add_header('Content-ID', '<imagename>')
msgImage.add_header('Content-Disposition' , 'inline' , filename='image.png')
msgImage.add_header('Content-Type' , 'image/png')
self.msg.attach(msgImage)

メール本文の私の画像ソースは次のとおりです。

<img src="cid:imagename">

私はどこでも見ましたが、理由がわかりません!! 助けてください。

(私のPythonは良くないかもしれませんが、Outlook / Yahooには十分です)

前もって感謝します

4

2 に答える 2

1

Content-IDではなく、「filename」値を参照する必要があります。例えば:

<img src="cid:image.png"/>

詳細については、この質問を参照してください:添付画像をHTMLメッセージに表示する

于 2011-12-07T02:29:52.477 に答える
0

同じ問題がありました。MIMEMultipart コンストラクターを次のように変更するだけです。

self.msg = MIMEMultipart('related')

そしてそれはうまくいくでしょう。

于 2013-11-01T18:41:31.993 に答える