python 自动发送邮件
时间: 2024-09-15 22:04:50 浏览: 101
在Python中,可以使用内置的`smtplib`和`email`模块来自动化发送电子邮件。以下是一个简单的步骤说明:
1. 首先,你需要导入必要的库:
```python
import smtplib
from email.mime.text import MIMEText
from email.header import Header
```
2. 创建一封包含邮件内容的`MIMEText`实例:
```python
msg = MIMEText('这是一封测试邮件', 'plain', 'utf-8')
msg['From'] = Header('发件人邮箱地址', 'utf-8') # 发送者邮箱
msg['To'] = Header('收件人邮箱地址', 'utf-8') # 收件人邮箱
msg['Subject'] = Header('邮件主题', 'utf-8') # 邮件标题
```
3. 设置SMTP服务器信息(如使用Gmail,需要开启“允许不够安全的应用”设置):
```python
smtp_server = 'smtp.gmail.com'
smtp_port = 587 # 对于Gmail通常使用465 for TLS 或 587 for SMTP
username = 'your_email@gmail.com' # 登录邮箱地址
password = 'your_password' # 邮箱密码
# 如果是SSL连接,则将port设为465
if smtp_port == 465:
smtp = smtplib.SMTP_SSL(smtp_server, smtp_port)
else:
smtp = smtplib.SMTP(smtp_server, smtp_port)
```
4. 登录SMTP服务器并发送邮件:
```python
smtp.login(username, password)
smtp.send_message(msg)
smtp.quit() # 发送完邮件后关闭连接
```
5. 将上述代码封装在一个函数里,你可以随时调用这个函数来发送邮件,只需要提供收件人和内容即可。
请注意保护好你的邮箱账号和密码,并且实时检查SMTP服务器的要求,因为不同的邮件服务商可能有不同的配置。
阅读全文