我想通过在Python 3.7下使用smtplib
和email
软件包来给自己写电子邮件,以告知我一些信息。但是我发现我无法同时设置发送者的显示名称和接收者的显示名称。另外,Google没有给我答案(可能是我搜索了错误的单词)。
这是我的简化Python3代码以及发生了什么
import smtplib
from email.message import EmailMessage
from email.utils import formataddr
msg = EmailMessage()
# also test on non-scii characters
msg['From'] = formataddr(("αβγ", 'myself@webcite.com'), 'UTF-8')
msg['Subject'] = "[Information-Service] α-test mail"
msg['To'] = formataddr(("αβγ", 'myself@webcite.com'), 'UTF-8')
msg.set_content("some utf-8 char like の")
M = smtplib.SMTP('host.webcite.com')
M.login('username', 'passwd')
M.send_message(self.msg)
M.quit()
即使在发送之前我也检查了电子邮件的内容:
Subject: [Information-Service] =?utf-8?q?=CE=B1-test?= mail
From: =?utf-8?b?zrHOss6z?= <myself@webcite.com>
To: =?utf-8?b?zrHOss6z?= <myself@webcite.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
c29tZSB1dGYtOCBjaGFyIGxpa2Ug44GuCg==
text/plain
但是我终于收到了这样的邮件:
我不知道更改了多个邮箱并得到与上述屏幕截图相同的结果后发生了什么。我想知道发生了什么,应该怎么做才能解决问题。
此外,设置“发件人”,“主题”,“收件人”和set_content()
时的顺序也使收到的电子邮件看起来也不同。
感谢您抽出宝贵时间回答我的问题:->