[英]ImportError: cannot import name 'IMAP4_SSL' from 'imaplib'
我正在嘗試編寫一個 Python 程序,該程序從我的 Gmail 帳戶中的未讀電子郵件中下載所有附件並將它們放入定義的文件夾中,但是當我運行它時,它會出現以下錯誤: ImportError: cannot import name 'IMAP4_SSL' from 'imaplib'
我在某處讀到安裝 python openssl 模塊會有所幫助,但已經檢查過並且我擁有它。 我對編程很陌生,所以我在這里有點無能為力。 任何建議將不勝感激!
代碼如下:
import os
from imbox import Imbox
import traceback
host = "imap.gmail.com"
username = 'account'
password = 'password'
download_folder = 'C:\\Users\\artur\\Desktop\\test'
if not os.path.isdir(download_folder):
os.makedirs(download_folder, exist_ok=True)
mail = Imbox(host, username=username, password=password, ssl=True, ssl_context=None, starttls=False)
messages = mail.messages(unread=True) # defaults to inbox
for (uid, message) in messages:
mail.mark_seen(uid) # optional, mark message as read
for idx, attachment in enumerate(message.attachments):
try:
att_fn = attachment.get('filename')
download_path = f"{download_folder}/{att_fn}"
print(download_path)
with open(download_path, "wb") as fp:
fp.write(attachment.get('content').read())
except:
pass
print(traceback.print_exc())
mail.logout()
不知道它是否有幫助,但導致終端的所有錯誤行是:
File "c:/path/Gmail_downloader.py", line 2, in <module>
from imbox import Imbox
File "C:\Users\artur\anaconda3\lib\site-packages\imbox\__init__.py", line 1, in <module>
from imbox.imbox import Imbox
File "C:\Users\artur\anaconda3\lib\site-packages\imbox\imbox.py", line 3, in <module>
from imbox.imap import ImapTransport
File "C:\Users\artur\anaconda3\lib\site-packages\imbox\imap.py", line 1, in <module>
from imaplib import IMAP4, IMAP4_SSL
ImportError: cannot import name 'IMAP4_SSL' from 'imaplib' (C:\Users\artur\anaconda3\lib\imaplib.py)
感謝您的時間!
對我來說,更新openssl
似乎有效。
看起來你正在使用 conda,所以
conda update openssl
在 Anaconda 提示中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.