如何使用 Python 轻松自动化电子邮件

使用 Python 自动处理无聊的电子邮件——你知道大多数办公室工作的共同点吗?在大多数情况下,您必须定期发送电子邮件。无论您是程序员、数据科学家还是工程师,您都可能必须每天阅读和回复电子邮件。此活动不添加任何…

原文标题How to Easily Automate Emails with Python

如何使用 Python 轻松自动化电子邮件

使用 Python 自动处理无聊的电子邮件

如何使用 Python 轻松自动化电子邮件

你知道大多数办公室工作的共同点吗?在大多数情况下,您必须定期发送电子邮件。

无论您是程序员、数据科学家还是工程师,您都可能必须每天阅读和回复电子邮件。这项活动不会为我们的职业增加任何价值,但它会停止我们的工作流程并占用我们宝贵的时间。

解决方案?使用 Python 实现自动化!

在本指南中,我将向您展示如何使用 Python 自动发送电子邮件。我们将在本教程中使用 Gmail,因此请确保您有一个 Gmail 帐户来测试这种自动化。

Table of Contents
1. Turn On 2-Step Verification
2. Sending Email with Python
- Import the libraries and set email sender and receiver
- Set the subject and body of the email
- Add SSL
- Log in and send the email
3. Schedule the Python Script to Run Monthly, Weekly, or Daily

如果你不喜欢看书,你可以看我的视频!

1.开启两步验证

在我们开始编写代码之前,我们需要设置我们的 Gmail 帐户以便能够在 Python 中使用它。

过去,我们可以通过打开“不太安全的应用程序访问”轻松使用 Python 连接到 Gmail,但该选项不再可用。我们现在要做的就是打开两步验证来获取一个 16 个字符的密码,我们可以使用它来使用 Python 登录 Gmail。

首先,转到您的 Google 帐户,选择您要用于本教程的帐户,然后在左侧面板上选择“安全性”选项。[0]

如何使用 Python 轻松自动化电子邮件

然后向下滚动,直到找到“登录 Google”部分。在这里,我们需要点击“两步验证”。

如何使用 Python 轻松自动化电子邮件

在此之后,我们将看到一个新页面。我们必须点击“开始”

Google 将要求重新登录。然后我们必须介绍一个电话号码,然后单击“下一步”。我们将获得一个代码来验证我们的电话号码。介绍完代码后,我们应该会看到以下页面。

如何使用 Python 轻松自动化电子邮件

我们需要点击“打开”。

如果一切设置正确,我们将看到一个新页面,其中显示“两步验证已开启”消息。

最后,我们需要转到“应用程序密码”部分,因此再次访问您的 Google 帐户,单击“安全性”,向下滚动直到找到“登录 Google”部分,然后选择“应用程序密码”。[0]

如何使用 Python 轻松自动化电子邮件

我们需要重新登录。之后,我们应该看到下面的页面。

如何使用 Python 轻松自动化电子邮件

在“选择应用程序”下拉列表中,选择“其他(自定义名称)”并输入您想要的任何名称。我将我的命名为“Python”,然后单击“生成”

之后,我们应该会在一个黄色框中看到一个包含 16 个字符的密码的新页面,如下所示。

如何使用 Python 轻松自动化电子邮件

一切就绪!我们将使用这个 16 个字符的密码通过 Python 登录到我们的 Gmail 帐户。

现在,您可以复制此密码并将其粘贴到 Python 脚本中的变量中,或者使用环境变量隐藏密码(我强烈建议您这样做)。您可以按照我的指南在 Windows 和 macOS 上创建环境变量。[0]

2. 使用 Python 发送电子邮件

一旦我们打开两步验证并拥有 16 个字符的密码,我们就可以开始编写代码了。

导入库并设置电子邮件发件人和收件人

要使用 Python 发送电子邮件,我们需要使用以下内置 Python 库。

import smtplib
import ssl
from email.message import EmailMessage

email_sender = 'codelessearnmore@gmail.com'
email_password = 'write-password-here'
email_receiver = 'write-email-receiver-here'

此外,我们设置了电子邮件发件人和密码(这是我们用来打开两步验证的电子邮件)以及电子邮件接收人。

请注意,电子邮件接收者不必是 Gmail 帐户,但可以来自不同的电子邮件服务。

设置电子邮件的主题和正文

现在我们需要定义一个主题和一个主体。我们可以在这里写任何我们想要的东西。

subject = 'Check out my new video!'
body = """
I've just published a new video on YouTube: https://youtu.be/2cZzP9DLlkg
"""

请注意,我在正文中打开三引号以编写多行。

在此之后,我们实例化 EmailMessage 类并使用我们之前为电子邮件、主题和正文创建的变量。

em = EmailMessage()
em['From'] = email_sender
em['To'] = email_receiver
em['Subject'] = subject
em.set_content(body)

Add SSL

现在让我们使用 SSL 来增加一层安全性。 SSL 是保持互联网连接安全和保护在两个系统之间发送的任何敏感数据的标准技术。

context = ssl.create_default_context()

登录并发送电子邮件

最后,我们指定 hostsmtp.gmail.com,通过端口 465 连接并使用上一步中定义的上下文登录并发送我们的电子邮件。

恭喜!我们刚刚使用 Python 发送了一封电子邮件。转到 email_receiver 收件箱查看我们发送的电子邮件。

这是我收到的电子邮件。

如何使用 Python 轻松自动化电子邮件

您可以在我的 Github 上查看我们在本指南中构建的脚本。[0]

注意:如果在运行脚本后收到 ssl.SSLCertVerificationError,请搜索名为 Install Certificates.command 的文件并安装它。

为此,请转到“应用程序”,单击名为“Python 3.X”的文件夹,然后双击文件 Install Certificates.command。

如何使用 Python 轻松自动化电子邮件

安装完成后,运行脚本时不应收到任何错误消息。

3. 安排 Python 脚本每月、每周或每天运行

您可以使用 macOS 上的 crontab 和 Windows 上的任务调度程序安排这个 Python 脚本每天或每周执行一次。

要了解如何执行此操作,请查看下面的指南。

自动化你的生活!加入我的电子邮件列表与 10k+ 人一起获取我的免费自动化备忘单。[0]

如果您喜欢阅读此类故事并希望支持我作为作家,请考虑注册成为 Medium 会员。每月 5 美元,让您可以无限制地访问数以千计的 Python 指南和数据科学文章。如果您使用我的链接注册,我将赚取少量佣金,您无需支付额外费用。[0]

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(1)
乘风的头像乘风管理团队
上一篇 2022年6月14日 下午2:49
下一篇 2022年6月14日 下午2:59

相关推荐