Enviar um e‑mail com Python [Com anexo] - Novo tutorial
Aprenda a enviar e‑mails facilmente com Python usando a API da Aspose . Com a biblioteca Aspose.Email for Python via .NET você pode criar, converter, enviar, receber ou manipular mensagens de e‑mail, incluindo MSG , PST , EML , EMLX e muito mais formatos de arquivo.

Aspose.Email for Python via .NET é uma API robusta e poderosa para programação de e‑mail, que permite criar, manipular e converter formatos comuns de mensagens sem se preocupar com as complexidades da execução do formato subjacente. É uma biblioteca de classes fácil de usar, projetada para produzir um componente de programação de e‑mail excepcional e confiável. Aspose.Email for Python economiza tempo e esforço ao permitir que você codifique rapidamente o tratamento complexo de arquivos de mensagens em suas aplicações.
Nossa API pode ser usada para executar uma variedade de tarefas em aplicações e pode ser integrada a qualquer tipo de aplicação. Fornecemos exemplos de código para que os desenvolvedores comecem a trabalhar rapidamente.
Recursos do Aspose.Email para Python via .NET:
• Conversão e renderização de formatos de e‑mail
• Envio e recebimento de formatos comuns de e‑mail, incluindo anexos
• Download de e‑mail de servidores IMAP e POP3
• Manipulação (criação e atualização) de tarefas usando iCalendar
• Operação de arquivos de armazenamento de mensagens
• Operação de anexos de e‑mail
• Manipulação de reuniões ou compromissos compatíveis com iCalendar
• Suporte a TLS e SSL
• Anexos TNEF
Formatos de arquivo suportados:
MSG – formato Microsoft Outlook e Exchange para armazenar mensagens de e‑mail, compromissos e tarefas semelhantes
PST – arquivos de armazenamento pessoal do Outlook para armazenar e‑mails, calendários, contatos e outros formatos de arquivo
OST – dados da caixa de correio do usuário na máquina local após registro no Exchange Server com Microsoft Outlook
OFT – arquivos de modelo de mensagem do Microsoft Outlook
EML – mensagens de e‑mail salvas com Outlook ou aplicativos relevantes semelhantes
EMLX – arquivo de texto desenvolvido e implementado pela Apple
MBOX – usado para a coleção de mensagens de correio eletrônico
ICS – formato de arquivo iCalendar para compartilhamento de eventos e agendamento de tarefas via e‑mail
VCF – formato de arquivo para cartões de visita eletrônicos e armazenamento de informações de contato
HTML – extensão HyperText Markup Language para páginas da web e exibição em navegadores
MHTML – este é o formato de arquivo de arquivamento que contém o conteúdo de uma página da web
Criar e definir o conteúdo do e‑mail usando Python
Criar mensagem de e‑mail
Com a classe MailMessage os desenvolvedores podem criar uma nova mensagem de e‑mail. Esta classe representa uma mensagem de e‑mail. Propriedades como From, To, Subject e Body podem ser facilmente atribuídas à mensagem criada.
Faremos os seguintes passos para criar uma nova mensagem de e‑mail:
- Criar uma instância da classe MailMessage
- Definir as propriedades da mensagem de e‑mail
- Salvar mensagens de e‑mail em diferentes formatos, como EML, MSG e MHTML
O trecho de código abaixo mostra como criar um novo e‑mail com diferentes propriedades:
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
eml = ae.MailMessage()
eml.subject = "New MailMessage created with Aspose.Email for Python"
eml.html_body = "<b>This line is in bold </b> while this is normal text"
eml.from_address = "from@domain.com"
eml.to.append(ae.MailAddress("to1@domain.com", "Recipient 1"))
eml.to.append(ae.MailAddress("to2@domain.com", "Recipient 2"))
eml.cc.append(ae.MailAddress("cc1@domain.com", "Recipient 3"))
eml.cc.append(ae.MailAddress("cc2@domain.com", "Recipient 4"))
#Save generated EML in different formats to disc
eml.save(dataDir + "CreateNewMailMessage_out.eml")
eml.save(dataDir + "CreateNewMailMessage_out.msg", ae.SaveOptions.default_msg_unicode)
eml.save(dataDir + "message_out.msg", ae.SaveOptions.default_msg)
eml.save(dataDir + "message_out.mhtml", ae.SaveOptions.default_mhtml)
eml.save(dataDir + "message_out.html", ae.SaveOptions.default_html)
Definindo o corpo HTML da mensagem
Com HtmlBody especificamos o conteúdo HTML do corpo da mensagem. O trecho de código abaixo mostra como definir o corpo HTML:
# For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
# Declare message as MailMessage instance
eml = ae.MailMessage()
# Specify HtmlBody
eml.html_body = "<html><body>This is the HTML body</body></html>"
Definindo texto alternativo na mensagem de e‑mail
A classe AlternateView especifica cópias de uma mensagem de e‑mail em diferentes formatos, e possui duas propriedades:
• LinkedResources, usado quando renderizado, URLs dentro do conteúdo do e‑mail são correspondidos e resolvidos contra os URLs no Content Link de cada objeto LinkedResources na coleção LinkedResources
• BaseUri, usado pelo leitor de e‑mail para resolver URLs relativos dentro do corpo
O exemplo de código está abaixo:
# For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
# Declare message as MailMessage instance
eml = ae.MailMessage()
# Creates AlternateView to view an email message using the content specified in the //string
alternate = AlternateView.create_alternate_view_from_string("Alternate Text")
# Adding alternate text
eml.add_alternate_view(alternate)
Adicionando um anexo a um e‑mail
Seguiremos os seguintes passos para adicionar um anexo a um e‑mail:
- Criar uma instância das classes MailMessage e Attachment
- Carregar o anexo na instância Attachment
- Adicionar a instância Attachment à instância da classe MailMessage
O trecho de código abaixo mostra um exemplo de como adicionar um anexo a um e‑mail:
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
# Create an instance of MailMessage class
message = MailMessage("sender@domain.com", "receiver@domain.com")
# Load an attachment
attachment = Attachment(dataDir + "1.txt");
# Add Multiple Attachment in instance of MailMessage class and Save message to disk
message.attachments.append(attachment);
message.add_attachment(Attachment(dataDir + "1.jpg"))
message.add_attachment(Attachment(dataDir + "1.doc"))
message.add_attachment(Attachment(dataDir + "1.rar"))
message.add_attachment(Attachment(dataDir + "1.pdf"))
message.save(dataDir + "AddEmailAttachments_out.msg", SaveOptions.default_msg_unicode)
Enviar um e‑mail usando Python
Aspose.Email for Python permite que você envie e‑mails usando servidores SMTP, POP3 e IMAP. Você pode fazer login facilmente em servidores POP3 com suas credenciais (nome de usuário e senha) ou autenticação APOP para executar operações de e‑mail, como visualizar o tamanho da caixa de correio e o número de mensagens, recuperar a mensagem completa ou seu cabeçalho, excluir mensagens do servidor, além de comandos POP3 básicos.
Aspose.Email for Python também oferece suporte ao protocolo IMAP, incluindo seus comandos, autenticação, seleção, criação, exclusão, consulta de pastas, salvamento de mensagens, obtenção, exclusão e manipulação de rótulos.
Enviando mensagens com cliente SMTP
Para enviar uma mensagem de e‑mail com Python, seguiremos estes passos:
- Criar uma instância da classe MailMessage
- Especificar os endereços de e‑mail do remetente e do destinatário na instância MailMessage
- Definir o conteúdo TextBody
- Criar uma instância da classe SmtpClient e enviar a mensagem de e‑mail
O trecho de código a seguir mostra como enviar um e‑mail de texto usando Python:
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
eml = ae.MailMessage()
eml.subject = "Message with Plain Text Body"
eml.body = "This is plain text body."
eml.from_address = "from@gmail.com"
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))
#Send using Smtp Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
client.send(eml)
Se precisar de ajuda com seu projeto, você pode sempre entrar em contato com nossos especialistas em Consultoria paga . Nossa equipe trabalhará com você para encontrar a melhor solução para seu projeto, implementá‑la adequadamente e oferecer o melhor valor. Você pode contar conosco para seu crescimento e desenvolvimento futuros.