Já aconteceu antes comigo, e agora está sendo bem dificil de resolver. Como mudei de servidor, e antes estava funcionando, tenho certeza que deve ser alguma configuração escondida em algum lugar. Mudei de um servidor Aegir para um CPanel, que são estruturalmente muito diferentes. Cansei da chatisse do Aegir, é muito bom o resultado, mas é muito chato de usar. Pelo menos sei que da para instalar o modulo SMTP e resolver o caso,
O Drupal não envia nenhum email, mas quero evitar isso, então.
Instalei o Mail Logger para tentar descobrir o erro. Mas não é logado nenhum erro! Ele loga os emails enviados (assunto, corpo, to, from , etc), mas não erro
Então achei essa dica num forum, rodar o drush no terminal:
drush php-eval "print mail('[email protected]','Test subject from drush','Test message','From: [email protected]');"
e nao aparece nenhuma mensagem. Alem disso a pastra /var/log esta vazia
Encontrei um outro modulo que talvez possa ajudar: Mailcontrol, mas nao, nao tem nada a ver com meu problema
Talvez esse medulo: Maillog? Pelo menos ele fala que serve para debugging… vamos ver
pede para ver o resultado em /admin/reports/maillog, e vi o log… mas nao tem erro… Vou ter que recorrer ao suporte do host, odeio fazer isso porque demoram muito. As vezes fico me matando para resolver algum problema e é do proprio servidor.
Tentei mudar o email na Configuração do sistema para um email não relacionado com o próprio dominio… como uso MX record de outro servidor, achei que pudesse interferir. Mas não deu certo.
O que poderia ser é que como estou tentando enviar o email para uma conta que esta num dominio hospedado nesse servidor, mas cujo MX record esta em outro servidor, imaginei que o phpmailer, como encontra o dominio no proprio servidor, nem tenta mandar para fora pelo MX record, manda para dentro mesmo, e ai nao é computado.
Bom, li que o email da configuração do site tem que ter o dominio do proprio site… ok, estava assim, mas tinha mudado temporariamente para outro para testar. Coloco de volta.
testei um script php no servidor:
<?php
$to = '[email protected]';
$subject = 'Test email using PHP';
$message = 'This is a test email message'; $headers = 'From:
[email protected]'. "\r\n" . 'Reply-To:
' . "\r\n" . 'X-Mailer: PHP/' .
phpversion();
mail($to, $subject, $message, $headers,
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; min-height: 13.0px} span.s1 {font-variant-ligatures: no-common-ligatures}
?>
opa…. recebi um email… caiu na caixa de spam, mas recebi
e… recebi um email do drupal tambem
Poxa, descobri o problema. Minha teoria estava certa. Como uso outro servidor de email, o google apps, com o mx record deles, o drupal nao entende isso, ou melhor, o servidor nao entende isso, e tenta enviar internamente para ele mesmo…
Descobri o problema, mas não sei ainda a solução. Agora sim preciso do suporte.
—–
Update:
Descobri. Tenho que fazer alteração no CPanel. Na opção Remote MX Record. Descobri que um dos dominios estava apontado como local. O email funcionava bem porque uso o DNS do Cloudflare.
Esse foi o retorno deles que me deu uma luz:
Thank you for your reply and the updated information. I am sorry to hear of the issues you are facing with the mail from your site. I understand the issue and the question you have regarding the mail sent from xxx.com to [email protected]. I have checked the server and ensured that the server recognizes that the email for xxx.com is handled by GSuite and the email routing (set in the cPanel) is configured to "remote". This was done using the "Remote MX Wizard" and configuring neurocirurgia.com to use GSuite. You can check that using the screenshot below.
Please let us know if you have any additional questions we can answer or if we can assist you further.
Kind Regards