登录
首页 >  文章 >  python教程

Python邮件设置:避免发件人信息异常的技巧

时间:2025-03-20 19:27:38 360浏览 收藏

使用Python发送邮件时,如何避免发件人信息显示异常?本文详解Python邮件设置中的发件人信息问题。直接使用姓名作为`From`字段值会导致邮件客户端显示冗余信息。正确的做法是将发件人姓名和邮箱地址以`"Your Name "`格式设置,确保邮件服务器正确解析,从而避免显示异常,实现精准的发件人信息显示。文章提供代码示例,指导您如何正确设置,轻松解决Python邮件发送中的发件人信息显示问题。

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

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'] = "您的姓名 "  # 正确设置发件人信息
    msg['To'] = ','.join(to)
    for t in to:
        smtpserver.sendmail(f_user, t, msg.as_string())
    smtpserver.close()
    print('邮件发送成功!')

cont = """

您好!
一切顺利吗?
这是您需要的 链接

""" try: send_email(message=cont) except Exception as e: print(f'邮件发送失败: {e}')

请将代码中的占位符替换为您的实际姓名、邮箱地址和密码。 通过这种方式,收件人将看到您期望的姓名和邮箱地址作为发件人信息。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>