python で email を扱うときにheaderにすでに値があると普通には上書きできないです。
例えば、MIMEMultipart を使って試してみます。
|
from email.mime.multipart import MIMEMultipart msg = MIMEMultipart() msg["From"] = "xxxx@zzz.com" print(msg["From"]) |
新規の場合は、dictionary っぽく使って値を入れられます。
結果は、
となります。
この msg の From を更新します。普通にdictionary っぽく使うと
|
msg["From"] = "dddd@eee.com" print(msg["From"]) |
この結果は、
となり変わりません。
解決方法
replace_header を使ってください。
|
msg. replace_header("From", "dddd@eee.com") print(msg["From"]) この結果は、 <pre class="toolbar:2 whitespace-before:1 whitespace-after:1 lang:default decode:true "> dddd@eee.com |
subject などのエンコードされたものはどうやってやるのかは次回
「[python] email で、header の更新をしたいとき」への1件のフィードバック