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日

相关文章

  • Python 复杂设计注意事项

    Python是一门非常灵活的编程语言,由于其语法简洁易学,使得其在现代软件工程中变得越来越流行。Python提供了许多复杂的设计模式和技术,包括装饰器和迭代生成器等。下面详细讲解Python复杂设计注意事项和使用方法的完整攻略。 函数式编程 函数式编程是指编写能够接受输入并返回输出的函数,这在Python中十分常见。Python的函数是一等公民,这意味着它们…

    python-answer 2023年3月25日
    00
  • Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解

    Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解 什么是PyAutoGUI模块 PyAutoGUI是一款用于控制鼠标和键盘的Python模块。它可以在Windows、macOS和Linux上工作,实现的任务包括单击、双击、拖动、按键、松开按键等等。在自动化测试、GUI自动化、脚本测试等领域都有广泛的应用。 安装PyAutoGUI 可以在命…

    python 2023年5月19日
    00
  • Python标准库使用OrderedDict类的实例讲解

    Python标准库使用OrderedDict类的实例讲解 在 Python 标准库中,有一个非常有用的数据类型是 OrderedDict 类。它可以帮助我们在字典中保留元素的插入顺序,而不是按升序或降序排列。 1. OrderedDict 类 OrderedDict 类是一个有序字典,就是它可以记住加入元素的顺序。它继承自字典(dict),所以在使用上和普通…

    python 2023年6月3日
    00
  • Python total_ordering定义类

    Python中的total_ordering是一个装饰器函数,用于自动为类生成比较运算符方法。在这种情况下,只需要定义其中的一部分-例如__lt__和__eq__,另外的比较方法将自动从它们中推导出来。 要使用total_ordering,只需要在class定义前添加@functools.total_ordering装饰器,然后定义类中所需的比较方法__eq…

    python-answer 2023年3月25日
    00
  • python 常见的反爬虫策略

    针对Python常见的反爬虫策略,我列举以下几种: 一、headers反爬虫策略 在requests.get()或其他requests请求中,headers可以用于模拟浏览器向网站发送请求。因此,最基本的headers反爬虫策略是检测请求中的headers是否含有某些特定信息,例如User-Agent。如果请求中不包含正常浏览器的headers,很可能就会被…

    python 2023年5月14日
    00
  • Python爬虫爬取新闻资讯案例详解

    Python爬虫爬取新闻资讯案例详解 Python爬虫可以用来获取互联网上的各种数据,包括新闻资讯。本文将详细讲解如何使用Python爬虫爬取新闻资讯,并提供两个示例说明。 1. 确定目标新闻网站 首先要明确需要爬取的新闻资讯网站,比较常见的包括新浪、腾讯、网易等。不同的网站可能需要不同的爬虫策略,需要针对具体情况进行选择。 2. 分析网站结构 在确定了目标…

    python 2023年5月14日
    00
  • Python多线程实现同步的四种方式

    Python多线程实现同步的四种方式 在Python中,多线程是一种常见的编程方式。但是,多线程编程中,同步是个重要问题。为了实现线程间的同步,Python提供了四种方式。 1. 锁机制 锁机制是Python中最基本的同步机制。当多个线程同时尝试访问共享资源时,可能会导致数据不一致。为了防止这种情况发生,我们可以使用锁机制。锁机制基于threading库来实…

    python 2023年5月18日
    00
  • Python绘制数码晶体管日期

    下面是Python绘制数码晶体管日期的完整攻略。 简介 数码晶体管是一种电子显示器件,这种显示器很早就被广泛应用于计算机、电子表和其他电子设备的显示屏中。本攻略将使用Python的turtle库绘制一个简单的数码晶体管日期。 准备工作 在开始之前,我们需要安装Python和turtle库。具体操作可以参考安装教程。 绘制数字 我们先来实现绘制数字的函数。为了…

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