插件窝 干货文章 Python邮件发送:如何正确设置发件人姓名和邮箱地址?

Python邮件发送:如何正确设置发件人姓名和邮箱地址?

发件人 email 邮箱 邮件 259    来源:    2025-03-13

在Python中,你可以使用smtplibemail库来发送邮件。要正确设置发件人姓名和邮箱地址,你可以使用email.mime.text.MIMETextemail.mime.multipart.MIMEMultipart类来构建邮件内容,并在其中设置发件人姓名和邮箱地址。

以下是一个示例代码,展示如何设置发件人姓名和邮箱地址:

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

# 邮件配置
smtp_server = 'smtp.example.com'  # SMTP服务器地址
smtp_port = 587  # SMTP服务器端口
sender_email = 'your_email@example.com'  # 发件人邮箱
sender_name = 'Your Name'  # 发件人姓名
password = 'your_password'  # 发件人邮箱密码
receiver_email = 'receiver_email@example.com'  # 收件人邮箱

# 创建邮件对象
msg = MIMEMultipart()
msg['From'] = Header(f'{sender_name} <{sender_email}>')  # 设置发件人姓名和邮箱地址
msg['To'] = receiver_email
msg['Subject'] = 'Test Email'

# 邮件正文
body = 'This is a test email.'
msg.attach(MIMEText(body, 'plain'))

# 发送邮件
try:
    server = smtplib.SMTP(smtp_server, smtp_port)
    server.starttls()  # 启动TLS加密
    server.login(sender_email, password)
    server.sendmail(sender_email, receiver_email, msg.as_string())
    print('Email sent successfully!')
except Exception as e:
    print(f'Error: {e}')
finally:
    server.quit()

关键点解释:

  1. msg['From']: 这里使用Header类来设置发件人姓名和邮箱地址。格式为"发件人姓名 <发件人邮箱>"
  2. msg['To']: 设置收件人邮箱地址。
  3. msg['Subject']: 设置邮件主题。
  4. msg.attach(MIMEText(body, 'plain')): 添加邮件正文内容。
  5. smtplib.SMTP: 使用SMTP协议连接到邮件服务器。
  6. server.starttls(): 启动TLS加密,确保邮件传输安全。
  7. server.login: 登录发件人邮箱。
  8. server.sendmail: 发送邮件。

注意事项:

  • 确保你使用的SMTP服务器地址和端口是正确的。
  • 如果你使用的是Gmail,可能需要启用“允许不够安全的应用”或使用应用专用密码。
  • 如果你使用的是其他邮件服务提供商(如Outlook、Yahoo等),请查阅其文档以获取正确的SMTP服务器地址和端口。

通过这种方式,你可以正确设置发件人姓名和邮箱地址,并成功发送邮件。