使用Python开发的邮件自动发送程序
发布时间:2023-12-04 15:50:42
邮件自动发送程序是一种可以帮助用户快速批量发送邮件的工具。Python提供了许多库和模块来实现邮件的发送功能,其中最常用的是smtplib和email库。
使用Python开发的邮件自动发送程序主要包括以下几个步骤:
1. 导入必要的库和模块:
import smtplib from email.mime.text import MIMEText from email.header import Header
2. 设置邮件的基本信息:
sender = 'sender@example.com' # 发件人邮箱 receiver = 'receiver@example.com' # 收件人邮箱 subject = '邮件主题' # 邮件主题 username = 'your_username' # 发件人邮箱登录用户名 password = 'your_password' # 发件人邮箱登录密码
3. 设置邮件内容:
message = MIMEText('邮件正文', 'plain', 'utf-8') # 创建一个邮件对象
message['From'] = Header(sender, 'utf-8') # 设置发件人
message['To'] = Header(receiver, 'utf-8') # 设置收件人
message['Subject'] = Header(subject, 'utf-8') # 设置主题
4. 发送邮件:
try:
server = smtplib.SMTP('smtp.example.com', 25) # 创建一个SMTP对象
server.login(username, password) # 登录SMTP服务器
server.sendmail(sender, receiver, message.as_string()) # 发送邮件
print('邮件发送成功')
except smtplib.SMTPException:
print('邮件发送失败')
finally:
server.quit() # 退出SMTP服务器
以上是一个简单的邮件自动发送程序的示例代码。用户需要根据实际情况,替换代码中的发件人、收件人、邮件主题、发件人邮箱登录用户名和密码等信息。
在实际应用中,通常会使用循环来实现批量发送邮件的功能。例如,可以读取一个包含多个收件人邮箱的文件,然后循环发送邮件给每个收件人。
下面是一个批量发送邮件的例子代码:
import smtplib
from email.mime.text import MIMEText
from email.header import Header
sender = 'sender@example.com' # 发件人邮箱
subject = '邮件主题' # 邮件主题
username = 'your_username' # 发件人邮箱登录用户名
password = 'your_password' # 发件人邮箱登录密码
with open('receivers.txt', 'r') as f:
receivers = f.readlines()
for receiver in receivers:
receiver = receiver.strip() # 去除收件人邮箱末尾的换行符
message = MIMEText('邮件正文', 'plain', 'utf-8') # 创建一个邮件对象
message['From'] = Header(sender, 'utf-8') # 设置发件人
message['To'] = Header(receiver, 'utf-8') # 设置收件人
message['Subject'] = Header(subject, 'utf-8') # 设置主题
try:
server = smtplib.SMTP('smtp.example.com', 25) # 创建一个SMTP对象
server.login(username, password) # 登录SMTP服务器
server.sendmail(sender, receiver, message.as_string()) # 发送邮件
print('邮件发送成功')
except smtplib.SMTPException:
print('邮件发送失败')
finally:
server.quit() # 退出SMTP服务器
以上的例子中,程序会读取一个名为"receivers.txt"的文件,该文件中包含了多个收件人邮箱,每行一个邮箱地址。程序会循环读取文件中的邮箱地址,然后发送邮件给每个收件人。
需要注意的是,在实际使用中,为了保护个人信息和邮箱账户安全,建议将发件人邮箱和登录密码等敏感信息存储在配置文件中,避免直接暴露在代码中。同时,也要注意遵守邮件发送的相关规定和法律法规,避免滥用邮件自动发送功能。
