在 smtplib 发送的邮件中显示用户名
Display username in the mail sent from smtplib
我写了一个 python 脚本来使用 smtplib 发送邮件。
一切正常,除了当用户收到邮件时,他看不到我的 google 帐户名,而是获取邮件 ID。有办法解决这个问题吗?
我想它必须在这里做点什么,但我不确定。
msg = MIMEMultipart()
msg['From'] = from_addr
msg['To'] = ','.join(recipients_addr)
msg['Subject'] = subject
msg.attach(MIMEText(body, 'plain'))
return msg
第一张图片是用smtplib发送的。没有用户名。
第二个从gmail正常发送。
您需要同时提供电子邮件地址和帐户名才能执行此操作。
email.utils.formataddr函数可以用来格式化数据:
>>> from email import utils
>>> utils.formataddr(('Jane Smith', 'jsmith@example.com'))
'Jane Smith <jsmith@example.com>'
在问题的代码中,你会做类似的事情
from_addr = 'praneeth.vasarla@example.com'
from name = 'Praneeth Vasarla'
msg['from'] = formataddr((from_name, from_addr))
我写了一个 python 脚本来使用 smtplib 发送邮件。 一切正常,除了当用户收到邮件时,他看不到我的 google 帐户名,而是获取邮件 ID。有办法解决这个问题吗?
我想它必须在这里做点什么,但我不确定。
msg = MIMEMultipart()
msg['From'] = from_addr
msg['To'] = ','.join(recipients_addr)
msg['Subject'] = subject
msg.attach(MIMEText(body, 'plain'))
return msg
第一张图片是用smtplib发送的。没有用户名。
第二个从gmail正常发送。
您需要同时提供电子邮件地址和帐户名才能执行此操作。
email.utils.formataddr函数可以用来格式化数据:
>>> from email import utils
>>> utils.formataddr(('Jane Smith', 'jsmith@example.com'))
'Jane Smith <jsmith@example.com>'
在问题的代码中,你会做类似的事情
from_addr = 'praneeth.vasarla@example.com'
from name = 'Praneeth Vasarla'
msg['from'] = formataddr((from_name, from_addr))