Elastic Email: Conta gratuita permite enviar até 25 mil emails por mês

Em mais esta alternativa de SMTP Relay mostrarei como configurar o Elastic Email que permite o envio de até 25 mil emails mensais, sem limite de envios diários, na conta gratuita. Das empresas que selecionei essa é a que oferece a maior quantidade de envios na versão free.

Uma das grandes vantagens de se usar SMTP Relay externo é a garantia da entrega dos emails na caixa de entrada. Em nossos tutoriais anteriores mostramos como adicionar regras de firewall e tentar garantir que hackers não usem nosso servidor com técnicas de spoofing e backscatter, que “sujam” o IP do VPS adicionando-o em blacklists. Mas mesmo assim, digamos que você tenha uma revenda de hospedagem e um dos seus clientes seja spammer, isso também irá prejudicar o seu IP. Spammers buscam hospedagens que não tenham muito controle nas contas porque as grandes empresas limitam o envio.

Escreverei este tutorial de maneira muito parecida com o anterior e optando por SMTP Relay seletivo, podendo ser usado para somente algumas contas de um domínio ou domínios inteiros.

SMTP Relay com Elastic Email e Postfix

* Este tutorial foi testado em nosso servidor Debian 7 com ISPConfig 3 e Postfix, clique aqui e veja como instalar. Consideraremos que a sua tabela DNS de domínio já esteja configurada e devidamente propagada.

Crie uma conta gratuita no Elastic Email e configure o domínio

A Crie uma conta: Clique neste link para cadastrar-se: https://elasticemail.com/account#/create-account

» Email: <– [email protected] (o email que irá gerenciar a conta)

» Confirm Email: <– [email protected] (confirme o email)

» Password: <– digite uma senha e confirme no próximo campo

» Account Type: <– Transactional (Marketing é um tipo de conta para emails de campanha, e Transactional são emails de contato, suporte, etc.. *Você poderá alterar isso a qualquer momento no painel)

» Marque a opção “I have read and agree to the Terms of Use” e clique em “Create“. *Será enviado um email de confirmação para habilitar a conta.

B Adicione um domínio: Selecione a opção “Settings” no menu e clique no botão “Adicionar Domínio“. Digite o nome do seu domínio sem o “www” e clique em “Salvar“. Após salvar teremos que verificar o domínio.

C Adicione os registros DNS do domínio: Isso é necessário, se não fizermos este passo a conta não enviará emails. Abra sua tabela DNS para editar os registros, na DigitalOcean o link é: https://cloud.digitalocean.com/domains/seudominio.com.br

* Se tiver dúvidas ao adicionar os registros abaixo consulte a documentação oficial do Elastic Email neste link.

* Aprenda como adicionar registros na tabela DNS seguindo este link.

» SPF: Na entrada SPF altere para incluir o servidor do elasticemail (e substitua o IP pelo do seu servidor), exemplo:

"v=spf1 ip4:104.130.85.225 include:_spf.elasticemail.com ~all"

*Um segundo exemplo: Digamos que você já tenha seguido algum tutorial nosso de outro SMTP Relay, pode-se digitar vários "includes" da seguinte maneira (não podemos criar mais do que um registro SPF na tabela, dará erro na verificação do cabeçalho do email):

"v=spf1 ip4:104.130.85.225 include:spf.mandrillapp.com include:_spf.elasticemail.com ~all"

» DKIM: Adicione uma entrada DKIM com os seguintes dados (pode usar a mesma chave abaixo que é genérica para todas as contas no Elastic Email):

* Deixe o texto com a chave entre aspas duplas e substitua seudominio.com.br. Note o ponto no final.

Tipo: TXT

Hostname: api._domainkey.seudominio.com.br.

Texto: "k=rsa;t=s;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCbmGbQMzYeMvxwtNQoXN0waGYaciuKx8mtMh5czguT4EZlJXuCt6V+l56mmt3t68FEX5JJ0q4ijG71BGoFRkl87uJi7LrQt1ZZmZCvrEII0YO4mp8sDLXC8g1aUAoi8TJgxq2MJqCaMyj5kAm3Fdy2tzftPCV/lbdiJqmBnWKjtwIDAQAB"

» CNAME: Temos que adicionar um registro CNAME para confirmar ao Elastic Email que gerenciamos o domínio (note o ponto no final):

Tipo: CNAME

Host: tracking.seudominio.com.br.

Hostname: api.elasticemail.com.

D Verifique o domínio: Após adicionar as entradas na tabela retorne ao painel do Elastic Email. Clique no botão azul “Verificar” ao lado do domínio. Se você fez tudo certo os registros todos irão validar. Clique em “OK“.

2 Configure o Postfix para enviar os emails por SMTP Relay

A Edite o arquivo /etc/postfix/main.cf e modifique/adicione as seguintes linhas (os números das linhas referem-se ao arquivo original, se você alterou o arquivo por algum motivo encontre-as):

# Linha 23:

smtpd_use_tls = yes
# Modifique a linha 35 para um valor nulo

relayhost =
# Adicione estas linhas ao final (lembre-se de deixar uma linha vazia no final do arquivo para prevenir problemas). Isso ira ativar o SASL para autenticação externa

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
sender_dependent_relayhost_maps = hash:/etc/postfix/relayhost_maps
smtp_sasl_security_options = noanonymous

B Em seguida edite o arquivo /etc/postfix/sasl_passwd. *Se o arquivo não existir crie-o com o seguinte comando “> touch /etc/postfix/sasl_passwd“, MAS SOMENTE  EXECUTE O COMANDO touch SE O ARQUIVO NÃO EXISTIR pois isso irá excluir todo o conteúdo. Dentro do arquivo adicione a seguinte linha (substituindo o email e senha pela credencial criada no passo 1E acima):

* A senha_API é aquela chave que aparece no campo "API Chave" quando clicamos em "Settings" no menu
 
[smtp.elasticemail.com]:587 [email protected]:senha_API

C Edite o arquivo /etc/postfix/relayhost_maps. *Se o arquivo não existir crie-o com o seguinte comando “> touch /etc/postfix/relayhost_maps“, MAS SOMENTE  EXECUTE O COMANDO touch SE O ARQUIVO NÃO EXISTIR pois isso irá excluir todo o conteúdoDentro do arquivo adicione a seguinte linha (substituindo seudominio.com pelo nome do seu domínio adicionado no passo 1B):

@seudominio.com [smtp.elasticemail.com]:587

*Como já explicamos em outros tutoriais pode-se adicionar emails ou domínios de forma seletiva neste arquivo. Exemplo: [email protected] fará com que somente emails de newsletter sejam enviados por este serviço, os demais poderiam usar uma outra opção de SMTP Relay ou, se não estiverem relacionados neste arquivo, serão enviados diretamente pelo servidor.

D Salve os arquivos e execute os comandos finais do Postfix para usar as novas configurações:

> postmap /etc/postfix/sasl_passwd

> postmap /etc/postfix/relayhost_maps

/etc/init.d/postfix restart

Faça testes enviando alguns emails, no cabeçalho deverá aparecer que foi enviado pelo ElasticEmail. Caso o email não seja entregue verifique o arquivo de log /var/log/mail.log e observe nas últimas linhas se houve algum problema.

NOTAS:

Duas coisas me chamaram a atenção no serviço oferecido pelo Elastic Email: A grande quantidade (25 mil por mês) sem limitações diárias de envios no plano gratuito; E a possibilidade de poder adicionar vários domínios e limitar a quantidade de envios diários por domínio, facilitando a vida do administrador de uma revenda de hospedagem.

Gerenciamento de Servidores Cloud com atendimento e consultoria em português. Planos mensais com os melhores preços do mercado.
Envie um email para [email protected] e saiba mais!

*Regarding english support please contact me by email or post a comment using the Disqus system. I do offer monthly support and custom server deploy. Now accepting Paypal and Bitcoin!

  • Alex

    Tenho verificado que meu servidor de email não tem efetuado o envio de emails que contem anexo, o que poderia ser?

  • Não envia? ou simplesmente não recebe na conta destino?
    E como você está enviando.. pelo Elastic Email??

    Pode sempre verificar o log do servidor o status da mensagem em /var/log/mail.log

  • Alex

    As mensagem com anexo não chegam na conta destino, no relatório do painel do Elastic Mail consta como devolvido / NotDelivered.

    No mail.log tinha o seguinte erro: “fatal: main.cf configuration error: mailbox_size_limit is smaller than message_size_limit”, então percebi que eu nao havia alterado no ISPConfig o “Tamanho máximo de mensagem” de 0 para 100Mb.

    Mas mesmo com essa configuração, os emails com anexo não chegam ao destino, ainda que no log o status da mensagem seja sent.

  • Alex

    Descobri o problema. No painel do Elastic Email habilitei o Retorno de Rejeições, e recebi a mensagem: “555 Not enough credit for attachments”. Há custo para envios com anexo 🙁

    Luis, vc conhece alguma outra ferramenta que não apresente limitações quanto a anexos?

    Grato!

  • Sim, tenho vários no site. A que uso aqui é a Mailgun: http://fatorbinario.com/mailgun-solucao-de-smtp-relay-no-postfix-para-servidores-vps/

    No site ainda tem o último tutorial que falo sobre o SparkPost, a implementação é praticamente igual em qualquer delas (Sendgrid, Sendinblue, Mailjet, etc..)

  • Bom artigo Luis 🙂
    O que acontece no meu caso é que nao recebo emails enviados desde Elastic Email se o destinatario for o mesmo dominio do Elastic Email. Por exemplo: Se o dominio onde envio emails desde o Elastic Email é @dominio1.com, nao consigo recebe-los. Funciona bem se envio para outro dominio diferente de @dominio1.com (inclusivé para dominios que o meu servidor também hospeda).
    Voce sabe o que pode ser? (uso PostFix e recentemente mudei de servidor dedicado, sendo que antes funcionava corretamente)

  • O recebimento de emails está diretamente ligado à configuração da entrada MX na tabela DNS. Porém, quando você tenta enviar um email do servidor para o mesmo domínio que tem as caixas configuradas no servidor o Postfix tentará enviar internamente primeiro.

    Por exemplo, se eu enviar um email de [email protected] para [email protected] a mensagem nem sai do servidor, e teria que sair para encontrar o servidor configurado no MX.

    O importante é o email chegar.. O MX aponta para o servidor?

  • Sim, o MX aponta para o servidor. Alias, se eu envio o email atraves de Gmail utilizando o SMTP do meu servidor, tudo funciona bem (chega sempre bem).

    Apenas falha quando tento enviar pelo Elastic Email (somente enviando DE: …@meudominio.com PARA: …@meudominio.com). Se o endereço PARA: for um dominio diferente do meudominio.com tambem funciona.

    Falei com o soporte de Elastic Email e eles disseram que deveria acrescentar elasticemail.com à lista de trusted senders em Postfix.

    Sabe como posso fazer isso?

    Grato!

  • Caramba, e isso funcionaria?

    Teste ae e me avise:
    O que você precisa é adicionar o elastic em “mynetworks” linha 37 do main.cf e caso queira tentar algo a mais faça um teste com “mydestination” na linha 35 também, mas altere primeiro o mynetworks.

    Reinicie o Postfix após alterar o arquivo.

  • Obrigado pela dica Luis. Infelizmente nao funcionou..

    Acho que já sei onde está o problema. No ElasticEmail eles ainda têm a IP do dominio apontando para o velho servidor. Utilizando a ferramenta de diagnóstico que eles tem comprovei isso.

    Perguntei ao suporte como faço para atualizar a IP do meu servidor no ElasticEmail..

    Vamos ver se é isso…

  • Era a cache da DNS de Elasticemail que enviava os emails para o antigo servidor. Já está tudo funcionando. 🙂
    Cumprimentos!

  • Beleza. Então só precisa adicionar o elastic em mynetworks que resolve?

  • Nao precisou! 🙂 Faltava somente atualizar a cache por parte da ElasticEmail. Isso foi suficiente.

  • Valeu pelo feedback. E caso não se acerte com o Elastic crie uma conta na Mailgun que é o relay que eu uso (você encontra o tutorial aqui no site).

    E atente também para envios com anexo, algumas empresas não permitem isso.

  • Obrigado pelas dicas Luis. Já tinha visto o seu tutorial e fiquei com curiosidade de experimentar o Mailgun. Vou dar uma olhada. Abraço.

  • Gláucio Júnior Teixeira

    Olá Luis, tudo bem !
    Excelente tutorial, muito bom. Consegui implementar o serviços, enviando e recebendo normalmente. Porem, preciso lhe perguntar:

    Como posso configurar um segundo domínio para enviar também através deste serviço de relay externo ?

    Já criei um novo domínio na minha conta da Elastic, mas quando altero arquivo /etc/postfix/sasl_passwd, recebo a seguinte mensagem quando executo # postmap /etc/postfix/sasl_passwd:
    ‘postmap: warning: /etc/postfix/sasl_passwd.db: duplicate entry: “[smtp.elasticemail.com]:25″‘

    O meu arquivo sasl_passwd tem esse conteúdo:
    [smtp.elasticemail.com]:25 [email protected]:API_KEY
    [smtp.elasticemail.com]:25 [email protected]:API_KEY

    Como posso resolver esse problema e também como ficara o arquivo /etc/postfix/relayhosts_maps ?

    Muito obrigado.

  • Isso é porque o arquivo onde deve-se relacionar os domínios é o “relayhost_maps”, veja um exemplo mais claro neste link: http://fatorbinario.com/smtp-relay-com-postfix-e-sparkpost/

  • Gláucio Júnior Teixeira

    Bacana demais Luis. Funcionou direitinho. Muito obrigado !