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

Python编写一个邮件群发程序

发布时间:2023-12-04 14:08:50

以下是一个简单的Python邮件群发程序的示例代码:

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

def send_email(smtp_server, smtp_port, sender, password, receivers, subject, content):
    try:
        # 创建邮件对象
        message = MIMEMultipart()
        message['From'] = Header(sender, 'utf-8')
        message['To'] = Header(receivers[0], 'utf-8')
        message['Subject'] = Header(subject, 'utf-8')
        
        # 邮件正文内容
        message.attach(MIMEText(content, 'plain', 'utf-8'))
        
        # 发送邮件
        smtp_obj = smtplib.SMTP(smtp_server, smtp_port)
        smtp_obj.login(sender, password)
        smtp_obj.sendmail(sender, receivers, message.as_string())
        smtp_obj.quit()
        
        print("邮件发送成功")
    except smtplib.SMTPException:
        print("邮件发送失败")

# 设置SMTP服务器和端口号
smtp_server = "smtp.example.com"
smtp_port = 25

# 发件人和密码
sender = "sender@example.com"
password = "password"

# 收件人列表
receivers = ["recipient1@example.com", "recipient2@example.com"]

# 邮件主题和内容
subject = "邮件群发测试"
content = "这是一封测试邮件"

# 调用发送邮件函数
send_email(smtp_server, smtp_port, sender, password, receivers, subject, content)

在使用时,你需要根据你的实际情况修改smtp_serversmtp_portsenderpasswordreceiverssubjectcontent等参数。

在这个例子中,我们使用smtplib库实现了SMTP邮件发送功能,email库用于构造邮件对象。MIMEMultipart类用于创建带附件的邮件对象,MIMEText类用于创建纯文本邮件。send_email函数封装了邮件发送的整个过程。

这个程序可以实现邮件群发的功能。你只需要将所有的收件人地址放入receivers列表中,然后循环调用send_email函数。这样就可以一次发送给多个收件人。

需要注意的是,此程序只是一个简单的示例,不具备群发时的收件人隐藏、地址分组等功能。如果需要更复杂的邮件群发功能,可以考虑使用Python的第三方邮件库,如yagmailsmtplib的衍生库。