安装程序¶
此页显示如何安装 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_id
和 google_client_secret
. 你可以在 this OAauth2 Guide ,其OAauth2代码 yagmail
基础很重。在您提供这些之后,终端中将显示一个链接,您应该按照该链接获得 google_refresh_token
. 再贴一次这个,你就成功了!
如果有人获得了文件,他们可以发送电子邮件,但不能发送其他文件。一旦您注意到,您可以简单地禁用令牌。