Python邮件发送:如何自定义发件人姓名和邮箱地址?(发件人.自定义.邮箱地址.邮件发送.姓名...)
Python邮件发送:正确设置发件人姓名和邮箱地址
在用Python发送邮件时,如何让收件人看到自定义的发件人姓名和邮箱地址,是很多开发者遇到的问题。本文将详细讲解如何正确设置发件人信息。
直接使用msg['from'] = "xyz abc"这种方式设置发件人信息是不正确的。虽然指定了姓名,但缺少邮箱地址,导致邮件客户端无法正确解析,显示的可能是奇怪的机器名。
正确的做法是将发件人姓名和邮箱地址按照标准格式组合:"你的姓名 "。这符合邮件协议规范,邮件客户端可以正确识别姓名和邮箱。
以下是一个修正后的代码示例,演示了如何正确设置msg['from']字段:
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='example@example.com', f_passwd='example-pass', 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'] = '自定义主题' msg['From'] = "你的姓名 <你的邮箱地址>" # 这里修改为正确的格式 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}')
在这个例子中,msg['from'] = "你的姓名 " 将发件人姓名和邮箱地址用尖括号正确地包含起来,确保邮件客户端正确显示发件人信息。 请将 "你的姓名 " 替换成你的实际姓名和邮箱地址。 代码还加入了更完善的错误处理。
通过这种方法,你就能在收到的邮件中看到自定义的发件人姓名和邮箱地址了。
以上就是Python邮件发送:如何自定义发件人姓名和邮箱地址?的详细内容,更多请关注知识资源分享宝库其它相关文章!