gpt4 book ai didi

python - 使用 Python 脚本作为 cronjob 读取 Gmail 邮件

转载 作者:太空宇宙 更新时间:2023-11-04 02:44:51 25 4
gpt4 key购买 nike

我在访问 Gmail 帐户时遇到问题。目前,我正在使用 this用 python 2.7+ 编写的库,用于登录和阅读 Gmail 邮件。要使用该库,我必须启用 Google“不安全的应用程序”。这个库一切正常。

现在,我要迁移到 python 3+,我不能再使用该库了。每当我导入库时,它都会抛出以下错误:

import gmail
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.6/site-packages/gmail-0.0.5-py3.6.egg/gmail/__init__.py", line 16, in <module>
File "/usr/local/lib/python3.6/site-packages/gmail-0.0.5-py3.6.egg/gmail/gmail.py", line 5, in <module>
ModuleNotFoundError: No module named 'utf'

我试图通过查看 python 3+ 中“utf”的替换模块来解决这个问题,但我无法弄清楚它是什么。我该如何解决?

另一个问题是我尝试了谷歌提供的官方python库。 Here是教程的链接。我成功完成了快速入门示例,但脚本打开了我的浏览器,我必须允许通过浏览器进行访问。事实上,我只是想创建一个 cronjob 以在没有 UI 的情况下在我的服务器上定期运行我的脚本。 Google 允许吗?

非常感谢。

最佳答案

适用于 python 3 的 Gmail 官方 API并且有很多使用指南,例如:

https://github.com/abhishekchhibber/Gmail-Api-through-Python

但如果您觉得这太复杂(我也这么认为),您可能想从 Gmail 设置面板中使用 POP3 或 IMAP 激活访问。

然后使用 poplib 或 imaplib。

示例:https://docs.python.org/3/library/poplib.html#pop3-example

这通常更容易、更便携,并且使用默认 python 安装中已经找到的包。


编辑:

您使用的库使用的是 IMAP 访问,而不是 oauth。

同时回答你的“UTF”问题:python 3中的每个字符串默认都是UTF8,如果你想解码原始数据,你应该使用'mystring'.decode('utf-7')等。

编辑 2:看起来有人已经完成了这项工作:https://github.com/charlierguo/gmail/pull/48


好的,我刚刚在the instructions中看到了问题:

所以,我猜你唯一的选择就是坚持使用 POP3/IMAP(你的程序已经在使用它)。

关于python - 使用 Python 脚本作为 cronjob 读取 Gmail 邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45401272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com