下面是一个使用Python发送包含中文邮件标题的邮件的示例。这里我们将使用`smtplib`和`email`模块。请注意,为了发送邮件,你需要有一个SMTP服务器(比如Gmail, Outlook等)的账号和相应的SMTP服务器地址、端口以及认证信息。
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header
# 发件人邮箱和密码(这里使用授权码而非邮箱密码)
sender_email = 'your_email@example.com'
sender_password = 'your_password' # 注意:这里使用的是授权码而非邮箱密码
# SMTP服务器和端口
smtp_server = 'smtp.example.com'
smtp_port = 587 # Gmail的SMTP端口是465或587,具体取决于你是否使用SSL
# 邮件内容
subject = '这是一封测试邮件'
body = '你好,这是邮件的正文,包含中文。'
# 创建邮件对象
message = MIMEMultipart()
message['From'] = sender_email
message['To'] = 'recipient_email@example.com'
message['Subject'] = Header(subject, 'utf-8') # 支持中文标题
# 邮件正文
message.attach(MIMEText(body, 'plain', 'utf-8'))
# 连接到SMTP服务器
try:
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls() # 启用TLS加密
server.login(sender_email, sender_password) # 登录到SMTP服务器
# 发送邮件
server.sendmail(sender_email, ['recipient_email@example.com'], message.as_string())
print("邮件发送成功")
except Exception as e:
print("邮件发送失败:", e)
finally:
server.quit() # 关闭SMTP服务器连接
**注意**:
- 请将`your_email@example.com`、`your_password`、`smtp.example.com`、`587`和`recipient_email@example.com`替换成你的实际邮箱地址、授权码、SMTP服务器地址、端口和收件人邮箱地址。
- 如果你的SMTP服务器要求SSL连接(如Gmail的默认端口465),你应该使用`smtplib.SMTP_SSL(smtp_server, smtp_port)`来创建连接,并移除`server.starttls()`调用。
- 授权码是你在邮箱设置中生成的,用于第三方应用登录你的邮箱。出于安全考虑,不要在你的代码中硬编码你的邮箱密码。