3.7 KiB
使用 EZGmail 和 Python 发送电子邮件
原文:https://www.blog.pythonlibrary.org/2019/06/04/sending-email-with-ezgmail-and-python/
你有没有想过用 Python 编程语言用 GMail 发邮件?2018 年,用 Python 自动化枯燥的东西的畅销书作者 Al Sweigart 创建了一个名为 EZGmail 的包。你也可以使用谷歌自己的绑定来做这类事情,但是这比使用 EZGmail 要复杂得多。
在本文中,我们将快速了解如何使用这个包。
安装
您的第一步是使用 pip 安装 EZGmail。方法如下:
pip install ezgmail
然后转到https://developers.google.com/gmail/api/quickstart/python,点击启用 Gmail API 按钮。这将允许你下载一个 credentials.json 文件,并给你一个客户端 ID 和客户端密码。您可以在 Google 的 Python API 客户端使用后一种凭证,如果需要,您可以在这里管理这些凭证。
现在,将凭证文件复制到您计划编写代码的位置。然后,您需要在您的终端中运行 Python,运行位置与您下载的凭证文件的位置相同。
下一步是运行ezgmail.init(). This will open up a web browser to Gmail where it will ask you to allow access to your application. If you grant access, EZGmail will download a tokens file so that it doesn't need to have you reauthorize it every time you use it.
要验证一切都正常工作,您可以运行以下代码:
>>> ezgmail.EMAIL_ADDRESS
'your_email_address@gmail.com'
这应该会打印出您的 Gmail 帐户名称。
使用 EZGmail 发送电子邮件
您可以使用 EZGmail 发送和阅读电子邮件。
让我们看一个发送电子邮件的简单例子:
>>> email = 'joe@schmo.com'
>>> subject = 'Test from EZGmail'
>>> text = 'This is only a test'
>>> ezgmail.send(email, subject, text)
这将向您指定的帐户发送一封带有主题和文本的电子邮件。您还可以传入要发送的附件列表。最后,EZGmail 支持抄送和密件抄送,尽管如果你使用它们或电子邮件字段本身发送到多个地址,参数只接受字符串。这意味着电子邮件地址需要在字符串中用逗号分隔,而不是电子邮件地址列表。
阅读 Gmail
你也可以用 EZGmail 阅读邮件。最好的两种方法是使用recent() and unread() methods.``
以下是一些例子:
>>> recent = ezgmail.recent()
>>> unread = ezgmail.unread()
这些方法中的每一个都返回一个列表GmailThread objects. A GmailThread has the following attributes:``
- 信息
- 发报机
- 接受者
- 科目
- 身体
- 时间戳
您可以遍历这些列表,并根据需要提取任意或所有这些项目。
还有一个方便的功能,您可以使用它来打印您的电子邮件摘要:
>>> ezgmail.summary(unread)
当您运行这段代码时,EZGmail 可能需要一段时间来下载和解析电子邮件。但是请注意,默认情况下,它最多只能下载 25 封电子邮件的数据。如果需要,您可以将最大值更改为一个更高的数字,但是要注意有一个数据配额限制。
包扎
EZGmail 包非常简洁。本教程没有涉及到它,但是你也可以使用 EZGmail 通过search() function. Be sure to give the package a try or at least study the source code. Happy coding!来搜索你的邮件
相关阅读
- 如何用 Python 发送电子邮件