Para melhorar a segurança do e-mail e garantir a entrega confiável de e-mails em grande volume, migre da API Mail legada para um serviço padrão de provedor de e-mail terceirizado que usa o protocolo de transferência simples de e-mail (SMTP), como SendGrid, Mailgun ou Mailjet.
Este guia descreve o processo de migração de serviços de e-mail de saída da API Mail para um serviço de e-mail baseado em SMTP. Você pode aplicar essas instruções para migrar para qualquer provedor de e-mail terceirizado baseado em SMTP ou usar outro tempo de execução compatível. Este guia não fornece etapas para migrar mensagens recebidas que usam uma alternativa de terceiros.
O padrão SMTP oferece os seguintes benefícios em relação à API Mail legada do App Engine:
Os serviços baseados em SMTP melhoram a entrega de e-mails ao reduzir a probabilidade de serem marcados como spam.
Com os serviços baseados em SMTP, você pode acessar relatórios de análise detalhados sobre aberturas, cliques e devoluções de e-mails. Esses relatórios fornecem informações úteis sobre como os usuários interagem com seus e-mails.
Você tem controle total sobre sua reputação de remetente e autenticação de e-mail.
Aumento dos limites de envio diários em comparação com a API Mail legada, com acesso a recursos avançados, como testes A/B, segmentação e modelos.
Visão geral do processo de migração
O processo de migração inclui as seguintes etapas:
- Configure o serviço de e-mail baseado em SMTP para receber suas credenciais SMTP.
- Confirme sua identidade de remetente para fazer a autenticação com seu domínio ou endereço de e-mail.
- Configure os arquivos de origem com suas credenciais SMTP e o método de envio e implante o aplicativo.
- Teste o aplicativo para verificar a funcionalidade de e-mail.
Configurar o serviço de e-mail baseado em SMTP
Configure uma conta com um provedor de e-mail terceirizado padrão que use SMTP, como SendGrid, Mailgun ou Mailjet, e recupere as seguintes informações do provedor escolhido:
Host SMTP: o endereço do servidor SMTP usado para enviar e-mails. Por exemplo,
smtp.sendgrid.netouexample.mailjet.com.Porta: o número da porta da conexão. Por exemplo,
587para criptografia TLS.Nome de usuário: o nome de usuário de login SMTP da sua conta.
Senha ou chave de API: a senha da sua conta ou uma chave de API, que funciona como a senha da conexão SMTP. Para alguns provedores, como o SendGrid, o nome de usuário é um valor fixo, como
apikey, e a chave da API é usada como senha.
Verificar sua identidade de remetente
Para evitar spam, todos os serviços de e-mail exigem que você confirme que é o proprietário do endereço de e-mail ou do domínio de onde está enviando mensagens. Essa etapa geralmente envolve adicionar detalhes específicos de DNS, como registros CNAME, à página de gerenciamento de DNS do host de domínio.
Siga as instruções do seu provedor para verificar a identidade do remetente antes de continuar com a configuração do aplicativo.
Para adicionar registros DNS ao seu host de domínio, siga estas etapas:
- Faça login no serviço do seu provedor de DNS.
- Acesse a página de gerenciamento de DNS do seu domínio.
Adicione os registros CNAME exatamente como fornecidos pelo provedor de serviços de e-mail. Para cada registro, faça o seguinte:
- No campo Nome ou Host, insira os detalhes do host.
- No campo Pontos ou Valor, insira o valor.
As mudanças de DNS podem levar algumas horas para serem ativadas. Se a verificação falhar, aguarde um pouco e tente de novo.
Configurar os arquivos de origem
Para incluir a funcionalidade SMTP, siga estas etapas:
Execute o comando a seguir para atualizar o SDK do App Engine para a versão mais recente:
# Ensure your virtual environment is active pip install --upgrade appengine-python-standard # Save the new version to your requirements file pip freeze > requirements.txtAdicione o seguinte código ao arquivo
app.yamlpara mudar para o serviço SMTP:runtime: RUNTIME # a supported python version env_variables: # Enable the SMTP service. APPENGINE_USE_SMTP_MAIL_SERVICE: "true" # --- SMTP Server Configuration --- # The server address from your mail provider APPENGINE_SMTP_HOST: "SMTP_HOST" # The recommended port for TLS connections APPENGINE_SMTP_PORT: "587" # The username for your SMTP login APPENGINE_SMTP_USER: "SMTP_USER" # The API key or password APPENGINE_SMTP_PASSWORD: "SMTP_PASSWORD" # Use TLS for a secure connection APPENGINE_SMTP_USE_TLS: "true" # --- For sending emails to Admins --- # A comma-separated list of admin email addresses. # This is required if you use the send_mail_to_admins() function. APPENGINE_ADMIN_EMAIL_RECIPIENTS: "admin@example.com,another-admin@example.com"Substitua:
- RUNTIME: uma versão do ambiente de execução Python compatível.
- SMTP_HOST: o endereço do host SMTP. Por exemplo,
smtp.sendgrid.netouexample.mailjet.com. - SMTP_USER: o nome de usuário de login SMTP da sua conta. Por exemplo,
apiKey. - SMTP_PASSWORD: a senha ou a chave de API que você recebeu do seu provedor de e-mail terceirizado. Para aumentar a segurança, recomendamos usar o Secret Manager para armazenar a chave de API em vez de colocá-la no arquivo
app.yaml. - Se você não usar a função
send_mail_to_admins(), omita a configuraçãoAPPENGINE_ADMIN_EMAIL_RECIPIENTS.
Execute o comando abaixo para implantar seu aplicativo:
gcloud app deploy
Teste o aplicativo
A migração será bem-sucedida se você conseguir implantar o app sem erros. Para verificar se o serviço de e-mail está funcionando, siga estas etapas:
- Acione a parte do aplicativo que envia um e-mail.
- Verifique o Explorador de registros para garantir que não haja erros relacionados às chamadas de API ou à tentativa de conexão SMTP.
- Faça login na conta do seu provedor de e-mail terceirizado (por exemplo, Mailgun, Mailjet, SendGrid) e verifique o feed de atividades, os registros ou o painel de entrega. O e-mail de teste vai aparecer no feed com um status de entrega marcado como
Processed,Deliveredou semelhante.