欢迎访问宙启技术站
智能推送

使用Python的smtplib模块发送电子邮件时如何设置发件人名称

发布时间:2024-01-16 04:11:16

要设置发件人名称,你可以在发送邮件时,在 "From" 标头中指定发件人名称。为此,你需要使用 "email" 库中的 "Header" 类来格式化发件人名称。下面是一些使用 "smtplib" 模块发送电子邮件时设置发件人名称的例子:

import smtplib
from email.mime.text import MIMEText
from email.header import Header

def send_email(sender, sender_password, receiver, subject, message):
    # 设置发件人名称
    sender_name = '发件人名称'

    # 创建邮件正文
    msg = MIMEText(message, 'plain', 'utf-8')
    msg['Subject'] = Header(subject, 'utf-8')
    msg['From'] = Header(sender_name, 'utf-8')
    msg['To'] = Header(receiver, 'utf-8')

    # 连接 SMTP 服务器
    server = smtplib.SMTP_SSL('smtp.example.com', 465)
    server.login(sender, sender_password)

    # 发送邮件
    server.sendmail(sender, receiver, msg.as_string())

    # 关闭连接
    server.quit()

# 示例用法
sender_email = 'your_email@example.com'
sender_password = 'your_email_password'
receiver_email = 'receiver@example.com'
email_subject = '测试邮件'
email_message = '这是一封测试邮件'

send_email(sender_email, sender_password, receiver_email, email_subject, email_message)

上述示例中,我们首先定义一个名为 "send_email" 的函数,该函数将发件人名称作为参数接收,并使用 Header 类为发件人名称设置编码。然后,我们创建一个 MIMEText 对象作为邮件正文,并指定发件人名称。最后,我们使用 "SMTP_SSL" 类连接到 SMTP 服务器,并使用 "sendmail" 方法发送邮件。

请确保替换示例代码中的 SMTP 服务器地址、发件人邮箱和密码、收件人邮箱、邮件主题和消息内容等参数为实际值。