欢迎访问宙启技术站
智能推送

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()函数及其使用方法的示例。可以根据具体的需求进行参数配置,并通过循环批量发送邮件给不同的收件人。