質問

Python 3でsmtplibを使用してUnicode文字をメールで送信するのに問題があります。これは3.1.1では失敗しますが、2.5.4では動作します。

  import smtplib
  from email.mime.text import MIMEText

  sender = to = 'ABC@DEF.com'
  server = 'smtp.DEF.com'
  msg = MIMEText('€10')
  msg['Subject'] = 'Hello'
  msg['From'] = sender
  msg['To'] = to
  s = smtplib.SMTP(server)
  s.sendmail(sender, [to], msg.as_string())
  s.quit()

ドキュメントから例を試してみましたが、やはり失敗しました。 http://docs.python.org/3.1/library/email-examples。 html 、MIMEメッセージとしてディレクトリの内容を送信する例

提案はありますか

役に立ちましたか?

他のヒント

MIMEText

_charset パラメーターは、us-ascii になります/library/email.mime.html#email.mime.text.MIMEText "rel =" nofollow noreferrer ">ドキュメント。 はus-asciiセットのものではないため、機能しません。

試したドキュメントの例には次のように明記されています:

  

この例では、テキストファイルにASCII文字のみが含まれていると想定しています。

を使用できます。メッセージのget_charset メソッドを使用して文字セットを調査します。付随的に .set_charset もあります。

Gus Muellerにも同様の問題がありました: http://bugs.python.org/issue4403

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top