尝试通过 python 获取电子邮件

Posted

技术标签:

【中文标题】尝试通过 python 获取电子邮件【英文标题】:Trying to fetch emails via python 【发布时间】:2021-01-28 14:11:54 【问题描述】:

我正在尝试使用 python 从我的 gmail 中获取收件箱/电子邮件。但是,我使用的代码无法运行?我正在学习教程,但我的输出有所不同。我是 python 新手。

import email   
import imaplib

username = '****@gmail.com'
password = '****'

mail = imaplib.IMAP4_SSL("imap.gmail.com")
mail.login(username, password)

mail.select("inbox")

When I run it via visual studio, I get this error.

我在我的 google 帐户上打开了让安全应用程序访问功能,在我的 gmail 设置上打开了 imap。我究竟做错了什么?我正在尝试从 gmail 获取电子邮件并查看收件箱等。

有什么帮助吗?

【问题讨论】:

为什么您认为您的代码没有运行?还有,什么错误? 嗨,将真实密码放到网上并不是一件好事,尤其是在公共论坛上。 哎呀,删除了密码。只是一封测试电子邮件。错误是超链接的。它只是在终端中返回:PS C:\Users\Nathan\Desktop\Coding\Email downloader> & C:/Users/Nathan/AppData/Local/Programs/Python/Python38/python.exe "c:/Users/Nathan /Desktop/Coding/电子邮件下载器/email.py" 请将错误作为文本而不是图像。也就是说,您的图片没有显示任何错误。 我相信问题出在我的 Visual Studio 终端上。按照另一个用户的建议调用“py”后通过cmd运行它,它运行我的代码没有错误。 【参考方案1】:

看起来代码没问题。 test

【讨论】:

嗯,您的新代码似乎确实可以检索电子邮件。我在看这个youtube.com/watch?v=Gql_NQv3ND4,他得到了回复。我什至无法在我的终端中得到它。 尝试通过 Windows 的 cmd 运行它。在 cmd 上写 python3 (如果它不起作用,请尝试 python),然后输入您的代码。我建议在 python 代码中使用 Pycharm。 在 cmd 中输入 py 然后运行代码给了我想要的执行。所以我假设这种代码不能在 python 中运行并查看输出? 不,我假设您没有在 Visual Studio 上正确运行 python。尝试修复它或安装 Pycharm。试试这个:youtube.com/… 这个答案应该是评论。请看How do I write a good answer?【参考方案2】:

你可以试试这个吗?我添加了一个打印语句并尝试访问内容。

import imaplib

username = '****@gmail.com'
password = '****'

mail = imaplib.IMAP4_SSL(IMAP)
mail.login(USERNAME, PASSWORD)    

for i in mail.list()[1]:
  l = i.decode().split(' "/" ')
  print(l[0] + " = " + l[1]) #should print the mail content that you can use as needed

【讨论】:

这段代码也很棒,设法让输出显示在 Visual Studio 终端中。

以上是关于尝试通过 python 获取电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

Python 和 GmailAPI:如何监控 Gmail 收件箱以获取新电子邮件?

SMTP:邮件未通过 AWS Glue Python 作业发送

Azure Python Flask 获取登录用户的电子邮件 ID

如何通过iOS中的Twitter API获取用户电子邮件地址?

通过 MAPI 使用 Python 从 Outlook 读取电子邮件

Python:如何从 gmail API 获取电子邮件的主题