如何用Python编写一个能够通过SMTP协议发送邮件到QQ邮箱的程序?
时间: 2025-01-05 11:41:35 浏览: 13
要使用Python编写一个能够通过SMTP协议发送邮件到QQ邮箱的程序,可以按照以下步骤进行:
1. 导入必要的库:`smtplib`用于SMTP协议,`email.mime`用于构建邮件内容。
2. 设置SMTP服务器和端口:QQ邮箱的SMTP服务器是`smtp.qq.com`,端口是`587`。
3. 登录SMTP服务器:使用你的QQ邮箱账号和授权码进行登录。
4. 构建邮件内容:包括发件人、收件人、主题和正文。
5. 发送邮件并关闭连接。
以下是一个完整的示例代码:
```python
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# SMTP服务器和端口
smtp_server = 'smtp.qq.com'
smtp_port = 587
# 发件人和收件人
sender = 'your_email@qq.com'
receiver = 'receiver_email@example.com'
# 邮件主题和正文
subject = '测试邮件'
body = '这是一封通过Python发送的测试邮件。'
# 构建邮件内容
message = MIMEText(body, 'plain', 'utf-8')
message['From'] = Header('你的名字', 'utf-8')
message['To'] = Header('收件人名字', 'utf-8')
message['Subject'] = Header(subject, 'utf-8')
# 登录SMTP服务器
try:
smtp = smtplib.SMTP(smtp_server, smtp_port)
smtp.starttls()
smtp.login(sender, 'your_authorization_code')
smtp.sendmail(sender, receiver, message.as_string())
print('邮件发送成功')
except Exception as e:
print(f'邮件发送失败: {e}')
finally:
smtp.quit()
```
注意事项:
1. 将`your_email@qq.com`替换为你的QQ邮箱地址。
2. 将`receiver_email@example.com`替换为收件人的邮箱地址。
3. 将`your_authorization_code`替换为你的QQ邮箱授权码。授权码可以在QQ邮箱设置中生成。
阅读全文