1

以下の Python で「sendmail」機能を使用して電子メールを送信すると、HTML コード @ http://pastie.org/8289379にBANG(!) が表示されるという問題があります。投稿 @ HTML 電子メールの感嘆符を読みました。解決策は、データを base-64 エンコードに変更するか、HTML コードの長い行に \r\n を追加することです。この強打(!) ?

msg = MIMEText("%s" % body, 'html')
msg['Content-Type'] = "text/html; charset=ascii"
s = SMTP('localhost',25)
s.sendmail('userid@company.com', ['userid2@company.com'],msg=msg.as_string()
4

1 に答える 1

2

ここで入手できる情報: http://bugs.python.org/issue6327

メールサーバーには、電子メールメッセージに含まれる各行に 990 文字の制限があることに注意してください。990 文字を超える行を含む電子メール メッセージが送信されると、それらの行は追加の行末文字によって分割され、特に HTML コンテンツの電子メール メッセージが破損する可能性があります。これが発生しないようにするには、電子メール メッセージ内の適切な場所に独自の行末文字を追加して、行が 990 文字を超えないようにしてください。

HTMLをいくつかの行に分割する必要があると思います。textwrap.wrapメソッドを使用できます。

于 2013-09-02T07:57:33.707 に答える