我正在嘗試將我的 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 檔案,但現在我只想閱讀郵件。
uj5u.com熱心網友回復:
如果您要以這種方式進行檢查,您需要在您的 Gmail 帳戶中啟用“安全性較低的應用程式” 。因此,最好使用Gmail API。
未設定 SMTP 埠 - 確保您使用的是正確的埠(993)
uj5u.com熱心網友回復:
問題來了,Gmail 有一個不允許使用不安全應用程式的新政策。
為幫助確保您的帳戶安全,自 2022 年 5 月 30 日起,Google 不再支持使用第三方應用或設備,這些應用或設備要求您僅使用您的用戶名和密碼登錄您的 Google 帳戶。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/487342.html
