Python邮件发送:精准设置发件人信息
在使用Python发送邮件时,准确设置发件人姓名和邮箱地址至关重要,这直接影响邮件的显示效果。本文将指导您如何在Python代码中正确设置发件人信息,避免出现冗余信息或奇怪的显示效果。
问题:直接使用姓名作为From字段的值(例如:msg['from'] = "xyz abc"),会导致邮件客户端显示包含主机名等额外信息的冗余发件人信息,而非预期的“xyz abc”。
原因: 这是因为未明确指定电子邮件地址,邮件服务器无法正确解析发件人信息。
解决方案: 使用以下格式设置msg['From']:
"Your Name
其中,“Your Name” 为您希望显示的发件人姓名,“your_email@example.com” 为您的电子邮件地址。此格式确保邮件客户端正确解析姓名和邮箱地址。
代码示例:
以下代码演示了如何正确设置发件人信息:
import smtplib
from email.mime.text import MIMEText
def send_email(to=['example@example.com'],
f_host='example.example.com',
f_port=587,
f_user='your_email@example.com',
f_passwd='your_password',
subject='邮件主题',
message='邮件内容'):
smtpserver = smtplib.SMTP(f_host, f_port)
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.ehlo()
smtpserver.login(f_user, f_passwd)
msg = MIMEText(message, 'html')
msg['Subject'] = subject
msg['From'] = "您的姓名 <your_email@example.com>" # 正确设置发件人信息
msg['To'] = ','.join(to)
for t in to:
smtpserver.sendmail(f_user, t, msg.as_string())
smtpserver.close()
print('邮件发送成功!')
cont = """
<p>您好!<br></br>
一切顺利吗?<br></br>
这是您需要的 <a href="https://www.php.cn/link/996d38f817b4ba74e4c38fb1286d28ab">链接</a>。
</p>
"""
try:
send_email(message=cont)
except Exception as e:
print(f'邮件发送失败: {e}')
请将代码中的占位符替换为您的实际姓名、邮箱地址和密码。 通过这种方式,收件人将看到您期望的姓名和邮箱地址作为发件人信息。
以上就是Python邮件发送:如何正确设置发件人姓名和邮箱地址避免显示奇怪信息?的详细内容,更多请关注知识资源分享宝库其它相关文章!
版权声明
本站内容来源于互联网搬运,
仅限用于小范围内传播学习,请在下载后24小时内删除,
如果有侵权内容、不妥之处,请第一时间联系我们删除。敬请谅解!
E-mail:dpw1001@163.com
发表评论