Neste artigo, você aprenderá como recuperar mensagens de e-mail dos servidores de e-mail programaticamente. Particularmente, você saberá como se conectar ao servidor de e-mail usando os protocolos IMAP ou POP3 e ler os e-mails em Python.

API Python para ler e-mails

Para ler e-mails dos servidores de e-mail, usaremos Aspose.Email for Python via .NET. É uma API de e-mail rica em recursos que permite implementar clientes de e-mail de dentro de seus aplicativos Python. Você pode baixar arquivo .whl ou instalar a API usando o seguinte comando pip.

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

Leia e-mails de servidores de e-mail em Python

POP3 e IMAP são comumente usados para recuperar e-mails dos servidores de e-mail. As seções a seguir demonstram como ler emails usando os dois protocolos de email separadamente.

Ler mensagens de e-mail usando POP3

A seguir estão as etapas para ler mensagens de e-mail usando POP3.

  • Crie um objeto da classe Pop3Client e inicialize-o com host, porta, nome de usuário e senha.
  • Defina as opções de segurança usando a propriedade Pop3Client.securityoptions.
  • Obtenha a contagem de mensagens usando o método Pop3Client.getmessagecount().
  • Acesse cada mensagem em um loop usando o método Pop3Client.fetchmessage().

O exemplo de código a seguir mostra como ler um email em Python usando POP3.

# create POP3 client
client = Pop3Client("pop.gmail.com", 995, "username", "password")

# set security options
client.security_options = SecurityOptions.AUTO

# get message count
messageCount = client.get_message_count()
print("Total messages: " + str(messageCount))

# create an instance of the MailMessage class to read message    
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)

Ler mensagens de e-mail usando IMAP

A seguir estão as etapas para ler mensagens de e-mail usando IMAP.

  • Crie um objeto da classe ImapClient e inicialize-o com host, porta, nome de usuário e senha.
  • Selecione a pasta usando o método ImapClient.selectfolder(folderName).
  • Percorra a lista de mensagens usando o método ImapClient.listmessages().

O exemplo de código a seguir mostra como ler mensagens de email usando IMAP em Python.

# connect to mail server using IMAP
client = ImapClient("imap.gmail.com", 993, "username", "password")

# select folder
client.select_folder("Inbox")

# loop through email messages and save them as .eml files
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")

Obtenha uma licença de API gratuita

Você pode usar o Aspose.Email para Python via .NET solicitando uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como ler e-mails de servidores de e-mail usando Python. Particularmente, você viu como usar clientes POP3 e IMAP para buscar e ler mensagens de e-mail. Você pode explorar mais sobre a API de e-mail do Python usando a documentação. Além disso, você pode postar suas dúvidas em nosso fórum.

Veja também