当我们需要向多个人发送相同内容的邮件时,手动逐一发送邮件显然是一件非常繁琐的事情。Python的smtplib和email库提供了一种便捷的方式来群发邮件,需要我们完成以下步骤:
1.准备收件人邮箱信息和邮件正文信息。
2.使用smtplib库连接邮件服务器,认证登录账号。
3.创建EmailMessage对象,设置邮件标题、发送者、正文等信息。
4.发送邮件。
下面是Python群发邮件的示例代码:
import smtplib
from email.message import EmailMessage
# 收件人邮箱列表
to_emails = ["recipient1@example.com", "recipient2@example.com"]
# 邮件主题
subject = "Python群发邮件测试"
# 邮件内容
body = "这是一封Python群发邮件测试邮件!"
# 发件人邮箱及授权码
from_email = "your_email@example.com"
password = "your_email_password"
# 连接邮件服务器,登录账号
with smtplib.SMTP_SSL("smtp.example.com", 465) as smtp:
smtp.login(from_email, password)
# 创建EmailMessage对象,设置邮件标题、发送者、正文等信息
msg = EmailMessage()
msg["Subject"] = subject
msg["From"] = from_email
msg["To"] = to_emails
msg.set_content(body)
# 发送邮件
smtp.send_message(msg)
在以上代码中,我们将收件人邮箱地址存储在一个列表中,设置了邮件主题和正文内容,还指定了发件人邮箱及授权码。通过smtplib.SMTP_SSL()连接邮箱服务器后,使用smtplib库中的login()方法完成了账号登录。在创建EmailMessage对象时,设置了邮件主题、发送者、正文等信息,并通过set_content()方法设置邮件正文。最后,使用smtp.send_message()方法将邮件发送给多个收件人。
接下来,我们再来看一个更加完整的Python群发邮件示例代码,该代码还能够带附件:
import smtplib
from email.message import EmailMessage
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
# 收件人邮箱列表
to_emails = ["recipient1@example.com", "recipient2@example.com"]
# 邮件主题
subject = "Python带附件群发邮件测试"
# 邮件内容
body = "这是一封Python带附件群发邮件测试邮件!"
# 发件人邮箱及授权码
from_email = "your_email@example.com"
password = "your_email_password"
# 连接邮件服务器,登录账号
with smtplib.SMTP_SSL("smtp.example.com", 465) as smtp:
smtp.login(from_email, password)
# 创建包含附件的EmailMessage对象,设置邮件标题、发送者、正文等信息
msg = MIMEMultipart()
msg["Subject"] = subject
msg["From"] = from_email
msg["To"] = to_emails
msg.attach(MIMEText(body))
# 添加附件
with open("attachment.txt", "rb") as f:
attach = MIMEApplication(f.read(), _subtype="txt")
attach.add_header("content-disposition", "attachment", filename="attachment.txt")
msg.attach(attach)
# 发送邮件
smtp.send_message(msg)
在以上代码中,使用了email库中的MIMEMultipart、MIMEText和MIMEApplication模块来设置邮件的正文和附件。通过with open("attachment.txt", "rb") as f:读取文件内容并创建附件对象,设置附件的文件名和类型,并通过msg.attach(attach)添加到邮件中。
这是两个简单实用的Python群发邮件示例代码,可以帮助我们快速实现批量发送邮件需求。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python群发邮件实例代码 - Python技术站