安装程序

此页显示如何安装 yagmail 以及如何设置它以使用您的系统密钥环服务。

从PYPI安装

通常的安装方法 yagmail 通过PyPI。建议与 keyring 库,运行以下命令(分别针对Python 2.x和3.x):

pip install yagmail[all]
pip3 install yagmail[all]

如果安装 yagmail 具有 keyring 导致问题,忽略 [all] 在没有的情况下安装它。

从GitHub安装

如果您不害怕偶尔发生故障,也可以直接从GitHub安装 repository . 可以通过运行以下命令(分别针对Python 2.x和3.x)来实现:

pip install -e git+https://github.com/kootenpv/yagmail#egg=yagmail[all]
pip3 install -e git+https://github.com/kootenpv/yagmail#egg=yagmail[all]

就像PyPI安装方法一样,如果使用 keyring 只需忽略 [all] 安装 yagmail 没有它。

配置凭据

虽然可以在脚本中输入电子邮件地址的用户名和密码, yagmail 使您可以忽略这两个。引用 keyring 的S README ::

What is Python keyring lib?

The Python keyring lib provides a easy way to access the system
keyring service from python. It can be used in any
application that needs safe password storage.

如果这引起了您的兴趣,请设置一个Python解释器,并运行以下命令来注册您的GMail凭据 yagmail

import yagmail
yagmail.register('mygmailusername', 'mygmailpassword')

(这只是 keyring.set_password('yagmail', 'mygmailusername', 'mygmailpassword') )现在,实例化 yagmail.SMTP 很容易做到:

yag = yagmail.SMTP('mygmailusername')

如果还想省略用户名,可以创建 .yagmail 文件在你的主文件夹,只包含你的用户名。然后,可以在不传递任何参数的情况下实例化SMTP客户机。

使用OAuth2

使用OAuth2进行身份验证的另一个相当安全的方法,因为您可以撤消令牌的权限。要使用OAuth2,请将凭据文件的位置传递给 yagmail.SMTP

yag = yagmail.SMTP('user@gmail.com', oauth2_file='~/oauth2_creds.json')
yag.send(subject="Great!")

如果找不到该文件,则会提示输入 google_client_idgoogle_client_secret . 你可以在 this OAauth2 Guide ,其OAauth2代码 yagmail 基础很重。在您提供这些之后,终端中将显示一个链接,您应该按照该链接获得 google_refresh_token . 再贴一次这个,你就成功了!

如果有人获得了文件,他们可以发送电子邮件,但不能发送其他文件。一旦您注意到,您可以简单地禁用令牌。