簡體   English   中英

導入錯誤:無法從“imaplib”導入名稱“IMAP4_SSL”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM