使用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库和MIMEText、MIMEMultipart类,这些模块和类使我们能够创建并发送带有正文和附件的邮件。
然后,我们定义了一个send_mail函数,该函数接受发送方邮箱地址、密码、收件人邮箱地址、主题和正文作为参数。在函数内部,我们创建了一个MIMEMultipart对象,并设置了发件人、收件人和主题。然后,我们创建了一个MIMEText对象来保存正文并将其附加到MIMEMultipart对象中。
接下来,我们使用SMTP服务器进行登录,并调用sendmail方法发送邮件。最后,我们关闭SMTP连接。在上面的示例中,我们使用了Gmail的SMTP服务器,你可以根据自己的需求更改为其他SMTP服务器。
然后,在if __name__ == '__main__':语句块中,我们提供了一些示例参数,并调用send_mail函数来发送测试邮件。
这只是一个简单的邮件群发程序示例,你可以根据自己的需求进行更改和扩展。例如,你可以通过读取收件人列表的方式批量发送邮件,使程序更智能化和灵活化。请注意,在实际使用中,请确保你有合法的授权来发送邮件,以避免滥用和垃圾邮件问题。
