python批量发送邮件
时间: 2024-10-07 15:00:35 浏览: 5
在Python中,可以使用内置的`smtplib`库以及第三方库如`email`来批量发送电子邮件。以下是一个基本步骤的概述:
1. 导入所需的模块:
```python
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
```
2. 配置发件人、收件人列表和邮件内容:
```python
sender_email = 'your-email@example.com'
password = 'your-password'
recipients = ['recipient1@example.com', 'recipient2@example.com']
subject = 'Batch Email Test'
body = 'This is a batch email sent from Python.'
```
3. 创建一个MIMEMultipart对象并设置邮件头信息:
```python
msg = MIMEMultipart()
msg['From'] = sender_email
msg['To'] = ', '.join(recipients)
msg['Subject'] = subject
```
4. 添加邮件正文:
```python
msg.attach(MIMEText(body, 'plain'))
```
5. 连接到SMTP服务器,如果需要,可以使用SSL/TLS加密连接:
```python
smtp_server = 'smtp.example.com'
port = 465 # for SSL or 587 for TLS (default port may vary)
server = smtplib.SMTP_SSL(smtp_server, port) if port == 465 else smtplib.SMTP(smtp_server, port)
server.login(sender_email, password)
```
6. 发送邮件给每个收件人:
```python
for recipient in recipients:
msg['To'] = recipient
server.sendmail(sender_email, [recipient], msg.as_string())
```
7. 关闭SMTP连接:
```python
server.quit()
```