我正在编写一个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 上打开不太安全的应用程序,但这可能并不适合所有人。
我知道这有点粗糙,但我仍在学习,所以如果您能帮助我改进,我将不胜感激!
您需要在您的谷歌帐户中创建应用程序密码。我将我的命名为“Python”,因为我不知道它是否可以使用不同的名称。 “安全性较低的应用程序”选项不再存在。