Python邮件发送:如何正确设置发件人姓名和邮箱地址避免显示奇怪信息?

python邮件发送:如何正确设置发件人姓名和邮箱地址避免显示奇怪信息?

Python邮件发送:精准设置发件人信息

在使用Python发送邮件时,准确设置发件人姓名和邮箱地址至关重要,这直接影响邮件的显示效果。本文将指导您如何在Python代码中正确设置发件人信息,避免出现冗余信息或奇怪的显示效果。

问题:直接使用姓名作为From字段的值(例如:msg[‘from’] = “xyz abc”),会导致邮件客户端显示包含主机名等额外信息的冗余发件人信息,而非预期的“xyz abc”。

原因: 这是因为未明确指定电子邮件地址,邮件服务器无法正确解析发件人信息。

立即学习“Python免费学习笔记(深入)”;

解决方案: 使用以下格式设置msg[‘From’]:

“Your Name ail@example.com>”

其中,“Your Name” 为您希望显示的发件人姓名,“your_email@example.com” 为您的电子邮件地址。此格式确保邮件客户端正确解析姓名和邮箱地址。

代码示例:

以下代码演示了如何正确设置发件人信息:

import smtplibfrom email.mime.text import MIMETextdef 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}')

登录后复制

本文来自互联网或AI生成,不代表软件指南立场。本站不负任何法律责任。

如若转载请注明出处:http://www.down96.com/tutorials/3777.html

热心网友热心网友
上一篇 2025-04-11 14:48
下一篇 2025-04-11 14:48

相关推荐

本站[软件指南]所有内容来自互联网投稿或AI智能生成,并不代表软件指南的立场。