E-mails automatizados são amplamente utilizados para enviar notificações ou outras mensagens aos assinantes. Além disso, vários e-mails são acionados com base nas ações ou no comportamento dos usuários. Para implementar a automação de e-mail, este artigo aborda como criar e enviar e-mails usando SMTP em Python.
- Biblioteca Python para enviar e-mails
- Criar e enviar e-mails em Python
- Enviar e-mails com corpo HTML
- Enviar e-mails em massa
- Encaminhar uma mensagem de e-mail
Biblioteca Python para criar e enviar e-mails via SMTP
Para criar e enviar e-mails usando SMTP, usaremos Aspose.Email for Python via .NET. É uma poderosa biblioteca Python que permite implementar clientes de e-mail ricos em recursos. Você pode instalar a API de PyPI usando o seguinte comando.
pip install Aspose.Email-for-Python-via-NET
Ou você pode seguir as etapas abaixo para instalação manual.
- Baixe o arquivo .whl instalável da seção downloads.
- Na linha de comando, use o comando: pip install «FileName> >.whl para instalar a API.
- Baixe um pacote completo de amostras de código-fonte do GitHub.
Criar e enviar e-mails via SMTP em Python
A seguir estão as etapas para criar e enviar um e-mail via SMTP em Python.
- Crie um objeto da classe MailMessage.
- Defina os endereços de assunto, corpo, remetente e destinatário.
- Defina Cc ou Cco (opcional).
- Crie um novo cliente SMTP usando a classe SmtpClient e defina host, porta, nome de usuário e senha.
- Defina as opções de segurança.
- Envie e-mail usando o método SmtpClient.send(MailMessage).
O exemplo de código a seguir mostra como criar e enviar emails em Python.
# Create email message
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"))
# Create SMTP Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
# Send email
client.send(eml)
Enviar e-mails com corpo HTML em Python
A seguir estão as etapas para enviar e-mails com corpo HTML.
- Crie um objeto da classe MailMessage.
- Defina o corpo do email usando a propriedade MailMessage.bodyhtml.
- Defina a propriedade MailMessage.isbodyhtml como true.
- Atribua os endereços do assunto, do remetente e do destinatário.
- Defina Cc ou Cco (opcional).
- Crie um novo cliente SMTP usando a classe SmtpClient e defina host, porta, nome de usuário e senha.
- Envie e-mail usando o método SmtpClient.send(MailMessage).
O exemplo de código a seguir mostra como enviar emails com corpo HTML em Python.
# Create email message with HTML body
eml = ae.MailMessage()
eml.subject = "Message with Plain Text Body"
eml.is_body_html = True
eml.html_body = "<html><body>This is the <b>HTML</b>body</body></html>"
eml.from_address = "from@gmail.com"
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))
# Create SMTP Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
# Send email
client.send(eml)
Enviar e-mails em massa usando SMTP em Python
A seguir estão as etapas para enviar e-mails em massa em Python.
- Crie várias mensagens de email usando a classe MailMessage e defina suas propriedades, como assunto, destinatários, etc.
- Crie um objeto da classe MailMessageCollection.
- Adicione mensagens de email à coleção usando o método MailMessageCollection.append(MailMessage).
- Crie um novo cliente SMTP usando a classe SmtpClient e defina host, porta, nome de usuário e senha.
- Envie e-mail usando o método SmtpClient.send(MailMessageCollection).
O exemplo de código a seguir mostra como enviar emails em massa em Python.
# Create multiple email messages
message1 = MailMessage("from@gmail.com", "to@gmail.com", "Sending Bulk Emails using Aspose.Email", "message1, how are you?")
message2 = MailMessage("from@gmail.com", "to@gmail.com", "Sending Bulk Emails using Aspose.Email", "message2, how are you?")
message3 = MailMessage("from@gmail.com", "to@gmail.com", "Sending Bulk Emails using Aspose.Email", "message3, how are you?")
# Add messages to collection
manyMsg = MailMessageCollection()
manyMsg.append(message1)
manyMsg.append(message2)
manyMsg.append(message3)
# Create SMTP Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
# Send emails
client.send(manyMsg)
Encaminhar uma mensagem de e-mail em Python
A seguir estão as etapas para encaminhar uma mensagem de email em Python.
- Carregue a mensagem de email em um objeto usando o método MailMessage.load(String fileName).
- Defina o endereço do destinatário.
- Crie um cliente SMTP usando a classe SmtpClient.
- Encaminhe a mensagem usando o método SmtpClient.forward().
O exemplo de código a seguir mostra como encaminhar uma mensagem de email em Python.
# Load email message to be forwarded
eml = MailMessage.load("Message.eml")
# Set recipient
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.forward("Recipient1@domain.com", "Recipient2@domain.com", eml)
Obtenha uma licença de API gratuita
Você pode solicitar uma Licença Temporária Gratuita para usar a API sem limitações de avaliação.
Demonstração ao vivo
Conclusão
Neste artigo, você aprendeu como criar e enviar e-mails via SMTP em Python. Além disso, você viu como enviar e-mails em massa com texto simples ou corpo HTML programaticamente. Você pode explorar mais sobre a API de e-mail do Python usando a documentação. Caso você tenha alguma dúvida ou pergunta, sinta-se à vontade para nos informar através do nosso fórum.