回答編集履歴
1
追記
answer
CHANGED
@@ -3,4 +3,9 @@
|
|
3
3
|
```Python
|
4
4
|
msg['From'] = '%s <%s>'%(Header(send_name.encode(charset),charset).encode(),send_addr)
|
5
5
|
print(msg['From'])
|
6
|
-
```
|
6
|
+
```
|
7
|
+
|
8
|
+
追記:
|
9
|
+
解説すると、元のコードでは、`msg['From']`に日本語が含まれているので、日本語部分じゃなくて文字列全体(※)がBエンコードされ、`=?utf-8?b?~~~=?=`のような文字列になり、MTAで「ドメイン部を含まない文字列」と判断されてドメイン部が付加されます。メールソフトではBデコードされるので、お書きの現象になります。
|
10
|
+
|
11
|
+
※部分の仕様(マルチバイトも字部分だけじゃなくて全体がエンコードされる)はバグに近い仕様だと思いますが、そういう仕様のメジャーなメールソフトもあったかと思います。
|