2

本文がマルチパート メールの Python でメールを送信できません。私が試したことはすべて、すべてのコンテンツが添付ファイルとして表示され、本文にテキストまたは html を表示できません。

msg = MIMEMultipart()
if msg_mime_type == 'text' or not msg_mime_type:
    new_body = MIMEText(body, 'text')
elif msg_mime_type == 'image':
    new_body = MIMEImage(body)
elif msg_mime_type == 'html':
    new_body = MIMEText(body, 'html')
new_body.add_header('Content-Disposition', 'inline', filename='body')
msg.set_payload(new_body) #also tried msg.attach(new_body)

Multipart添付ファイルも追加できるようにするためにa を使用する必要がありますが、簡単にするためにそのコードは省略しました。

4

1 に答える 1

5

パーツが互いに代替であることを指定する必要があります (例multipart/alternative: MIME タイプ)。

msg = MIMEMultipart('alternative')

デフォルトはmixed; メール ライブラリの例を参照してください。

添付ファイルと代替 (HTML / CSS) オプションの両方を含む電子メールを作成するには、最初のエントリとしてパーツmultipart/relatedを含む最上位のコンテナーが必要になることに注意してください。alternative

于 2012-08-16T21:32:27.353 に答える