回答編集履歴

1

追記

2018/06/01 06:38

投稿

otn
otn

スコア85938

test CHANGED
@@ -9,3 +9,13 @@
9
9
  print(msg['From'])
10
10
 
11
11
  ```
12
+
13
+
14
+
15
+ 追記:
16
+
17
+ 解説すると、元のコードでは、`msg['From']`に日本語が含まれているので、日本語部分じゃなくて文字列全体(※)がBエンコードされ、`=?utf-8?b?~~~=?=`のような文字列になり、MTAで「ドメイン部を含まない文字列」と判断されてドメイン部が付加されます。メールソフトではBデコードされるので、お書きの現象になります。
18
+
19
+
20
+
21
+ ※部分の仕様(マルチバイトも字部分だけじゃなくて全体がエンコードされる)はバグに近い仕様だと思いますが、そういう仕様のメジャーなメールソフトもあったかと思います。