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

使用Python编写邮件群发程序

发布时间:2023-12-04 10:36:54

Python是一种广泛使用的编程语言,拥有强大的邮件处理库。通过使用Python编写邮件群发程序,我们可以轻松地向多个收件人发送相同的邮件,提高工作效率。下面是一个使用Python编写的邮件群发程序的示例:

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

def send_mail(from_addr, password, to_addrs, subject, body):
    # 创建包含邮件内容的MIMEMultipart对象
    message = MIMEMultipart()
    message['From'] = from_addr
    message['To'] = ','.join(to_addrs)
    message['Subject'] = subject

    # 创建文本内容的MIMEText对象,并将其添加到MIMEMultipart对象中
    body = MIMEText(body, 'plain')
    message.attach(body)

    # 使用SMTP服务器登录发送邮件
    smtp_server = smtplib.SMTP('smtp.gmail.com', 587)
    smtp_server.starttls()
    smtp_server.login(from_addr, password)

    # 发送邮件
    smtp_server.sendmail(from_addr, to_addrs, message.as_string())
    smtp_server.quit()

# 使用示例
if __name__ == '__main__':
    from_addr = 'your_email@gmail.com'
    password = 'your_password'
    to_addrs = ['recipient1@example.com', 'recipient2@example.com']
    subject = 'Test Email'
    body = 'This is a test email.'

    send_mail(from_addr, password, to_addrs, subject, body)

在这个示例中,我们首先导入了smtplib库和MIMETextMIMEMultipart类,这些模块和类使我们能够创建并发送带有正文和附件的邮件。

然后,我们定义了一个send_mail函数,该函数接受发送方邮箱地址、密码、收件人邮箱地址、主题和正文作为参数。在函数内部,我们创建了一个MIMEMultipart对象,并设置了发件人、收件人和主题。然后,我们创建了一个MIMEText对象来保存正文并将其附加到MIMEMultipart对象中。

接下来,我们使用SMTP服务器进行登录,并调用sendmail方法发送邮件。最后,我们关闭SMTP连接。在上面的示例中,我们使用了Gmail的SMTP服务器,你可以根据自己的需求更改为其他SMTP服务器。

然后,在if __name__ == '__main__':语句块中,我们提供了一些示例参数,并调用send_mail函数来发送测试邮件。

这只是一个简单的邮件群发程序示例,你可以根据自己的需求进行更改和扩展。例如,你可以通过读取收件人列表的方式批量发送邮件,使程序更智能化和灵活化。请注意,在实际使用中,请确保你有合法的授权来发送邮件,以避免滥用和垃圾邮件问题。