使用 Python 阅读电子邮件

问题描述 投票:0回答:1

我正在编写一个Python脚本,它可以从一个人的收件箱中读取电子邮件。

import imaplib
import email

# Set up the IMAP connection
mail = imaplib.IMAP4_SSL('imap.gmail.com')
mail.login('your_email_address', 'your_email_password')
mail.select('inbox')

# Search for all email messages in the inbox
status, data = mail.search(None, 'ALL')

# Iterate through each email message and print its contents
for num in data[0].split():
    status, data = mail.fetch(num, '(RFC822)')
    email_message = email.message_from_bytes(data[0][1])
    print('From:', email_message['From'])
    print('Subject:', email_message['Subject'])
    print('Date:', email_message['Date'])
    print('Body:', email_message.get_payload())
    print()
    
# Close the connection
mail.close()
mail.logout()

但是,我收到以下错误:

b'[AUTHENTICATIONFAILED] Invalid credentials (Failure)'

即使我的凭据是正确的。

网上的一些解决方案建议在 Google 上打开不太安全的应用程序,但这可能并不适合所有人。

我知道这有点粗糙,但我仍在学习,所以如果您能帮助我改进,我将不胜感激!

email imap
1个回答
0
投票

您需要在您的谷歌帐户中创建应用程序密码。我将我的命名为“Python”,因为我不知道它是否可以使用不同的名称。 “安全性较低的应用程序”选项不再存在。

© www.soinside.com 2019 - 2024. All rights reserved.