Você sabia que é possível enviar e-mails em massa com Python usando o SendGrid da Twilio? Aprenda o passo a passo necessário!
Se quiser pode acompanhar esse conteúdo em formato de vídeo ou pode acessar o nosso Canal do YouTube para mais vídeos!
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
O que você vai ver hoje?
Como Enviar e-mails em Massa com Python e SendGrid Twilio
O envio de e-mails em massa é uma ferramenta importante para empresas que desejam se comunicar de forma eficaz e rápida com seus clientes. Automatizar esse processo é essencial para garantir escalabilidade e eficiência.
Hoje, vou te mostrar como enviar e-mails em massa com Python usando a integração entre Twilio e SendGrid, uma abordagem amplamente utilizada por empresas como Uber e Spotify.
Você aprenderá a lógica de envio, como criar sua chave de API, além de todas as etapas de verificação necessárias para garantir o bom funcionamento da automação.
Também vou falar sobre boas práticas para aumentar as chances de seus e-mails não irem parar na caixa de spam do usuário.
O que é o SendGrid Twilio?
Existem várias formas de integrar Python com sistemas de e-mail e criar automações para o envio automático. Porém, esse tipo de integração é geralmente usado para um número limitado de e-mails.
Temos uma aula na Hashtag que ensina esse tipo de automação: Envio de E-mail com Python – Automação no Python
No entanto, se seu objetivo é realizar um envio em massa, será necessário um serviço especializado, como Twilio SendGrid ou Postmark. Ambos oferecem planos gratuitos e garantem que os e-mails cheguem à caixa de entrada dos destinatários.
Para este exemplo, usaremos o SendGrid Twilio devido à qualidade e clareza da documentação, que inclui exemplos detalhados de todo o processo. Confira a documentação aqui: Twilio SendGrid Doc
O SendGrid Twilio é uma plataforma de envio de e-mails da Twilio, utilizada por empresas como Uber, Spotify e Airbnb.
Ela oferece recursos poderosos e eficientes para o envio de e-mails transacionais e campanhas de marketing em grande escala.
Assim como outras APIs da Twilio, o SendGrid possui uma interface simples e uma API robusta, facilitando a integração com diversas aplicações e permitindo o envio de milhares de e-mails com rapidez e segurança.
Veja também: Como Enviar SMS com Python – Passo a Passo com Twilio
Criando e Configurando uma Conta no SendGrid Twilio
Para usar o SendGrid, você precisa criar uma conta gratuita no site da plataforma. Esse processo é rápido e simples.
A plataforma oferece um plano gratuito que permite o envio de até 100 e-mails por dia, ideal para testar as capacidades da API.
Após criar sua conta, você terá acesso ao dashboard da ferramenta. Se for seu primeiro acesso, verá uma mensagem de boas-vindas solicitando que crie uma identificação de remetente (Create sender identity).
Ao clicar, você será levado à página para configurar a verificação de remetente (Single Sender Verification).
Preencha com seus dados ou os dados do e-mail da empresa que será utilizado.
Dica importante: Evite usar um domínio gratuito como Gmail ou Hotmail, pois isso reduz a credibilidade dos seus e-mails e aumenta as chances de irem para a caixa de spam. Se sua empresa tiver um domínio próprio, é recomendado utilizá-lo.
Feito isso, clique em Email API e acesse a opção Integration Guide, onde você encontrará o guia de integração da API do SendGrid ao seu código Python.
Integrando o SendGrid com Python – Instalando a Biblioteca
A API do SendGrid pode ser integrada ao Python de duas maneiras: por meio de requisições padrão, utilizando a biblioteca requests, ou pela biblioteca própria do SendGrid, que é o método que usaremos.
Para instalar a biblioteca, basta usar o seguinte comando no terminal: pip install sendgrid
Essa biblioteca simplifica o processo de conexão com a API do SendGrid, permitindo o envio de e-mails diretamente pelo Python de forma rápida e prática.
Configurando sua Chave da API
Para enviar e-mails, sua conta precisa ser autenticada pela API. Esse processo é feito com uma chave de API que garante um acesso único. Essa chave pode ser obtida dentro da página do SendGrid.
Para isso, acesse o Integration Guide do SendGrid, clique em Choose abaixo de Web API e selecione Python como a linguagem de programação.
Isso levará você a uma tela com os pré-requisitos e o guia de integração da API.
Entre as primeiras opções, haverá um campo para você preencher com o nome da sua chave de API e clicar em Create Key.
Certifique-se de armazenar sua chave de API com segurança e não compartilhá-la com outras pessoas.
Uma boa prática é armazená-la em variáveis de ambiente no seu sistema, em vez de incluí-la diretamente no código.
Saiba mais sobre variáveis de ambiente aqui: Variáveis de Ambiente no Python – O que São e Como Usá-las?
Código Python Para Enviar E-mails em Massa com SendGrid
Agora que o ambiente está configurado, podemos escrever o código Python responsável pelo envio dos e-mails.
Vamos começar importando as duas classes essenciais do SendGrid que nos permitirão criar e enviar os e-mails:
- SendGridAPIClient: Esta classe é responsável por se conectar à API do SendGrid e enviar as requisições de e-mail.
- Mail: A classe Mail é utilizada para criar a estrutura do e-mail, ou seja, definir o remetente, destinatário, assunto e conteúdo.
from sendgrid import SendGridAPIClient from sendgrid.helpers.mail import Mail
Em seguida, vamos definir a chave da API do SendGrid. Neste exemplo, eu vou demonstrar usando a chave diretamente no código, mas lembre-se de que essa prática não é a mais recomendada em termos de segurança.
Veja a aula sobre Variáveis de Ambiente para aprender como lidar com isso de forma segura.
from sendgrid import SendGridAPIClient from sendgrid.helpers.mail import Mail chave_api_sendgrid = "sua_chave_api"
Feito isso, podemos criar uma instância do cliente usando a classe SendGridAPIClient, que receberá a chave da API para autenticar as requisições. A instância será armazenada no objeto conta_sendgrid, que será responsável por enviar os e-mails.
from sendgrid import SendGridAPIClient from sendgrid.helpers.mail import Mail chave_api_sendgrid = "sua_chave_api" conta_sendgrid = SendGridAPIClient(chave_api_sendgrid)
Agora, vamos criar o nosso e-mail e definir todos os seus detalhes, utilizando a classe Mail.
Dentro dessa classe vamos definir os argumentos necessários para estruturar um e-mail básico:
- from_email: O endereço de e-mail do remetente, cadastrado na plataforma Twilio.
- to_emails: O destinatário do e-mail. Pode ser um único endereço ou uma lista de e-mails.
- subject: O assunto do e-mail enviado.
- html_content: O conteúdo do e-mail, escrito em HTML, permitindo o uso de links, imagens, botões e formatações especiais.
from sendgrid import SendGridAPIClient from sendgrid.helpers.mail import Mail chave_api_sendgrid = "sua_chave_api" conta_sendgrid = SendGridAPIClient(chave_api_sendgrid) email = Mail(from_email="[email protected]", to_emails='[email protected]', subject="Email enviado pelo Sendgrid no Python", html_content="<p>Email enviado com sucesso, seja bem vindo</p><p>Abraços e até o próximo e-mail.</p>")
Uma vez que o e-mail foi configurado, só resta enviá-lo. Para isso, usamos o método send() da instância SendGridAPIClient que criamos (conta_sendgrid).
from sendgrid import SendGridAPIClient from sendgrid.helpers.mail import Mail chave_api_sendgrid = "sua_chave_api" conta_sendgrid = SendGridAPIClient(chave_api_sendgrid) email = Mail(from_email="[email protected]", to_emails='[email protected]', subject="Email enviado pelo Sendgrid no Python", html_content="<p>Email enviado com sucesso, seja bem vindo</p><p>Abraços e até o próximo e-mail.</p>") resposta = conta_sendgrid.send(email)
Esse código envia o e-mail e retorna uma resposta com os detalhes da operação, que podemos imprimir no terminal para monitorar. Por exemplo, podemos exibir os códigos de status da resposta (status_code).
from sendgrid import SendGridAPIClient from sendgrid.helpers.mail import Mail chave_api_sendgrid = "sua_chave_api" conta_sendgrid = SendGridAPIClient(chave_api_sendgrid) email = Mail(from_email="[email protected]", to_emails='[email protected]', subject="Email enviado pelo Sendgrid no Python", html_content="<p>Email enviado com sucesso, seja bem vindo</p><p>Abraços e até o próximo e-mail.</p>") resposta = conta_sendgrid.send(email) print(resposta.status_code)
Esse código de status nos informa se o e-mail foi enviado com sucesso ou se houve algum erro. Por exemplo, o código 202 significa que o e-mail foi enviado com sucesso.
Recomendo que você faça o primeiro envio para um e-mail de teste, para garantir que todo o processo esteja funcionando como esperado.
Saiba mais sobre os códigos de status HTTP: Códigos de Status HTTP – Explicação Completa
Monitorar o Envio dos E-mails
Uma funcionalidade muito interessante fornecida pelo SendGrid é a possibilidade de acompanhar e visualizar os resultados dos envios de e-mails diretamente no painel da plataforma.
Nesse painel, você pode monitorar diversas informações relacionadas aos e-mails enviados, como:
- Taxa de Entrega: Quantos e-mails foram enviados e entregues com sucesso.
- Taxa de Abertura: Quantos e-mails foram abertos pelos destinatários.
- Taxa de Cliques: Quantos cliques em links foram registrados nos e-mails enviados.
A partir dessas métricas, você pode analisar o sucesso e a eficácia das campanhas de e-mail marketing da sua empresa.
Boas Práticas para Garantir que os E-mails Sejam Entregues
Existem diversas práticas para o envio de e-mail marketing que aumentam a probabilidade de seus e-mails serem entregues corretamente aos usuários. Algumas sugestões que o próprio SendGrid recomenda são:
- Usar Domínio Próprio: A utilização de um domínio de e-mail próprio, em vez de serviços gratuitos como Gmail, reduz as chances de o e-mail ser identificado como spam.
- Configurações de Autenticação de Domínio: Configure autenticações como Single Sender Verification, DNS e DMARC para validar que seus e-mails e domínios são legítimos.
- Evite Anexos Pesados: Para envios em massa, evite anexar arquivos grandes. É mais eficiente compartilhar links que redirecionam para os arquivos (por exemplo, hospedados no Google Drive ou Dropbox).
Recursos Avançados com SendGrid
Você também pode combinar o SendGrid com recursos e funcionalidades avançadas, como:
- Modelos de E-mail: Crie templates de e-mails dinâmicos que permitem a personalização de conteúdo com variáveis, tornando suas campanhas de e-mail mais direcionadas e eficientes.
- Automação de E-mails: Crie fluxos automáticos para enviar e-mails transacionais, como confirmações de pedidos, ou configure campanhas recorrentes.
É importante verificar a documentação do SendGrid e os preços dos planos disponíveis na plataforma para encontrar a opção que melhor se encaixa nas suas necessidades de envio em massa.
Conclusão – Como Enviar e-mails em Massa com Python e SendGrid Twilio
Na aula de hoje, mostrei como enviar e-mails em massa com Python e SendGrid. Esse é um processo simples, mas muito poderoso e escalável para qualquer empresa que queira melhorar a comunicação com seus clientes de forma eficiente.
A plataforma do SendGrid é uma das opções disponíveis para esse serviço e oferece uma maneira clara, segura e fácil de integrar a API com o código Python.
A automação do envio de e-mails pode economizar tempo e ampliar a comunicação da sua empresa, desde que você siga as boas práticas de verificação e segurança para garantir a entrega eficaz dos seus e-mails.
Com poucos ajustes no código aprendido hoje, você pode escalar o envio de e-mails da sua empresa de forma confiável e eficiente, monitorando os resultados pela própria plataforma do SendGrid.
E caso você queira aprender a construir uma automação completa com Python a partir do zero, conheça o nosso Minicurso Gratuito de Automação com Python.
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!
Posts mais recentes de Python
- Descubra o poder da automação com Python com 4 códigos simples!Neste post, vamos mostrar como códigos de automação com Python que vão simplificar o seu dia a dia, automatizando tarefas comuns que consomem nosso tempo.
- Descubra as principais Funções do Python!Conheça as 10 funções do Python que são indispensáveis para todo programador! Aprenda a utilizar funções como print(), map() e open() e aprimore seus códigos!
- Orientação a objetos Python: o que é e como usarAprenda o que é programação orientada a objetos em Python, seus pilares e como aplicar na prática. Domine POO e eleve seus códigos!
Posts mais recentes da Hashtag Treinamentos
- Como surgiu a OpenAI: entenda a história completa da criadora do ChatGPT e seus impactosDescubra como surgiu a OpenAI, conheça sua transformação na gigante da inteligência artificial e entenda como essa trajetória afeta a tecnologia e os negócios!
- Connected Speech – Como Entender o Inglês Falado por NativosAprenda tudo sobre Connected Speech e entenda, de uma vez por todas, o inglês falado por nativos com mais fluência e clareza!
- 17 Novas Fórmulas Excel Úteis para o TrabalhoConheça 17 novas fórmulas Excel que serão muito úteis no seu dia a dia! Aprenda sobre as fórmulas mais recentes que aumentarão sua produtividade no trabalho!
Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.