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

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

当人们谈论 Python 时,很难忽视其功能的传播范围以及只需几段代码即可实现的功能。 今天,发送和接收电子邮件是最相关的事情,而 Python 在 Microsoft Outlook 中的电子邮件自动化使事情变得更容易。

当您可以让 Python 在单个实例中为您完成时,为什么还要花费无尽的时间在电子邮件客户端上编译电子邮件? 如果您感兴趣,您必须继续阅读以了解如何使用 Microsoft Outlook 从 Python 发送自动电子邮件。

推荐:如何在Python中构建Ping Sweeper

满足一些先决条件

考虑到本指南中引用的两个主要平台,这些是启用此简单但有用的任务的先决条件。 要开始,请下载并安装以下内容:

  • 微软展望: 您必须在系统上安装并运行 MS Outlook 应用程序。 您可以在 Outlook 中使用任何电子邮件域,因为它对电子邮件配置没有任何限制。
  • win32com.client: 此第三方库对于连接到您的 Microsoft 应用程序至关重要。 由于 Microsoft Outlook 就是这样一种应用程序,因此您需要 Python 中的这个库来连接到 Outlook 交换服务器。

Microsoft Outlook 是最古老、使用最广泛的电子邮件客户端之一,在 Gmail 和 Yahoo 之后位列最受欢迎的电子邮件提供商列表中。 在本指南中,Gmail 地址是在 Outlook 中配置的。

win32com.client 是这段代码不可或缺的一部分,您需要一个功能齐全的库来建立 Microsoft Outlook 和 Python 之间的连接。

检查 win32com.client 版本

在安装之前,您可以检查是否 win32com 已经安装在您的机器上。 某些 IDE 版本默认提供此包。 您可以使用以下命令交叉检查它是否可用。

python -m pip show pywin32

如果你得到一个错误 “pip”未被识别为内部或外部命令 在运行上述命令时,您可以在 Windows、Mac 和 Linux 上安装 pip,以确保您的库安装是无缝的。

运行上述命令后,如果收到版本号,则无需再次安装。

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

随后,如果您收到以下错误消息,则需要安装 win32com 系统上的库:

'pywin32'isnot recognized as an internal or external command, operable program, or batch file.

推荐:10个适用于Shopify最佳联系表单应用程序

安装 win32com 库

打开提示并输入 命令从终端窗口安装库。

python -m pip install pywin32
Windows 命令与 Python 安装命令

按照屏幕上的说明完成该过程。 您可以使用 – 节目 命令安装后验证是否 win32com 已成功安装在您的系统上。

python -m pip show pywin32

使用 Outlook 从 Python 发送电子邮件

由于满足了先决条件,现在是开始编写代码的时候了。 首先,您需要导入 win32com.client 图书馆通过使用 进口 陈述。

import win32com.client

您现在可以编写代码来连接 Python 和 Microsoft 的电子邮件应用程序 Outlook。

ol = win32com.client.Dispatch('Outlook.Application')

在哪里:

  • :用于存储连接引用的新变量。
  • win32com.client: 用于在 Python 和 Outlook 之间建立连接的 Windows 库。
  • 派遣:创建连接的函数。
  • Outlook.应用程序:这可以根据需要替换为任何 Microsoft 应用程序名称。
在 Jupyter Notebook 中导入库的 Python 代码

接下来,有必要定义新电子邮件的维度,以便 Python 了解需要更新内容的位置。


olmailitem = 0x0

在哪里:

  • olmailitem:用于存储尺寸的新变量。
  • 0x0:Python 内存中新电子邮件的维度。

一旦您定义了电子邮件正文尺寸,Python 的函数就会弹出一个新的电子邮件项目。

newmail = ol.CreateItem(olmailitem)

在哪里:

  • 新邮件:用于存储新电子邮件参考的新变量。
  • :参考先前在 Python 和 Outlook 之间创建的连接。
  • 创建项目(olmailitem):创建新电子邮件草稿的命令。

由于每封没有主题行的电子邮件都是不完整的,您可以在代码中定义它,以便 Python 在将电子邮件发送给收件人之前自动添加它。 这将对收件人可见,因此请注意如何定义案例和内容。

newmail.Subject = 'Testing Mail'

在哪里:

  • 新邮件: 用于存储新邮件项目引用的变量。
  • 主题:这可能会有所不同,具体取决于您希望将什么作为电子邮件的主题。

您可以在 CC 关键字如下:

newmail.To = 'xyz@gmail.com'
newmail.CC = 'xyz@gmail.com'

在哪里:

  • :主要收件人的电子邮件地址。
  • CC:复制的电子邮件收件人。

使用 Python,您可以将电子邮件发送给多个收件人。 添加一个 分号 (;) 收件人/抄送列中电子邮件 ID 之间的分隔符。

最后,一旦您定义了主题和收件人,您就可以将电子邮件正文添加到新邮件项目中,然后再将其发送给 CC 列。

newmail.Body= 'Hello, this is a test email to showcase how to send emails from Python and Outlook.'

要将附件添加到您的电子邮件,您可以使用以下命令:

attach = 'C:\\Users\\admin\\Desktop\\Python\\Sample.xlsx'
newmail.Attachments.Add(attach)

由于电子邮件已准备好发送,您可以使用两个选项。 如果您想在将电子邮件发送给收件人之前预览您的电子邮件,您可以使用 展示() 命令如下:

newmail.Display()

您可以使用 发送() 如果您想在不事先查看的情况下发送电子邮件,请使用命令。

newmail.Send()

请记住,如果您使用 发送 直接命令。 如果您定期更改电子邮件正文内容,请明智地使用此命令。 您可以使用Python代码一次性导入库,建立连接,快速发送邮件。

这是完整的代码:

import win32com.client
ol=win32com.client.Dispatch("outlook.application")
olmailitem=0x0 
newmail=ol.CreateItem(olmailitem)
newmail.Subject= 'Testing Mail'
newmail.To='xyz@gmail.com'
newmail.CC='xyz@gmail.com'
newmail.Body= 'Hello, this is a test email to showcase how to send emails from Python and Outlook.'
# newmail.Attachments.Add(attach)
newmail.Send()
使用 Python 发送的 Outlook 电子邮件片段

Python 电子邮件自动化的好处

Python 电子邮件自动化使您能够直接从 Python 界面发送电子邮件,而无需打开 MS Outlook。 如果您是 Python 的狂热用户并且不太热衷于反复打开电子邮件客户端来输入电子邮件,则可以让编程语言为您完成。

当您可以使用带有几行代码的 Python 发送自动电子邮件时,为什么要花费数小时来执行重复性任务?

推荐:如何在Debian 12/11 Linux中安装Podman


发表评论