SMTP Relay com Postfix e SparkPost

O SparkPost é mais uma das muitas alternativas para envio de email usando SMTP externo. Já publiquei aqui no site vários tutoriais falando sobre o assunto, porém decidi publicar mais este por dois motivos abaixo apresentados.

A Mandrill, que na minha opinião é o melhor serviço de envio (por pertencer à MailChimp), está encerrando as contas gratuitas neste mês deixando muita gente com a opção de comprar créditos ou migrar de serviço. Sendo esse o primeiro motivo de eu escrever este tutorial, a própria Mandrill indica a SparkPost. E o segundo motivo é que a SparkPost deixa enviar 100 mil emails por mês com limite de 10 mil diários na conta gratuita.

Acabei de testar o serviço de SMTP Relay pelo Postfix e está entregando normalmente em contas do Hotmail. Nas últimas semanas usei a Mailgun que também tem uma taxa alta de entrega, mas com um limite mensal bem inferior.

SMTP Relay com Postfix e SparkPost

* Este tutorial foi testado em nosso servidor Debian 8 Jessie 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 SparkPost e configure o domínio

A Os passos para criar a conta são praticamente os mesmos dos demais sites, acesse este link e registre-se clicando em “Try for Free“: https://www.sparkpost.com/

Após registrar e confirmar a conta clique no seu Dashboard que terá um passo a passo do que deverá ser feito para ativar o envio.

B Create a sending domain: Adicione o seu domínio que enviará os emails, siga o exemplo abaixo:

» Clique em NEW DOMAIN

» Digite o seu domínio, exemplo: fatorbinario.com

» Clique em Add Domain

C Verify your sending domain: Após adicionar o domínio você deverá configurar a tabela DNS e confirmar que ele é seu indicando um email para verificação que deverá estar no mesmo domínio. Após alterar a tabela DNS e confirmar o email clicando no link enviado clique nos botões de “teste” para validar. Caso tenha problemas para adicionar registros na tabela DNS veja nossos tutoriais de como fazer.

D Get an API key for sending: Clique em NEW API KEY. Uma chave será criada, anote-a ou copie para outro lugar porque ela não será exibida novamente no Dashboard e teremos que usá-la no Postfix mais adiante.

2 Configuração do Postfix: Opção de SMTP Relay seletivo

A Edite o arquivo /etc/postfix/main.cf e modifique/adicione as seguintes linhas (os números das linhas são referentes 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 ou você poderá danificar outras configurações. Dentro do arquivo adicione a seguinte linha:

NOTA Importante: No painel do SparkPost clique em Account / SMTP Relay para ver suas credenciais de acesso, note que o usuário será sempre SMTP_Injection, o que muda é a chave API.

[smtp.sparkpostmail.com]:587 SMTP_Injection:chave_API_criada_acima

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 ou você poderá danificar outras configurações. Dentro do arquivo adicione a seguinte linha (substituindo seudominio.com pelo nome do seu domínio adicionado no passo 1B):

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

*Como eu já expliquei em outros tutoriais: você pode adicionar emails ou domínios de forma seletiva neste arquivo. Exemplo: [email protected] para que somente emails de newsletter sejam enviados pelo SparkPost, os demais poderiam usar um outro serviço ou, se não estiverem relacionados neste arquivo, serão enviados diretamente pelo servidor.

*Seguindo os passos acima você poderá adicionar quantos domínios quiser, mas lembre-se de validá-los na SparkPost e de relacionar eles no arquivo relayhost_maps. Pode-se ainda criar uma chave API para cada domínio para melhor controle.

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

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

Índice do Tutorial:

Gestão em infraestrutura de Servidores Cloud VPS e Dedicados. Planos mensais acessíveis e consultoria diferenciada para agências de marketing.
Envie um email para [email protected] e solicite uma análise gratuita!

  • Willian Junior

    Olá Luís, mais uma vez muito obrigado. Este tutorial está me ajudando muito. Só para esclarecer, para adicionar os demais domínios basta acrescenta-los no arquivo relayhost_maps, certo? Porém antes eu tenho que adiciona-los no SparkPost não é isso?

  • Willian Junior

    Uma segunda dúvida, como eu faço para configurar outra conta do SparkPost no mesmo servidor? Digo isso pois minha ideia é hospedar vários clientes em um mesmo server. É possível fazer esta configuração?

  • Respondendo as duas perguntas..

    Sim você só precisa relacionar os outros domínios no arquivo relayhost_maps e criar o hash dele com postmap relayhost_maps. Você pode ainda relacionar somente alguns emails pelo SparkPost, depende do seu perfil de site.

    E se quiser também criar chaves API para cada domínio, eu acho melhor assim, então edite também o sasl_passwd e adicione lá. E tem sempre que adicionar e verificar os domínios no painel da conta no SparkPost.

  • Willian Junior

    Luis,
    Estou tendo problemas para validar o SPF Text Record no sparkpost. Adicionei o registro “v=spf1 ip4:162.243.218.88” include:sparkpostmail.com ~all na tabela de DNS mas não funcionou. O DKIM já está ok mas o SPF não. Mesmo fazendo todas as configurações meu e-mail não chega na caixa de entrada do Hotmail somente spam. Existe alguma outra coisa a fazer? Obrigado!

  • Tiago Casagrande

    Estou na mesma situação!! Meu dominio é na namecheap e até agora nada!! nem DKIM nem SPF…

  • Talvez vocês estejam errando em algum passo, veja como adicionar os registros na NameCheap: https://www.namecheap.com/support/knowledgebase/article.aspx/317

    E diferentemente do que aparece no exemplo lá, você nunca pode ter mais de um registro para o SPF pois só um será reconhecido. Para usar vários validadores no mesmo SPF usa-se “include” dentro do já existente.

    No painel de validação do SparkPost clique em “settings” do DKIM e do SPF que mostra exatamente o que tem que fazer.

    * E o Willian já resolveu lá, depois deste post ele foi meu aluno de curso privado aqui no site.

  • Weslley Almeida

    Luis…
    Configurei o SparkPost conforme o tutorial. O SPF e DKIM estão OK, mas os e-mail não chegam nem no Spam.
    Verifiquei o log:
    Jun 22 00:06:46 cpanel dovecot: imap-login: Login: user=, method=PLAIN, rip=::1, lip=::1, mpid=2114, secured, session=
    Jun 22 00:06:46 cpanel dovecot: imap([email protected]): Disconnected: Logged out in=117 out=916

  • Você esstá usando o cPanel?
    O MTA daquele painel é o EXIM4.

    E as linhas de log que você mostrou acima são do Dovecot que faz o recebimento no servidor das mensagens e não a entrega.

  • Weslley Almeida

    Ola,
    segui o tutorial Debian 8 + ISPConfig 3.
    Esse log é da etapa 2 do SMTP Relay + SparkPost, que pede pra fazer o teste e verificar se o envio foi externo, mas foi a única coisa que apareceu no arquivo na hora do teste. Verifiquei outros arquivo de log, mas não tinha nada relacionado a SparkPost.
    Todas as etapas no site do SparkPost foram validadas. Fiz as alterações nos arquivos conforme tutorial, mas esta demorando muito, caindo no Spam e não está sendo enviado pelo SparkPost.
    A desativação do TLS para envio pela porta 587, pode ter algo haver com isso? Até pensei em refazer tudo, mas já tem sites de clientes ativos e não posso testar mais.
    Estou pensando em pagar outro Droplet, configurar com Debian 7 32x e usar os e-mails dos clientes com o Zoho Mail.
    Depois transfiro os sites e cancelo esse com Debian 8.
    No mais o VPS esta a mil, todos os sites abrem bem rápidos. O que não entendi foi que antes de passa o DNS para a CloudFlare conseguia acessar o painel pelo dominio:8080. Já verifiquei a tabela um milhão de vezes e esta idêntica a sua. Não entendi porque esta dando esses bugs… Mesmo assim muito obrigado por tudo, indico sempre seu site para os amigos e peço para utilizar seu link da DO.

  • A CloudFlare bloqueia alguns tipos de portas e acessos quando a nuvem está ativa (laranja). Um truque que eu uso é criar um subdominio qualquer e desativo a nuvem para ele.

    Os logs que você tem que verificar são os do arquivo /var/log/mail.log

    A SparkPost é a mais usada atualmente para envio de campanhas e newsletter, se quiser somente email de contato use também a Mailgun, configurando cada email para Relays diferentes.

    Não teve desativação da porta 587, em certo ponto do tutorial eu escrevo para desativar o SSL obrigatório mas ele continua lá.

    Eu teria que ver exatamente onde está o erro mas com a demanda que estou quase não sobra mais tempo de fazer sessões free por Skype como eu fazia antigamente. Porém eu tenho uma oferta de curso VIP por Skype e onde o aluno além de fazer todo o curso (por Skype) e com duração de umas 30 horas, ainda fica com nos meus contatos podendo solicitar ajuda sempre que necessitar. A base do curso são os tutoriais mas ensino bem além do que está ali incluindo SSL válido gratuito e macetes para deixar o site muito rápido. O curso só será cobrado após a primeira sessão e se for aprovado pelo aluno.

  • André Ropis

    Será que é possível enviar 100mil emails por Droplet? tenho 3 dominios…

  • O SparkPost permite enviar 100 mil por conta, é só criar outra conta, tipo uma para cada domínio.

  • André Ropis

    ah banaca então não vai bater o mesmo IP, estou lendo seus tutoriais achei os mais completos que achei pelo google

  • Legal, mas se precisar disparar essa quantidade de emails tem esquema com Mautic e outros truques.

    Estou no segundo aniversário do Fator e atualmente com uma demanda bem grande de servidores e parcerias/serviços. Recentemente comecei a ofertar um curso VIP com configurações e suporte que vão bem além dos tutoriais, se tiver interesse me procure por email em: [email protected]

  • André Ropis

    obrigado vou te mandar email e lá me passa quais critérios e preço do curso.

  • corrija

    Luís..tutorial top!
    Configurei tudo certinho e o gmail e yahoo já estão recebendo meus emails certinho, não caem em spam.,
    Só o hotmail que ainda joga pro lixo.
    existe alguma mágica pra isso n~ acontecer no hotmail?
    Obrigadão. 😉

  • O Hotmail joga quase tudo pra lixeira como padrão.

    Mas se você configurou o SparkPost e quer melhorar pode usar outro relay, eu mesmo uso o Mailgun para envio de emails de contato. Tem os pagos que são melhorados como o Mandrill e o SES da Amazon.

  • corrija

    configurei como vc ensinou com o sparkpost…
    Vou começar os testes cm esse e depois vou testando os outros…
    Vlw man! Muito bom o site aqui!

  • como faço para receber as respostas dos emails enviados?

  • SMTP Relay só envia.
    Você precisa de um servidor de email que ensino nos tutoriais, instale o Debian 8 com ISPConfig que você fica bem.

    Ou ainda, pode-se configurar o Zoho para enviar/receber. Tem tudo aqui no site..

  • Obrigado pelo retorno. Estava vendo sobre inbound email no SparkPost mas nao entendi bem como fazer. A intençao era ter um email para “capturar” os emails recebidos.

  • Agora entendi, tem como fazer isso sim por qualquer empresa de relay.

    Mas ao invés disso instale o Mautic e dispare por lá com o Sparkpost, mostro no tutorial de Mautic exatamente este exemplo. Mas para configurar as campanhas é com você, já acompanhei empresas fazendo e parece simples de implementar.

  • Tem video aula completa lá no Curso Máquina de Lista

    Não precisa toda essa enrolada aí não.

    http://cursomaquinadelista.com.br

    Sucesso!

  • Geovane Pereira Correia

    Sr. Luis, fiz o cadastro na SparkPost, mas pensa num trem chato. Eles informaram que estavam com problemas ao validar meu domínio.
    Então solicitei que encerrassem minha conta. Obrigado.

  • Geovane Pereira Correia

    No SparkPost não encontro a opção para deletar um domínio.

  • O problema é que se fosse fácil a quantidade de spammers seria ainda maior do que já é. Antigamente a Mandrill costumava facilitar as coisas, acabou fechando as contas gratuitas por conta de abusos por spammers.

  • Fica ao lado do link EDIT do dominio em Account / Sending Domains, tem uma lixeira lá.

  • Geovane Pereira Correia

    Não encontrei, veja na imagem.

    Neste link:

    http://prntscr.com/c76qwf

    Obrigado.

    Em 17 de agosto de 2016 23:16, Disqus escreveu:

  • É porque você nem validou o dominio. Enquanto não validar ele não pode ser usado, e você disse que iria excluir a conta lá, quando excluirem o dominio será deletado também.

  • Geovane Pereira Correia

    Mas fiz todo processo, ele pede pra enviar um email para meu [email protected], para validar o domínio, realizei 3 vezes e nada, toda vez que entrava lá, ele dava a mesma mensagem, abri 3 tickets, eles informaram que o problema tá na DigitalOcean. Tentei excluir a conta, mas nem isso consegui, porque eles não liberam o painel para exclusão. Então solicitei que excluí-sem para mim, mas até agora nada. Mesmo assim obrigado.

  • Entendi.

    O email [email protected] tem que existir no servidor onde o MX está apontado. Por exemplo se o MX estiver apontando para a Zoho então na Zoho deverá ter uma caixa de entrada para o postmaster.

    Na verdade a Digital Ocean não tem culpa de nada pois eles não hospedam email. Em meus tutoriais ensino a criar um servidor de email dentro de um VPS na Digital, mas eles não monitoram e nem sabem se você tem um serviço de email funcionando no servidor alugado.

  • Geovane Pereira Correia

    Isso mesmo, deletar pra ver se consigo criar outra conta. Essa tá bugada, se fosse problema de configurações por conta do usuário tudo bem, até onde percebi, me parece um bug do site mesmo, ou eles ficam dando canseira pra ver se o cara desiste, só pode. Obrigado.

  • Geovane Pereira Correia
  • Não. Você pode criar sua conta com o email do gmail como fez mas para cada dominio terá que existir uma caixa de entrada postmaster ou abuse para poder autenticar.

    Imagine a quantidade de spammers se não fosse necessário autenticar..

    Essa ação certifica que você é dono do domínio.

  • Geovane Pereira Correia
  • Isso, cria a conta abuse ou postmaster e pede para enviar o email.

    Na tabela DNS tem que apontar o MX para o servidor onde irá receber emails, não entendi porque você alterou o Postfix..

    Depois de verificar o email não precisa mais..

  • Geovane Pereira Correia

    De volta a prancheta, kkkkk.
    Vou ter que voltar no tutorial pra refazer o processo. Reconfigurar o Postfix.
    Agora estou mais perdido do que cego em tiroteio.
    Obrigado.

  • Geovane Pereira Correia

    Não estou encontrando mais o tutorial antigo: https://fatorbinario.com/tutorial­vps­debian­wheezy­e­ispconfig­3­parte­1/
    Ele foi retirado do site?

    Retornou esta mensagem:
    http://prntscr.com/c7whvw

    Mas depois que colei o link aqui, consegui encontrar.

    Obrigado.

  • Ele está fixo na capa do site

  • Geovane Pereira Correia

    Obrigado Luis.

    Resolvi uma parte do problema de envio, retirei todas as configurações de Registros DNS e refiz novamente. Já estou recebendo emails de fora. Mas ainda não estou enviando, lembrei que fiz as alterações nos arquivos:
    /etc/postfix/main.cf
    /etc/postfix/sasl_passwd
    /etc/postfix/relayhost_maps

    Seguindo o exemplo deste tutorial.

    Refiz as configurações novamente. Mas não funfou.

    Me diz uma coisa, pra voltar as configurações anteriores, eu teria que fazer oque?

    [smtp.sparkpostmail.com]:587 SMTP_Injection:chave_API_criada_acima

    Subistituir por:
    [smtp.meudominio.com]:587 [email protected]:minhasenha

    Agora não lembro se tem que colocar o ponto no final, tipo: smtp.meudominio.com.
    É porque estou usando as configurações da DigitalOcean.

    A outra mudei para:
    @seudominio.com [smtp.sparkpostmail.com]:587

    Deveria ficar assim:
    @meudominio.com [smtp.meudominio.com]:587

    É isso mesmo, ou teria que verificar mais alguma coisa referente ao SMTP.

    Obrigado.

  • Para voltar ao modo de envio original é só deletar o conteúdo do sasl_passwd e do relayhost_maps.

    Você não precisa lembrar de nada, tem escrito no tutorial o que fazer.

    E porque raios você quer colocar o seu dominio na URL smtp do relay? Siga o tutorial que você não se perde..

  • Geovane Pereira Correia

    Boa tarde Sr. Luís.

    Refiz todas as configurações, o servidor ficou funcionando perfeitamente.

    Seus tutoriais são ótimos. Parabéns.

    Já tinha pesquisado na internet pra todo lado, encontrei muito conteúdo, mas igual o seu, explicadinho e funcional, não.

    Baixei um vídeo aqui no site, também ficou muito bom.

    Você, seu Portal e todas as pessoas que de alguma forma contribuem para que essa comunidade se fortaleça cada vez mais, estão todos de Parabéns.

    Obrigado.

  • Rodolfo Rodrigo Menardi

    O meu registro dmarc está falhando, tenho que alterar algo?

    Notei que a entrega via o sparkpost tem um certo delay, é normal?

    Obrigado.

  • Sim, o delay de 1 a 2 minutos é normal no SparkPost. E se você está usando SMTP Relay esqueça esse negócio de DMARC pois o cabeçalho do email é re-escrito a partir dos servidores da SparkPost.

  • Rodolfo Rodrigo Menardi

    Obrigado, deu certo, está validando tudo. Para enviar e-mail de vários dominios é só eu inserir os dominios no arquivo /etc/postfix/relayhost_maps?

    Obrigado.

  • Rodolfo Rodrigo Menardi

    O sparkpost está caindo na caixa de spam do hotmail?

    Obrigado.

  • Se quiser enviar por relay sim, mas tem que validar cada dominio no painel da SparkPost. E se quiser também pode mandar email de outro cliente tipo Outlook e Thunderbird simplesmente configurando o endereço de SMTP direto da Spark.

  • De vez em quando pode cair. A SparkPost re-escreve o cabeçalho do email e envia a partir dos servidores deles que são muitos. O que pode acontecer é um dos muitos IPs que eles têm estar em blacklist ae numa próxima vez pode ir pra caixa de entrada.

  • Alex

    Como posso configurar para que quando o envio falhe, isto é, não chegue ao destinatário, retorne uma mensagem informando a falha no envio?
    Exemplo: quando o e-mail destinatário não existe, e o SparkPost classifica como bounces…

  • Tem que criar uma URL de bounce no Sparkpost que ele classifica lá. Ae pra pegar os bounces acho que tem que ser via API, nunca testei isso mas vi um pessoal configurando o Mautic para mover o email de lista caso der bounce.

  • Alex

    Poxa. Mas será que não tem uma forma automatizada sem o uso de API? Tipo alguns webmails em que caso o envio não chegue ao destinatário, imediatamente chega um email com o erro…

  • Dereck Andrews

    Oi Luís!
    Fiz todos os passos desse tutorial.
    No Sparkpost está tudo validado, aparentemente tudo certo (aparece a mensagem “ready to send”), mas não consigo receber ou enviar e-mails. Estou olhando pelo RoundCube, esperando o recebimento e tentando enviar para outras contas, porém nada. Criei o email [email protected], solicitei o teste de envio e nada ainda.
    Alterei a tabela DNS com as informações passadas pelo SparkPost apenas no CloudFlare.
    Preciso atualizar também na tabela na Digital Ocean?
    Ou será que há mesmo alguma demora para receber esses e-mails de teste?

    Observações:
    – MX está o nome do meu droplet (FQDN).
    – E no relayhost_maps, deixei apenas @seudominio.com [smtp.sparkpostmail.com]:587. Devo deixar o e-mail exato que criei [email protected]?

    Obrigado!

  • A tabela DNS ativa será aquela que estiver apontando os NS, se estiver para a CloudFlare não precisa usar a da Digital.

    Para receber emails não tem nada a ver com a SparkPost, a única coisa que influencia o recebimento é o registro MX que deve estar apontado para o servidor de emails, neste caso o servidor com ISPConfig, mas lembrando que a entrada com o nome FQDN deverá estar criada e propagada na tabela daquele dominio e a nuvem da CloudFlare para ela deverá estar cinza (não ativa).

    Para conseguir enviar por SMTP Relay pelo servidor siga todos os passos descritos neste artigo, fiz uma instalação semana passada usando ele e funcionou tudo 100%. Mas lembre-se ainda de liberar o envio de email na sua conta da Digital Ocean.

  • Alisson Araujo

    Boa tarde, Luiz. Estou seguindo seu tutorial para configurar o SMTP Relay, mas quando tento rodar o comando “> touch /etc/postfix/relayhost_maps” ele dá erro de permissão negada, será que estou fazendo algo de errado? Abraços

  • Sim. Você está tentando executar o comando como usuário normal e precisa ser como root.

  • Samuel Batista

    Luis apos a configuração do tutorial esta dando este erro no roundcube, ele impossibilita de enviar o email >> Erro SMTP: [451] 4.7.0 resource unavailable

  • Você provavelmente pulou algum passo do tutorial ou ainda não liberou o envio de emails com o suporte da Digital Ocean.

    Use SMTP Relay seguindo os vários artigos sobre isso aqui no site.

  • Samuel Batista

    Obrigado pela orientação Luis!

    Revisei o código e vi que em /etc/opendkim/KeyTable por descuido tinha colocado o codigo em duas linha sendo que era pra ser somente em uma depois reiniciei o postfix e deu certo !!!

    Uma observação de leigo: chega a ser engraçado o fato kkk

  • Rodrigo Carvalho

    Luis tudo bom? A Ocean agora pede 30 dias para liberar a porta 25. Como sou novo nessa área, eu preciso da porta 25 para STMP relay?

  • Não precisa. Mas há alguns truques para fazer isso funcionar certo.
    Tente seguir o artigo e veja as dificuldades.. qualquer dúvida comente aqui.

  • Johan Guse

    Funciona só pro Debian? Uso CentOS 7 x64

  • Todos os meus tutoriais são para Debian mas podem ser facilmente adaptados para Ubuntu e CentOS. Isso se com o CentOS você instalou o Postfix e não o EXIM4.

  • Rafael Oliveira de Santana

    Luis, apos executar os passos acima, aparece esse erro.
    [email protected]:/usr/local/src# tail /var/log/mail.log
    Jun 6 21:30:02 server postfix/smtpd[1621]: connect from localhost[127.0.0.1]
    Jun 6 21:30:02 server dovecot: pop3-login: Disconnected (no auth attempts in 0 secs): user=, rip=::1, lip=::1, secured, session=
    Jun 6 21:30:02 server postfix/smtpd[1621]: lost connection after CONNECT from localhost[127.0.0.1]
    Jun 6 21:30:02 server postfix/smtpd[1621]: disconnect from localhost[127.0.0.1]
    Jun 6 21:30:05 server postfix/smtpd[1621]: connect from unknown[80.82.77.8]
    Jun 6 21:30:07 server postfix/smtpd[1621]: warning: unknown[80.82.77.8]: SASL LOGIN authentication failed: UGFzc3dvcmQ6
    Jun 6 21:30:07 server postfix/smtpd[1621]: disconnect from unknown[80.82.77.8]
    Jun 6 21:30:49 server postfix/smtpd[1621]: connect from unknown[190.234.19.219]
    Jun 6 21:30:52 server postfix/smtpd[1621]: warning: unknown[190.234.19.219]: SASL LOGIN authentication failed: UGFzc3dvcmQ6
    Jun 6 21:30:52 server postfix/smtpd[1621]: disconnect from unknown[190.234.19.219]

    Ta faltando validar alguma coisa la na Sparkpost? Ou no meu dns?

  • Que erro deu? Nessas linhas não tem erro.

  • Rafael Oliveira de Santana

    E essa parte do SASL LOGIN?

  • Isso ali são tentativas furadas de login.

  • Rafael Oliveira de Santana

    Caramba Luis! Nem coloquei pra funcionar e ja estão tentando atacar…rs Tenso hein….Ainda bem que não conseguiram! Palmas pra vc!Mais uma vez!

  • São bots automáticos tentando usar o servidor usando técnicas de spoofing e backscatter. Você tem que subir o firewall assim que configurar o servidor de email.

    Eu administro mais de 100 servidores e a quantidade de ataques neles é absurda. *Tenho pena daquela galera que levanta um LEMP ou usa um painel com firewall mal configurado, por mais que o cara não ligue pra isso ele pode ser banido ou até mesmo cobrado pela empresa de hospedagem por permitir este tipo de tráfego do servidor.

  • Rafael Oliveira de Santana

    Estou seguindo o indice com Ispconfig 3 e Debian 8, por isso o firewall esta habilitado e somente as portas respectivas estão habilitadas.

    So instalar o LAMP ou LEMP simplesmente e não cuidar da segurança, e um convite para ser invadido.

    ´Por isso que precisamos ir atras e montar um servidor completo, igual você explicou e reforçou sempre nos tutoriais.

  • Rafael Oliveira de Santana

    Olha a mensagem que acontece quanto, eu logo no Roudcube e tento mandar um email
    Erro SMTP (554): Falha ao adicionar o destinatário “[email protected]” (5.7.1 : Client host rejected: Access denied).

  • Veja lá se a porta de envio está liberada e se você não alterou nada do tutorial.

  • Rafael Oliveira de Santana

    Esta sim. Eu ate alterei a porta SMTP no /etc/postfix/master.cf
    smtp inet n – – – – smtpd
    2525 inet n – – – – smtpd

    Continua dando o mesmo erro.

  • Edson Correa

    Ei Luís, tudo bem? Tem um cliente meu que deseja disparar emails em massa via Outlook. Para não acabar bloqueando o server da DO, pensei em deixar o email na Zoho. Porém, lá eles estão bloqueando fácil, com 50 emails enviados já te bloqueiam. Então me deparei com este seu tutorial do Sparkpost e fiquei pensando se me serviria. Só que não entendi muito bem o funcionamento… Eu poderia configurar um dos emails da Zoho para enviar pelo Sparkpost para evitar esse bloqueio, e configurar as contas normalmente pelo Outlook, é isso?

  • Isso. A Zoho tem limite diário baixo de envios.

    Onde você vai receber emails (eg. Zoho) não tem relação com o envio. Você pode enviar email com a mesma caixa por “N” diferentes rotas.

    Crie uma conta na SparkPost, valide ela e o dominio, coloque as entradas na tabela DNS e configure o Outlook dele para enviar direto do PC para a SparkPost, nem precisa configurar nada no servidor.

  • Rafael Oliveira de Santana

    Esqueci de postar a mensagem de erro no log apos a tentativa de envio /var/log/mail.log
    Jun 28 23:15:10 server postfix/submission/smtpd[17340]: connect from localhost[127.0.0.1]
    Jun 28 23:15:10 server postfix/trivial-rewrite[17342]: warning: database /etc/postfix/relayhost_maps.db is older than source file /etc/postfix/relayhost_maps
    Jun 28 23:15:10 server postfix/submission/smtpd[17340]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 554 5.7.1 : Client host rejected: Access denied; from= to= proto= ESMTP helo=
    Jun 28 23:15:10 server postfix/submission/smtpd[17340]: disconnect from localhost[127.0.0.1]

  • Esse erro é porque você alterou o relayhost_maps mas esqueceu de fazer o postmap nele.

  • Rafael Oliveira de Santana

    Ops. Que vacilo…rs Rodei denovo. Agora o erro normal..rs
    Jun 28 23:34:41 server postfix/submission/smtpd[18327]: connect from localhost[127.0.0.1]
    Jun 28 23:34:41 server postfix/submission/smtpd[18327]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 554 5.7.1 : Client host rejected: Access denied; from= to= proto=ESMTP helo=
    Jun 28 23:34:42 server postfix/submission/smtpd[18327]: disconnect from localhost[127.0.0.1]

  • O Google tá rejeitando o seu email. Quando o relay pelo SparkPost funcionar nem mostra nada nesse log, ae você olha o log no painel do Spark. Enquanto tiver mostrando ai é porque está errado.

  • Rafael Oliveira de Santana

    Entendido. Obrigado pela rápida resposta….Quem sabe, responde ao vivo. rs Enviando de email pra email agora

    Jun 28 23:41:35 server postfix/submission/smtpd[18723]: connect from localhost[127.0.0.1]
    Jun 28 23:41:35 server postfix/submission/smtpd[18723]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 554 5.7.1 : Client host rejected: Access denied; from= to= proto=ESMTP helo=
    Jun 28 23:41:35 server postfix/submission/smtpd[18723]: disconnect from localhost[127.0.0.1]
    Jun 28 23:41:39 server postfix/submission/smtpd[18723]: connect from localhost[127.0.0.1]
    Jun 28 23:41:39 server postfix/submission/smtpd[18723]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 554 5.7.1 : Client host rejected: Access denied; from= to= proto=ESMTP helo=
    Jun 28 23:41:39 server postfix/submission/smtpd[18723]: disconnect from localhost[127.0.0.1]

  • Manda aqui as últimas linhas do main.cf.
    Comando: tail /etc/postfix/main.cf

  • Rafael Oliveira de Santana

    Consegui ajuda com uma pessoa em um grupo de servidor. Tirou um tempo e me ajudou a achar o problema. Vou compartilhar o que ela me passou

    No firewall do Ispconfig ja tinha liberado as portas….

    “No teu master.cf ta liberado, smtp inet n – – – – smtpd , tenta jogar o roundcube na 25 ou deixa sem porta informada no conf dele.
    No arquivo master.conf deixa assim: smtp inet n – – – – smtpd

    “Depois vi que vc esta usando o roundcube, pelo log agora só esta rejeitando ele, verifica no conf do roundcube o que está informado nos itens: $rcmail_config[‘smtp_user’] e $rcmail_config[‘smtp_pass’]”

    Mostrei as configurações que tinha mexido.

    Ai ele me orientou a comentar algumas linhas no /etc/roundcube/config.inc.php
    //$config[‘smtp_server’] = ”;
    $config[‘smtp_server’] = ‘localhost’;
    //$config[‘smtp_port’] = 587;
    // SMTP port (default is 25; use 587 for STARTTLS or 465 for the
    // deprecated SSL over SMTP (aka SMTPS))
    //$config[‘smtp_port’] = 587;

    Ai pediu para eu ver a fila do Postfix, agora n ta autenticando la no smtp,
    -Queue ID- –Size– —-Arrival Time—- -Sender/Recipient——-
    5236C5EA04 1955 Thu Jun 29 00:30:12 [email protected]
    (SASL authentication failed; cannot authenticate to server smtp.sparkpostmail.com[52.88.255.9]: no mechanism available)
    [email protected]

    Segundo essa mensagem:
    “Hi again… seems that the libsasl2-modules did the job; I forgot to restart postfix after install that package. When I reload it the mails go outside throw the smtp of mi ISP.”

    Depois me pediu pra instalar o seguinte

    um apt-get-install libsasl2-modules. Depois um restart no postfix. Ai entrei denovo no Roundcube e voi-la…Resolvido. Consegui enviar normalmente. Validei em um email externo, e no Gmail

  • É possível utilizar com Sendgrid?

  • Sim claro, é só configurar a conta na Sendgrid e usar as credenciais deles substituindo neste tutorial.

  • Tentei aqui e não consegui!
    Vou verificar algum erro possível, mas acredito que não haja!

  • Uma dúvida, essa configuração deve funcionar para fazer envios via phpmailer?

  • No caso seria para enviar sem precisar configurar algum plugin nos sites WordPress!

  • Para WordPress existe um plugin de SMTP Mail que permite configurar o relay. Mas caso o seu site seja feito em PHP essa configuração pode ser feita na classe PHPMailer sim.