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.