Conecte-se ao servidor IMAP C#

Em vários casos, os servidores de e-mail são acessados de dentro dos aplicativos Python para ler e-mails ou implementar clientes de e-mail. Para recuperar e-mails de um servidor de e-mail, o protocolo Internet Message Access Protocol (IMAP) é comumente usado. Neste artigo, mostraremos como ler e-mails de um servidor usando IMAP em Python. O artigo abordará explicitamente como se conectar a um servidor de e-mail, acessar a pasta desejada e ler e-mails.

Biblioteca Python para ler e-mails usando IMAP

Para ler e-mails do servidor de e-mail via IMAP, usaremos Aspose.Email for Python via .NET. É uma poderosa biblioteca de e-mail que permite enviar e-mails e acessar caixas de correio de servidores de e-mail. Você pode instalar a biblioteca de PyPI usando o seguinte comando.

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

Para instalação manual usando um arquivo .whl, você pode seguir as etapas abaixo.

  • Baixe o arquivo .whl instalável da seção downloads.
  • Na linha de comando, use o comando: pip install «FileName> >.whl para instalar a biblioteca.

Conecte-se ao servidor de e-mail via IMAP em Python

A seguir estão as etapas para se conectar a um servidor de e-mail usando IMAP.

  1. Crie uma instância da classe ImapClient e inicialize-a com nome de host, porta, nome de usuário e senha.
  2. Use o objeto ImapClient para acessar a caixa de correio.

O exemplo de código a seguir mostra como se conectar a um servidor de email usando IMAP em Python.

from aspose.email import SecurityOptions, ImapClient

# create an instance of ImapClient and provide host, port, username and password
client = ImapClient("imap.domain.com", 993, "user@domain.com", "password")

# set security options
client.security_options = SecurityOptions.SSLIMPLICIT

# use ImapClient object to access mailbox

Acesse pastas de e-mail da caixa de correio em Python

Depois de estabelecer a conexão com o servidor de e-mail, você pode escolher a pasta da qual deseja ler as mensagens de e-mail. Vamos primeiro verificar como obter a lista de todas as pastas na caixa de correio. A seguir estão as etapas para obter informações sobre cada pasta.

  1. Crie uma instância da classe ImapClient e inicialize-a com nome de host, porta, nome de usuário e senha.
  2. Use o método ImapClient.listfolders() para obter a coleção de pastas em um objeto.
  3. Percorra a coleção e recupere os detalhes das pastas.

O exemplo de código a seguir mostra como imprimir detalhes das pastas em uma caixa de correio.

from aspose.email import ImapClient

# create an instance of ImapClient and provide host, port, username and password
with ImapClient("imap.gmail.com", 993, "username", "password") as client:

    # get list of folders
    folderInfoColl = client.list_folders()

    # iterate through the collection to get folders' info one by one
    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))
    

Vamos agora acessar uma pasta específica na caixa de correio usando IMAP.

  1. Crie uma instância da classe ImapClient e inicialize-a com nome de host, porta, nome de usuário e senha.
  2. Use o método ImapClient.selectfolder(string) para selecionar a pasta.

O exemplo de código a seguir mostra como selecionar uma pasta de email da caixa de correio.

from aspose.email import ImapClient

# create an instance of ImapClient and provide host, port, username and password
with ImapClient("imap.gmail.com", 993, "username", "password") as client:

    # select the folder from mailbox
    client.select_folder("Inbox")

Ler e-mails de uma pasta em Python

A seguir estão as etapas para ler mensagens de email de uma pasta específica na caixa de correio usando Python.

  1. Crie uma instância da classe ImapClient e inicialize-a com nome de host, porta, nome de usuário e senha.
  2. Use o método ImapClient.selectfolder(string) para selecionar a pasta.
  3. Obtenha a lista de mensagens na pasta usando o método client.listmessages().
  4. Faça um loop pela coleção de mensagens.
  5. Obtenha detalhes de cada mensagem de e-mail e salve-a no disco, se necessário.

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

from aspose.email import ImapClient

# create an instance of ImapClient and provide host, port, username and password
with ImapClient("imap.gmail.com", 993, "username", "password") as client:

        # select folder
        client.select_folder("Inbox")

        # read each message in collection
        for msg in client.list_messages():
            print( "From: '{}', MIME Id: {}".format(msg.from_address, msg.message_id) )
            
            # save message on disk
            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 gratuitamente obtendo uma licença temporária.

Conclusão

Neste artigo, você aprendeu como ler e-mails de um servidor de e-mail usando IMAP em Python. Os exemplos de código demonstraram como se conectar a um servidor de email, obter a lista de pastas na caixa de correio, selecionar uma pasta e ler emails. Além disso, você pode visitar documentação para explorar mais sobre o Aspose.Email para Python via .NET. Além disso, você pode baixar o pacote completo de amostras de código-fonte do GitHub. Caso você tenha alguma dúvida ou pergunta, sinta-se à vontade para nos informar através do nosso fórum.

Veja também