V tomto článku se dozvíte, jak programově získávat e-mailové zprávy z poštovních serverů. Zejména se dozvíte, jak se připojit k poštovnímu serveru pomocí protokolů IMAP nebo POP3 a číst e-maily v Python.

Knihovna Python pro čtení e-mailů pomocí POP3 nebo IMAP

Abychom mohli číst e-maily z poštovních serverů pomocí POP3 nebo IMAP, použijeme Aspose.Email for Python přes .NET. Jedná se o e-mailovou knihovnu bohatou na funkce, která vám umožňuje implementovat e-mailové klienty z vašich aplikací Python. Můžete buď stáhnout soubor .whl, nebo nainstalovat knihovnu pomocí následujícího příkazu pip.

> pip install Aspose.Email-for-Python-via-NET

Číst e-maily z poštovních serverů v Python

POP3 a IMAP se běžně používají pro získávání e-mailů z poštovních serverů. Následující části ukazují, jak číst e-maily pomocí obou e-mailových protokolů samostatně.

Číst e-maily pomocí POP3 v Python

Níže jsou uvedeny kroky ke čtení e-mailových zpráv pomocí POP3 v Python.

  • Vytvořte objekt třídy Pop3Client a inicializujte jej pomocí hostitele, portu, uživatelského jména a hesla.
  • Nastavte možnosti zabezpečení pomocí vlastnosti Pop3Client.securityoptions.
  • Získejte počet zpráv pomocí metody Pop3Client.getmessagecount().
  • Přistupujte ke každé zprávě ve smyčce pomocí metody Pop3Client.fetchmessage().

Následující ukázka kódu ukazuje, jak číst e-mail pomocí POP3 v Python.

# vytvořit POP3 klienta
client = Pop3Client("pop.gmail.com", 995, "username", "password")

# nastavit možnosti zabezpečení
client.security_options = SecurityOptions.AUTO

# získat počet zpráv
messageCount = client.get_message_count()
print("Total messages: " + str(messageCount))

# vytvořit instanci třídy MailMessage pro čtení zprávy    
for i in range(0,messageCount):
    message = client.fetch_message(i+1)
    print("From:" + str(message.from_address))
    print("Subject:" + message.subject)
    print(message.html_body)

Číst e-maily pomocí IMAP v Python

Níže jsou uvedeny kroky ke čtení e-mailových zpráv pomocí protokolu IMAP v Python.

  • Vytvořte objekt třídy ImapClient a inicializujte jej pomocí hostitele, portu, uživatelského jména a hesla.
  • Vyberte složku pomocí metody ImapClient.selectfolder(folderName).
  • Procházejte seznam zpráv pomocí metody ImapClient.listmessages().

Následující ukázka kódu ukazuje, jak číst e-mailové zprávy pomocí IMAP v Python.

# připojit se k poštovnímu serveru pomocí IMAP
client = ImapClient("imap.gmail.com", 993, "username", "password")

# vybrat složku
client.select_folder("Inbox")

# procházet e-mailové zprávy a ukládat je jako soubory .eml
for msg in client.list_messages():
    print("Subject: " + msg.subject)
    print("HtmlBody: " + msg.html_body)
    print("TextBody: " + msg.body)
    client.save_message(msg.unique_id, msg.unique_id + "_out.eml")

E-mailová knihovna Python – Získejte bezplatnou licenci

Aspose.Email for Python můžete použít získáním bezplatné dočasné licence.

Závěr

V tomto článku jste se naučili číst e-maily z poštovních serverů pomocí Python. Konkrétně jste viděli, jak používat klienty POP3 a IMAP k načítání a čtení e-mailových zpráv. Více o e-mailové knihovně Python můžete prozkoumat pomocí dokumentace. Kromě toho můžete své dotazy zveřejňovat na našem fóru.

Viz také