Como migrar do Mailgun para o SendGrid
Publicados: 2018-11-10Se o Mailgun for seu provedor de serviços de e-mail atual e você quiser fazer uma alteração, este tutorial ajudará você a migrar para o SendGrid, destacando as diferenças entre os dois serviços.
Se você quiser dar uma olhada antes de começar, confira a documentação do SendGrid que inclui ótimos recursos antes de mergulhar na referência e nos detalhes da API.
Terminologia
Se você estiver procurando o equivalente do SendGrid de determinada funcionalidade do Mailgun, a tabela a seguir ajudará:
Termo do SendGrid | Termo de arma postal |
substituições/seções | dados de substituição |
categorias | Tag |
argumentos_exclusivos | X-Mailgun-Variáveis |
Várias credenciais | Acesso multiusuário |
subusuário | Mailgun não fornece subusuários discretos. |
supressões | supressões |
X-SMTPAPI | Mailgun usa um X-Header discreto para cada opção de configuração, como X-Mailgun-Recipient-Variables |
Webhook de análise de entrada | Rotas |
Webhook do evento | Webhooks |
Campanhas de marketing | Sem Equivalente |
Obtendo uma chave de API
Primeiro, você precisará de uma conta SendGrid. Em seguida, você deve criar uma chave de API que usará para enviar. Vá para Configurações -> Chaves de API ou use este link. Uma prática recomendada do SendGrid e de segurança é usar uma chave de API diferente para cada um dos seus diferentes aplicativos. As chaves de API têm permissões granulares, para que você possa ativar ou desativar o acesso de leitura ou gravação para endpoints individuais. Certifique-se de que a chave de API que você criou tenha acesso total ao Mail Send . (Observação: sua conta deve passar pelo provisionamento antes que você possa criar uma chave de API.)
Bibliotecas de API
Temos várias bibliotecas de API com suporte oficial para facilitar a integração para nossos clientes. Se você estiver reescrevendo qualquer código ou refatorando como se comunica com seu ESP como parte de sua migração, agora é um bom momento para avaliar essas bibliotecas:
- sendgrid-csharp – Biblioteca oficial C#
- sendgrid-go – Biblioteca oficial do Go
- sendgrid-java – Biblioteca Java oficial
- sendgrid-nodejs – Biblioteca oficial do NodeJS
- sendgrid-php – Biblioteca oficial do PHP
- sendgrid-python – Biblioteca oficial do Python
- sendgrid-ruby – Biblioteca oficial do Ruby
SMTP
Se você estiver enviando via SMTP, há algumas diferenças que você deve conhecer. Para autenticar, forneça a string 'apikey' como nome de usuário SMTP e use sua chave de API como senha. Em seguida, aponte seu nome de host para smtp.sendgrid.net .
Você pode se conectar usando SMTP via não criptografado ou TLS nas portas 25, 2525 e 587. Você também pode se conectar via SSL na porta 465. Em geral, recomendamos a porta 587, pois ela tende a resultar em menos problemas com provedores de hospedagem.
O mecanismo para personalizar o e-mail enviado via SMTP é o nosso cabeçalho X-SMTPAPI. Esse cabeçalho permitirá que você defina substituições, envie solicitações de estilo de mala direta em lote e controle filtros (como rastreamento de cliques) que estão ativos para seu envio.
HTTP
O endpoint principal para enviar e-mail é o endpoint Mail. As solicitações para esse endpoint são autenticadas por meio de um cabeçalho de autorização com sua chave de API apresentada como um token de portador. Você pode encontrar um exemplo mais detalhado em nossos documentos.
As personalizações permitem definir destinatários e metadados para cada mensagem, como valores de substituição para personalizar conteúdo ou custom_args para associar mensagens a IDs de usuário ou números de pedido. Há vários exemplos de personalizações para casos de uso comuns. Você também pode encontrar chamadas de exemplo cURL.
Recursos como rastreamento de cliques são configurados por meio dos parâmetros tracking_settings e mail_settings. Você também pode agendar envios com até 72 horas de antecedência usando o parâmetro “send_at”.
Os anexos enviados via HTTP são tratados de forma diferente do Mailgun. Mailgun requer um POST multipart/form-data contendo os arquivos a serem anexados. Com o SendGrid, o conteúdo é codificado como Base64 e incorporado diretamente na carga JSON junto com as informações MIME, mantendo toda a sua mensagem na mesma carga e simplificando sua solicitação HTTP. Você pode ler mais sobre como incluir anexos na seção a seguir de nossa Sala de aula de documentação.
Webhooks
O SendGrid fornece dois webhooks: o Event Webhook para postar eventos em tempo real e o Inbound Parse Webhook para receber emails e respondê-los programaticamente. As formas de dados e cargas úteis são um pouco diferentes do que o Mailgun fornece. No momento, também não oferecemos suporte ao roteamento de mensagens de entrada para diferentes URLs de retorno de chamada; você precisará lidar com esse tipo de lógica no código e não no nível da API.
Endpoints de API que não são de e-mail
Para endpoints de API que não enviam e-mail, confira a visão geral da API v3. Usamos métodos HTTP intuitivos e códigos de resposta na maioria dos casos e aplicamos limites de taxa para chamadas. A API v2 está obsoleta, embora não haja um cronograma para parar de oferecer suporte a ela. Todas as novas integrações devem preferir v3. A autenticação da API v3 é realizada por um cabeçalho de autenticação com um token de portador.
Campanhas de marketing
Temos uma plataforma completa para gerenciamento de listas de contatos, criação e design de modelos, teste A/B de diferentes modelos e agendamento de campanhas. Tudo isso é encapsulado em uma interface de usuário fácil de usar para não desenvolvedores. E, claro, você também pode acessar todos esses recursos por meio de nossa API de campanhas de marketing.
Algumas perguntas frequentes
P: Vocês oferecem suporte a modelos para emails transacionais?
R: Sim — e eles são dinâmicos! Os modelos transacionais do SendGrid apresentam suporte nativo para a sintaxe do Handlebars. Além de substituição e substituições básicas, você pode usar enumerações/iterações sobre listas, aproveitar condicionais e muito mais. Para saber mais, clique aqui.
P: Existe uma sandbox ou uma maneira de testar meus e-mails sem enviá-los?
R: Você pode habilitar o modo sandbox ao enviar via HTTP. Há também um endereço de “pia” que você pode usar para testar.
P: É possível transferir meu endereço IP/reputação do remetente para o SendGrid?
R: Não podemos migrar um IP ou reputação, mas podemos ajudar a preparar um novo IP para você automaticamente.
P: O SendGrid oferece suporte a TLS imposto ?
R: Absolutamente. Você pode exigir que os servidores de recebimento ofereçam suporte a TLS e descartem mensagens que vão para servidores que não estão em conformidade.
P: Posso permitir que meus destinatários definam os tipos de e-mails que desejam receber?
R: Sim. Dar aos seus destinatários mais controle sobre seus emails permite que você envie emails que as pessoas desejam, o que é melhor para todos. Confira os grupos de cancelamento de inscrição para obter mais informações.
Se estiver interessado em migrar para o SendGrid, você pode encontrar mais informações em sendgrid.com/pricing.