Python邮件发送:如何自定义发件人姓名和邮箱地址?(发件人.自定义.邮箱地址.邮件发送.姓名...)

wufei1232025-03-24python802

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邮件发送:如何自定义发件人姓名和邮箱地址?的详细内容,更多请关注知识资源分享宝库其它相关文章!

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。