Python群发邮件实例代码

当我们需要向多个人发送相同内容的邮件时,手动逐一发送邮件显然是一件非常繁琐的事情。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技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • Pycharm无法正常安装第三方库的几条应对方法汇总

    以下是关于 Pycharm 无法正常安装第三方库的几条应对方法汇总的攻略: 问题描述 在使用 Pycharm 进行 Python 开发时,有会遇无法正常安装第三方库的情况。本文将介绍几条对方法,帮助解决这个问题。 解决方法 1. 使用 pip 安装 可以使用 pip 命令在命令行中安装第三方库。示例代码如下: pip install 在上述代码中,我们使用 …

    python 2023年5月13日
    00
  • python重写方法和重写特殊构造方法

    Python重写方法和重写特殊构造方法 在Python中,我们可以通过重写方法和特殊构造方法来改变类的行为。本文将详细介绍如何重写方法和特殊构造方法,并提供两个示例说明。 重写方法 重写方法是指在子类中重新定义父类中已有的方法。这样做可以改变方法的行为,使其适应子类的需求。在Python中,我们可以通过在子类中定义与父类同名的方法来重写方法。 下面是一个示例…

    python 2023年5月13日
    00
  • Python字符串的encode与decode研究心得乱码问题解决方法

    Python字符串的encode与decode研究心得乱码问题解决方法 背景 在Python中,字符串的编码类型有很多种,如utf-8、gbk、gb2312、ascii等等。不同的编码类型会导致字符串无法正确解析,即出现乱码。 解决乱码问题的方法之一就是使用字符串的encode和decode方法。这两个方法可以将字符串在不同的编码类型之间进行转换,从而解决乱…

    python 2023年5月20日
    00
  • Python网络爬虫之Web网页基础

    Python网络爬虫之Web网页基础 Python网络爬虫是一种获取互联网信息的技术,目的是从Web网页中获取数据。Web网页作为能够展示信息的载体,是爬虫爬取数据的主要目标对象。本文将向读者介绍Python网络爬虫之Web网页基础。 Web网页基础 Web网页是HTML文档,它是由标记文本、标记标签以及一些超链接组成的。HTML文档的基本语法如下: &lt…

    python 2023年5月14日
    00
  • 基于Python制作图像完美超分处理工具

    下面是“基于Python制作图像完美超分处理工具”的完整攻略: 1. 确定需求和目标 首先需要明确制作的图像超分处理工具的需求和目标,例如需要支持哪些图像格式、超分处理的放大倍数等。同时需要确定使用哪些Python第三方库和算法来实现超分处理功能。 2. 数据准备 准备用于训练和测试超分处理模型的数据,并对数据进行预处理和清洗。为了提升模型效果,可以使用数据…

    python 2023年6月3日
    00
  • python中对list去重的多种方法

    在Python中,对于一个列表(List)中的元素,可能会存在重复的情况。为了去除列表中的重复元素,可以使用多种方法本文将详细讲解Python中对List去重的多种方法,包括使用set()函数、使用列表推式、使用字典等方法。 方法一:使用set()函数 set()函数是Python中的一个内置函数,可以于创建一个无序不重元素集,可以用于去除列表的重复元素。例…

    python 2023年5月12日
    00
  • 详解Python PIL ImagePath.Path.map()方法

    Python PIL(Python Imaging Library)是一种操作图像数据的Python库,而其中的ImagePath模块提供了各种处理图片的功能。其中,Path.map()是ImagePath.Path对象的一个方法,用于在所有路径名称的基础上调用给定的函数(即接受一个字符串参数并返回一个字符串的函数)。在这里我们来详细讲解一下这个方法,并提供…

    python-answer 2023年3月25日
    00
  • python3.7 的新特性详解

    Python 3.7的新特性详解 Python 3.7版本于2018年6月发布,它引入了很多新的特性和更新,这些新特性涵盖各种方面,从更好的文本处理到代码性能提升。在本文中,我们将讲解Python 3.7的新特性。 1. Data Classes(数据类) Python 3.7中引入了一个新的装饰器:@dataclass。它可以用于快速创建一个类,该类只需要…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部