Pythonsend_mail()函数实现批量发送邮件的技巧
发布时间:2024-01-10 10:25:26
Python提供了smtplib模块来发送邮件,可以使用此模块批量发送邮件。下面是一个实现批量发送邮件的send_mail()函数的代码:
import smtplib
from email.mime.text import MIMEText
def send_mail(sender, receiver, subject, body, smtp_server, username, password):
# 创建邮件的内容
msg = MIMEText(body)
msg["From"] = sender
msg["To"] = ",".join(receiver)
msg["Subject"] = subject
# 发送邮件
try:
server = smtplib.SMTP(smtp_server)
server.login(username, password)
server.sendmail(sender, receiver, msg.as_string())
server.quit()
return True
except Exception as e:
print("发送邮件失败:", e)
return False
参数说明:
- sender: 发件人邮箱地址
- receiver: 收件人邮箱地址列表
- subject: 邮件主题
- body: 邮件内容
- smtp_server: SMTP服务器地址,例如"smtp.gmail.com"(具体地址需要根据邮箱提供商来确定)
- username: 发件人邮箱用户名
- password: 发件人邮箱密码
使用该函数进行批量发送邮件的示例如下:
sender = "sender@example.com"
receiver = ["receiver1@example.com", "receiver2@example.com"]
subject = "这是一封测试邮件"
body = "这是邮件的内容"
smtp_server = "smtp.example.com"
username = "username"
password = "password"
# 批量发送邮件
for email in receiver:
success = send_mail(sender, [email], subject, body, smtp_server, username, password)
if success:
print("邮件发送成功")
else:
print("邮件发送失败")
以上是实现批量发送邮件的send_mail()函数及其使用方法的示例。可以根据具体的需求进行参数配置,并通过循环批量发送邮件给不同的收件人。
