使用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 服务器地址、发件人邮箱和密码、收件人邮箱、邮件主题和消息内容等参数为实际值。
