Product

Entenda a validação de endereços de e-mail com serviços externos

Descubra como validar endereços de e-mail individuais e em massa com a API de validação de e-mail do Mailgun e como isso ajuda a melhorar a sua entrega de e-mail e reputação do remetente.
Imagem para Entenda a validação de endereços de e-mail com serviços externos

Devolução.

Não é algo que você quer ouvir ao enviar a sua campanha de e-mail.

Você fez a sua pesquisa de mercado, criou um modelo de e-mail em HTML responsivo, escreveu um texto brilhante e adicionou gráficos atraentes. A sua campanha de e-mail marketing certamente terá sucesso, certo?

Tudo depende da sua entregabilidade de e-mail e da sua taxa de entrega de e-mail. A entregabilidade descreve qual parte dos seus e-mails vai parar na pasta de spam do destinatário em vez de ir para a caixa de entrada. Porém, a sua taxa de entrega representa quantos dos seus e-mails são efetivamente entregues.

Você pode resolver o problema da taxa de entrega de e-mail de várias maneiras, como implementar regras de validação com expressões regulares (regex) e outras validações personalizadas ao coletar endereços de e-mail para campanhas. Mas, no fim das contas, essas opções têm as suas limitações. Não se preocupe: é por isso que o Mailgun tem o que você precisa com a nossa API de validação de e-mail.

Neste artigo, veremos três maneiras de realizar validações de e-mail no Mailgun. Em seguida, discutiremos como integrar a API do Mailgun a um cliente externo, como o Salesforce, para que você possa usar a nossa API de validação de e-mail e potencializar os seus esforços de marketing digital em outras plataformas.

O que é validação de endereços de e-mail e por que ela é importante?

A validação de endereços de e-mail, também chamada de verificação de e-mail, é um processo que confere se um endereço de e-mail é entregável, ou seja, um endereço de e-mail válido.

Por exemplo, muitas pessoas na sua base de usuários podem cometer erros de ortografia ou formatação ao digitar os e-mails, especialmente se inserirem as informações em dispositivos móveis com telas pequenas. A validação de e-mail captura esses erros de sintaxe ou digitação e avalia se os dados incorretos são um erro honesto, um desvio intencional ou uma ameaça em potencial à segurança cibernética.

A validação de endereços de e-mail é importante porque permite:

  • Aumentar a taxa de entrega: reduza a sua taxa de devolução verificando endereços de e-mail e deixando de fora usuários inválidos que os servidores de e-mail não conseguem alcançar.
  • Limpar e organizar a sua lista de e-mails: mantenha a sua lista de e-mails atualizada e organizada, eliminando endereços de e-mail desativados ou inválidos.
  • Impulsionar uma taxa de conversão maior: como você está concentrando esforços em e-mails que foram validados, não desperdiça mensagens com endereços de e-mail inválidos. Isso permite segmentar destinatários de e-mail ativos e alcançar uma taxa de conversão mais alta.
  • Proteger a reputação do remetente: a sua Endereço IP reputação de remetente e a reputação do domínio são as métricas do cliente de e-mail usadas para determinar a entrega das suas mensagens. Elas também afetam se os seus e-mails vão parar na caixa de entrada do destinatário ou na pasta de spam. Mantenha uma boa reputação do remetente direcionando-se a endereços de e-mail com usuários válidos.

O que é a API de validação de e-mail do Mailgun?

Por que deixar o sucesso da sua campanha de e-mail ao acaso quando você pode validar os endereços de e-mail facilmente?

No Mailgun, fornecemos uma serviço de verificação de e-mail totalmente integrada ao nosso conjunto de recursos e serviços de entregabilidade de e-mail. Você não precisará alternar entre diferentes plataformas e fontes de dados para verificar se as suas campanhas de e-mail sofrerão devolução.

Nosso API de validação de e-mail pode ser consultada no seguinte endpoint: https://api.mailgun.net/v4/address/validate. A API inspeciona de forma programática vários aspectos de um endereço de e-mail para conferir se:

  • A sintaxe do endereço de e-mail está correta.
  • O domínio está configurado para receber e-mails.
  • O endereço de e-mail existe.
  • O endereço não tem eventos de devolução em cache da rede do Mailgun.
  • O endereço de e-mail não é de alto risco.
  • O endereço de e-mail não é baseado em função, como info@mailgun.com ou admin@mailgun.com.
  • O endereço de e-mail não é descartável.
  • O endereço de e-mail não contém erros de digitação no domínio.
  • O endereço de e-mail não está em um domínio catch-all.
    • Se o domínio for catch-all, nós o marcaremos como entregável se houver engajamento no endereço.

Sabemos o quanto é importante manter uma lista de endereços de e-mail verificados e entregáveis para reduzir a proporção de e-mails devolvidos que podem prejudicar a reputação do remetente.

Quais são as três maneiras de usar o Mailgun para validar endereços de e-mail?

O Mailgun oferece a verificação de endereços de e-mail de três maneiras:

  • Verificando os endereços de e-mail de uma lista de e-mails
  • Verificando um único endereço de e-mail
  • Verificando endereços de e-mail fornecidos em massa via CSV

Se você não quer se aprofundar na programação agora, confira o nosso recurso de listas de e-mails na plataforma, conforme mostrado abaixo. Você pode verificar os contatos de uma lista de e-mails com o clique de um botão no seu painel de controle. Lembre-se de que é possível ter no máximo 2,5 milhões de contatos na sua lista de e-mails.

The Mailing List feature on the Mailgun app

Se você tem disposição para programar, veremos abaixo como realizar a verificação de um único e-mail ou a verificação de e-mails em massa através da nossa API.

Antes de começar…

Antes de se aprofundar nos tutoriais, certifique-se de ter feito o cadastro em Mailgun se ainda não o fez. Depois de criar uma conta, acesse o painel, clique na aba API Security e copie a sua chave de API privada, conforme mostrado abaixo. Você precisará dela para fins de autenticação.

Private API key on Mailgun dashboard

Os tutoriais a seguir usarão a API do Mailgun. Portanto, a familiaridade com APIs RESTful, curl e JSON é altamente recomendável, mas não obrigatória.

Como uso a API de validação de e-mail do Mailgun para validar um único endereço de e-mail?

Vamos começar com o caso de uso mais básico: a verificação de um único endereço de e-mail. Podemos fazer uma solicitação GET à API de validação de e-mail da seguinte forma:

                                

                                    curl --user 'api:PRIVATE_API_KEY' -G 
n    https://api.mailgun.net/v4/address/validate 
n    --data-urlencode address='foo@mailgun.net'
                                
                            

Lembre-se de fornecer a sua chave de API privada no lugar do PRIVATE_API_KEY do exemplo acima. Além disso, você pode fornecer o endereço de e-mail que está sendo verificado como um parâmetro para address.

Se a sua consulta foi escrita corretamente, você deverá receber uma resposta como esta:

                                

                                    {rn    "address": "foo@mailgun.net",rn    "is_disposable_address": false,rn    "is_role_address": false,rn    "reason": [],rn    "result": "deliverable",rn    "risk": "low"rnrn}
                                
                            

As duas partes mais importantes dessa resposta são os parâmetros result e risk.

O parâmetro result é a nossa avaliação principal do endereço de e-mail enviado para verificação. Ele pode conter os seguintes valores:

  • deliverable: o endereço do destinatário é válido e deve aceitar um e-mail seu.
  • undeliverable: o endereço do destinatário é inválido e resultará em uma devolução se você enviar uma mensagem.
  • do_not_send: o endereço do destinatário é de alto risco e causará um impacto negativo na reputação do remetente se você enviar uma mensagem para ele.
  • catch_all: a validade do endereço do destinatário não pode ser determinada, pois o provedor de serviços de e-mail (ESP) aceita todos os e-mails, não importando se a caixa de correio do destinatário existe ou não.
  • unknown: a validade do endereço do destinatário não pode ser determinada por vários motivos possíveis. Consulte o array reason associado retornado na resposta.

O parâmetro risk é a nossa avaliação de como o envio de mensagens para um determinado endereço pode impactar a reputação do remetente. Este parâmetro pode conter os seguintes valores:

  • low: o endereço de e-mail provavelmente é legítimo, e o envio de e-mails para ele tem uma baixa probabilidade de prejudicar a reputação do remetente caso o endereço tenha sido obtido de forma legítima. 
  • medium: este é o nosso estado padrão ou neutro para o cálculo de riscos. Um endereço de e-mail que não for considerado de baixo ou alto risco será classificado por padrão como risco médio.
  • high: um endereço de e-mail que tem um alto risco de prejudicar a reputação do remetente ou ao ser usado para verificação na sua plataforma. Você deve examinar esse endereço de e-mail para contestar a sua validade.

Aqui está uma breve explicação dos outros parâmetros no corpo da resposta:

  • address: retorna o endereço de e-mail que está sendo verificado.
  • is_disposable_address: essa chave retorna um valor verdadeiro (true) ou falso (false), com base no fato de o e-mail verificado ser ou não um endereço descartável.
  • is_role_address: retorna um valor verdadeiro (true) ou falso (false), de acordo com o endereço de e-mail verificado ser ou não um endereço baseado em função.
  • reason: esse array fornece informações adicionais se não conseguirmos verificar corretamente um endereço de e-mail, como mailbox_does_not_exist ou high_risk_domain. Se o risk for medium ou high, esse array fornecerá uma explicação.

E isso é tudo para realizar uma validação básica de endereços de e-mail. Vale ressaltar que você também pode realizar a verificação de um único e-mail via uma solicitação POST. Confira nossas Documentação da API para mais detalhes.

Como usar a API de validação de e-mail do Mailgun para validar endereços de e-mail em massa?

E se você tiver centenas (ou milhares!) de endereços de e-mail para verificar? Enviar um por vez é um uso ineficiente do seu tempo e dos recursos de computação.

A verificação em massa permite verificar uma lista de endereços de e-mail. Assim que todas as verificações forem concluídas, será possível acessar os resultados através de um link download_url. Lembre-se de que é necessário fornecer a sua lista de endereços de e-mail como um arquivo CSV bruto ou GZIP. Você também precisa fazer o upload do arquivo como um multi-part/form-data no qual o arquivo é definido por file

Abaixo, vejamos duas solicitações de API para gerenciar as suas verificações em massa:

  • Criar um trabalho de verificação em massa
  • Obter o status de um trabalho de verificação em massa

Como criar um trabalho de verificação de e-mail em massa?

Depois de preparar e fazer o upload da lista de endereços de e-mail de acordo com as especificações acima, é fácil criar um trabalho de verificação de e-mails em massa. Usaremos uma solicitação POST para a nossa API de validação de e-mail, conforme mostrado abaixo:

Lembre-se de substituir o YOUR_API_KEY pela sua chave de API privada , nomear a sua lista em LIST_NAME e inserir o caminho do seu arquivo em file.

Você deverá receber a seguinte resposta:

                                

                                    {rn "id":"myemails"rn "message": "The validation job was submitted."rn}
                                
                            

Você receberá uma message confirmando que o trabalho foi enviado com sucesso. O id é o nome da lista que você forneceu.

Como conferir o status de um trabalho de verificação em massa?

Garantimos que as suas verificações em massa não demorarão muito: pense em minutos, não em horas. Podemos fazer isso porque a nossa ferramenta de verificação de e-mail utiliza o nosso cache com bilhões de endereços de e-mail como fonte primária para permitir uma verificação extremamente rápida. Mas para o caso de você precisar conferir o status do trabalho de verificação em massa, basta usar a seguinte solicitação GET:

                                

                                    curl -s --user 'api:YOUR_API_KEY' -G 
n    https://api.mailgun.net/v4/address/validate/bulk/LIST_NAME
                                
                            

Lembre-se de substituir YOUR_API_KEY pela sua chave de API privada e nomear a sua lista em LIST_NAME. Aqui está um exemplo de resposta à sua solicitação:

                                

                                    {rn  "created_at": "Tue, 26 Feb 2021 21:30:03 GMT",rn  "download_url": {rn    "csv": "<download_link>",rn    "json": "<download_link>"rn  },rn  "id": "bulk_validations_sandbox_mailgun_org",rn  "quantity": 207665,rn  "records_processed": 207665,rn  "status": "uploaded",rn  "summary": {rn    "result": {rn      "deliverable": 181854,rn      "do_not_send": 5647,rn      "undeliverable": 12116,rn      "catch_all" : 2345,rn      "unknown": 5613rn    },rn    "risk": {rn      "high": 17763,rn      "low": 142547,rn      "medium": 41652,rn      "unknown": 5613rn    }rn  }rn}
                                
                            

É possível ver um resumo das suas verificações de e-mail, incluindo os detalhamentos de result e risk. Você também pode ver o status do trabalho, que é o estado atual da solicitação de verificação da lista, como created, processing, completed, uploading, uploaded e failed.

Depois que o upload do trabalho de verificação em massa for concluído com sucesso, você poderá usar os links download_url para acessar detalhes sobre cada endereço de e-mail na sua lista.

Pronto! Você verificou os e-mails e já tem tudo certo para enviar a sua campanha de e-mail.

Como uso a API de validação de e-mail do Mailgun com o External Services do Salesforce?

Vejamos como uma pessoa administradora do Salesforce pode configurar a plataforma para uso com a API de validação de e-mail do Mailgun. Para isso, usaremos o External Services, que é uma maneira de conectar o Salesforce a APIs externas sem precisar de código. Depois, executaremos uma validação de e-mail no Salesforce. Faremos isso através das seguintes etapas:

  1. Criar uma Named Credential para a API do Mailgun no Salesforce.
  2. Configurar o External Services na plataforma Salesforce.
  3. Criar um Screen Flow para usar a API de validação de e-mail do Mailgun no Salesforce.
  4. Executar uma validação de e-mail no Salesforce.

Vamos ver essas etapas com mais detalhes. Lembre-se de que é necessário ter uma conta do Mailgun com um plano que inclua a funcionalidade de validação de e-mail do Mailgun Optimize.

1. Como criar uma Named Credential?

Começaremos criando uma Named Credential. Para isso:

1. Na plataforma Salesforce, acesse Setup > Named Credentials.

2. Clique no botão New para criar uma nova Named Credential.

3. Especifique os seguintes valores:

  • Rótulo = Mailgun Email Address Verifications
  • Nome = Mailgun_Email_Verification_API
  • Certificado = deixar em branco
  • Tipo de identidade = Named Principal
  • Protocolo de autenticação = Password Authentication
  • Nome de usuário = api
  • Senha = A sua chave de API privada da conta do Mailgun.
  • Generate Authorization Header = true

4. Clique em Save.

2. Como registrar um External Service?

Agora, usaremos o External Services na plataforma Salesforce para integrar a API do Mailgun. Faremos isso com as seguintes etapas:

1. No Salesforce, acesse Setup > External Services.

2. Selecione New External Service.

3. Selecione From API Specification e clique em Next

Selecting an API source window

4. Especifique estes valores para os seguintes campos:

  • Nome do External Service = MailgunEmailVerificationsExternalService 
  • Select a Named Credential = o nome da Named Credential criada acima (Mailgun Email Address Verifications neste exemplo)
  • Descrição = Mailgun’s Email Address verification service
  • Altere o botão de opção para “Service Schema Complete JSON” e insira o seguinte esquema do Swagger:
                                

                                    {rnrn    "swagger": "2.0",rnrn    "info": {rnrn        "description": "Mailgun Email Address Validation API",rnrn        "version": "4.0",rnrn        "title": "Mailgun Email Address Validation API"rnrn    },rnrn    "host": "api.mailgun.net",rnrn    "schemes": [rnrn        "https"rnrn    ],rnrn    "paths": {rnrn        "/v4/address/validate": {rnrn            "get": {rnrn                "summary": "Validate an Email Address",rnrn                "produces": [rnrn                    "application/json"rnrn                ],rnrn                "parameters": [rnrn                    {rnrn                        "in": "query",rnrn                        "name": "address",rnrn                        "description": "Email Address to be Verified",rnrn                        "required": true,rnrn                        "type": "string"rnrn                    }rnrn                ],rnrn                "responses": {rnrn                    "200": {rnrn                        "description": "Result of the Email Address Validation",rnrn                        "schema": {rnrn                            "$ref": "#/definitions/validationResponse"rnrn                        }rnrn                    }rnrn                }rnrn            }rnrn        }rnrn    },rnrn    "definitions" : {rnrn        "validationResponse" : {rnrn            "properties": {rnrn                "result": {rnrn                    "description": "result",rnrn                    "type": "string"rnrn                }rnrn            }rnrn        }rnrn    }rnrn}
                                
                            

O seu External Service deve ficar parecido com isto:

Configure external service window

5. Selecione a operação getv4AddressValidate e clique em Next.

Assistente de Adicionar um Serviço Externo mostrando a etapa Selecionar operações com getV4AddressValidate selecionado

6. Clique em Done.

3. Como criar um fluxo para usar o external service?

Agora que potencializamos o Salesforce com o Mailgun, criaremos um Screen Flow para usar a API de validação de e-mail do Mailgun no Salesforce.

1. No Setup do Salesforce, acesse Flows > New Flow.

2. Selecione Screen Flow e clique em Create.

3. O fluxo terá simplesmente três elementos: um de tela (screen), um de ação (action) e outro de tela

4. Adicione o primeiro elemento de tela:

Screen flow add elements window

O nome do elemento pode ser Email Address Entry, e esse elemento terá apenas um campo do tipo Text. Chame este campo de “Email Address”, conforme mostrado abaixo.

Interface do Novo Construtor de Telas mostrando um campo de entrada de Endereço de e-mail sendo configurado com as propriedades à direita

5. Adicione um elemento de ação abaixo do elemento de tela. No fluxo, crie um novo recurso clicando no botão New Resource. Adicione os valores de campo a seguir ao novo recurso e salve-o:

  • Resource Type = Variable
  • API Name = Mailgun External Service
  • Data Type = Apex-Defined
  • Apex Class = ExternalService__MailgunEmailVerificationsExternalService_validationResponse (ou o nome que você deu ao external service na etapa 3 acima)
  • As opções Available for input e Available for output devem ser definidas como True

6. Adicione um elemento de ação ao fluxo onde Type seja External Service. O campo Action deve ser o seu external service, e os valores de entrada precisam ser apenas o Email Address do elemento de tela 1 acima. Certifique-se de selecionar Advanced > outputs e inserir a variável definida no Apex criada acima, chamada MailgunExternalServices. O elemento de ação deverá ficar assim:

New Action window

7. Agora adicione o elemento de tela final. Ele terá apenas um campo do tipo Display Text e emitirá o resultado da ação a partir da chamada de external service acima.  A tela deve ficar assim (note que o valor de saída {!MailgunExternalService.result} pode ser encontrado acima do texto de exibição clicando em Insert a Resource e, depois, selecionando a saída da sua variável do external service, conforme mostrado abaixo):

New screen label window

É só isso! Agora vamos ver como funciona na prática.

4. Como executar uma verificação de e-mail no Salesforce?

Você integrou a API do Mailgun à sua organização do Salesforce com sucesso. Vamos ver como tudo isso funciona.

Para testar o fluxo criado acima:

  1. Clique no botão Run do fluxo.
  2. Em seguida, clique em Enter any email address.
  3. Insira um endereço de e-mail.
  4. Clique em Next.

Você deverá receber um resultado da API do Mailgun que indica se o endereço de e-mail inserido é entregável ou não entregável. Quer saber mais? Assista a este vídeo para ver como é o fluxo em uso.

Conclusão

Passamos por alguns métodos para verificar endereços de e-mail com a nossa interface do usuário e a API de validação de e-mail do Mailgun. Também demos dicas para integrar a nossa API a clientes externos como o Salesforce.

Agora você já pode conferir a validade de endereços de e-mail em tempo real e começar a fazer os seus envios! Ainda tem dúvidas? Não hesite em entrar em contato!