在Python中,你可以使用smtplib
和email
库来发送邮件。要正确设置发件人姓名和邮箱地址,你可以使用email.mime.text.MIMEText
或email.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()
msg['From']
: 这里使用Header
类来设置发件人姓名和邮箱地址。格式为"发件人姓名 <发件人邮箱>"
。msg['To']
: 设置收件人邮箱地址。msg['Subject']
: 设置邮件主题。msg.attach(MIMEText(body, 'plain'))
: 添加邮件正文内容。smtplib.SMTP
: 使用SMTP协议连接到邮件服务器。server.starttls()
: 启动TLS加密,确保邮件传输安全。server.login
: 登录发件人邮箱。server.sendmail
: 发送邮件。通过这种方式,你可以正确设置发件人姓名和邮箱地址,并成功发送邮件。