
V různých případech jsou e-mailové servery přístupné z aplikací Python za účelem čtení e-mailů nebo implementace e-mailových klientů. Pro načítání e-mailů z e-mailového serveru se běžně používá protokol Internet Message Access Protocol(IMAP). V tomto článku vám ukážeme, jak číst e-maily přes IMAP v Python. Tento článek se bude výslovně zabývat tím, jak se připojit k e-mailovému serveru, přistupovat k požadované složce a číst e-maily.
- Knihovna Python pro čtení e-mailů pomocí protokolu IMAP
- Připojte se k serveru IMAP v Python
- Přístup k e-mailovým složkám z poštovní schránky
- Číst e-maily ze složky v Python
Knihovna Python pro čtení e-mailů přes IMAP – bezplatné stažení
Pro čtení e-mailů z e-mailového serveru přes IMAP použijeme Aspose.Email for Python přes .NET. Je to výkonná e-mailová knihovna, která vám umožňuje odesílat e-maily a přistupovat k poštovním schránkám z e-mailových serverů. Knihovnu můžete nainstalovat z PyPI pomocí následujícího příkazu.
pip install Aspose.Email-for-Python-via-NET
Pro ruční instalaci pomocí souboru .whl můžete postupovat podle následujících kroků.
- Stáhněte si instalovatelný soubor .whl ze sekce ke stažení.
- Z příkazového řádku použijte příkaz: pip install «FileName> >.whl k instalaci knihovny.
Připojte se k e-mailovému serveru přes IMAP v Python
Níže jsou uvedeny kroky pro připojení k e-mailovému serveru pomocí protokolu IMAP.
- Vytvořte instanci třídy ImapClient a inicializujte ji pomocí názvu hostitele, portu, uživatelského jména a hesla.
- Pro přístup k poštovní schránce použijte objekt ImapClient.
Následující ukázka kódu ukazuje, jak se připojit k e-mailovému serveru pomocí IMAP v Python.
from aspose.email import SecurityOptions, ImapClient
# vytvořte instanci ImapClient a zadejte hostitele, port, uživatelské jméno a heslo
client = ImapClient("imap.domain.com", 993, "user@domain.com", "password")
# nastavit možnosti zabezpečení
client.security_options = SecurityOptions.SSLIMPLICIT
# pro přístup k poštovní schránce použijte objekt ImapClient
Python: Přístup k e-mailovým složkám v poštovní schránce
Jakmile navážete připojení k e-mailovému serveru, můžete si vybrat složku, ze které chcete e-mailové zprávy číst. Nejprve se podívejme, jak získat seznam všech složek v poštovní schránce. Následují kroky k získání informací o každé složce.
- Vytvořte instanci třídy ImapClient a inicializujte ji pomocí názvu hostitele, portu, uživatelského jména a hesla.
- Použijte metodu ImapClient.listfolders() k získání kolekce složek v objektu.
- Procházejte sbírku a načtěte podrobnosti o složkách.
Následující ukázka kódu ukazuje, jak vytisknout podrobnosti o složkách v poštovní schránce.
from aspose.email import ImapClient
# vytvořte instanci ImapClient a zadejte hostitele, port, uživatelské jméno a heslo
with ImapClient("imap.gmail.com", 993, "username", "password") as client:
# získat seznam složek
folderInfoColl = client.list_folders()
# iterujte kolekci a získejte informace o složkách jednu po druhé
for folderInfo in folderInfoColl:
print("Folder name is " + folderInfo.name)
folderExtInfo = client.get_folder_info(folderInfo.name)
print("New message count: " + str(folderExtInfo.new_message_count))
print("Is it readonly? " + str(folderExtInfo.read_only))
print("Total number of messages " + str(folderExtInfo.total_message_count))
Nyní přistoupíme k přístupu ke konkrétní složce ve schránce pomocí protokolu IMAP.
- Vytvořte instanci třídy ImapClient a inicializujte ji pomocí názvu hostitele, portu, uživatelského jména a hesla.
- Pro výběr složky použijte metodu ImapClient.selectfolder(string).
Následující ukázka kódu ukazuje, jak vybrat e-mailovou složku z poštovní schránky.
from aspose.email import ImapClient
# vytvořte instanci ImapClient a zadejte hostitele, port, uživatelské jméno a heslo
with ImapClient("imap.gmail.com", 993, "username", "password") as client:
# vyberte složku z poštovní schránky
client.select_folder("Inbox")
Číst e-maily ze složky v Python
Níže jsou uvedeny kroky pro čtení e-mailových zpráv z konkrétní složky v poštovní schránce pomocí Python.
- Vytvořte instanci třídy ImapClient a inicializujte ji pomocí názvu hostitele, portu, uživatelského jména a hesla.
- Pro výběr složky použijte metodu ImapClient.selectfolder(string).
- Získejte seznam zpráv ve složce pomocí metody client.listmessages().
- Procházejte sbírku zpráv.
- Získejte podrobnosti o každé e-mailové zprávě a v případě potřeby ji uložte na disk.
Následující ukázka kódu ukazuje, jak číst e-maily z e-mailového serveru v Python.
from aspose.email import ImapClient
# vytvořte instanci ImapClient a zadejte hostitele, port, uživatelské jméno a heslo
with ImapClient("imap.gmail.com", 993, "username", "password") as client:
# vybrat složku
client.select_folder("Inbox")
# přečtěte si každou zprávu ve sbírce
for msg in client.list_messages():
print( "From: '{}', MIME Id: {}".format(msg.from_address, msg.message_id) )
# uložit zprávu na disk
client.save_message(msg.unique_id, msg.unique_id + "_out.eml")
Knihovna Python pro čtení e-mailů přes IMAP – Získejte bezplatnou licenci
E-maily můžete číst přes IMAP pomocí Aspose.Email for Python zdarma získáte dočasnou licenci.
Závěr
V tomto článku jste se naučili číst e-maily z e-mailového serveru pomocí protokolu IMAP v Python. Ukázky kódu ukázaly, jak se připojit k e-mailovému serveru, získat seznam složek v poštovní schránce, vybrat složku a číst e-maily. Kromě toho můžete navštívit dokumentaci a prozkoumat více o Aspose.Email for Python přes .NET. Také si můžete stáhnout kompletní balíček ukázek zdrojového kódu z GitHub. V případě jakýchkoli dotazů nebo dotazů nás neváhejte kontaktovat prostřednictvím našeho fóra.