【发布时间】:2022-08-17 10:55:09
【问题描述】:
我正在尝试将我的 gmail 连接到 python,但显示此错误:
我已经检查了我的密码,知道可能是什么吗?
b\'[AUTHENTICATIONFAILED] Invalid credentials (Failure)\'
Traceback (most recent call last):
File \"/Users/myuser/Documents/migrations/untitled3.py\", line 29, in read_email_from_gmail
mail.login(FROM_EMAIL,FROM_PWD)
File \"/Users/myuser/opt/anaconda3/lib/python3.9/imaplib.py\", line 612, in login
raise self.error(dat[-1])
imaplib.IMAP4.error: b\'[AUTHENTICATIONFAILED] Invalid credentials (Failure)\'
这是我的代码: 我也想知道我可以使用哪个端口?
import smtplib
import time
import imaplib
import email
import traceback
ORG_EMAIL = \"@gmail.com\"
FROM_EMAIL = \"myemail\" + ORG_EMAIL
FROM_PWD = \"mypassword\"
SMTP_SERVER = \"smtp.gmail.com\"
SMTP_PORT = ??
def read_email_from_gmail():
try:
mail = imaplib.IMAP4_SSL(SMTP_SERVER)
mail.login(FROM_EMAIL,FROM_PWD)
mail.select(\'inbox\')
data = mail.search(None, \'ALL\')
mail_ids = data[1]
id_list = mail_ids[0].split()
first_email_id = int(id_list[0])
latest_email_id = int(id_list[-1])
for i in range(latest_email_id,first_email_id, -1):
data = mail.fetch(str(i), \'(RFC822)\' )
for response_part in data:
arr = response_part[0]
if isinstance(arr, tuple):
msg = email.message_from_string(str(arr[1],\'utf-8\'))
email_subject = msg[\'subject\']
email_from = msg[\'from\']
print(\'From : \' + email_from + \'\\n\')
print(\'Subject : \' + email_subject + \'\\n\')
except Exception as e:
traceback.print_exc()
print(str(e))
read_email_from_gmail()
我的主要目标是能够从每封电子邮件中获取 CSV 文件,但现在我只想阅读邮件。