ti-enxame.com

SMTP sem erro, mas não enviando email

Estou lutando com isso há algum tempo. Eu criei um componente personalizado para formulários e ele usa as funções de correio do Joomla para enviar e-mail. Verifiquei todos os dados para garantir que estejam corretos, mas o email simplesmente não é enviado, $mailer->Send() retorna true também.

A ativação de todos os estilos de relatório de erros também não gera erros.

$mailer = JFactory::getMailer();
$mailer->setSender($settings->sender);
$mailer->addRecipient($settings->to);
$mailer->setSubject($settings->subject);
$mailer->isHTML(true);
$mailer->setBody($settings->body);
if($send = $mailer->Send()){
  //email worked
  //print_r($settings);
  //exit;
}else{
  echo 'error';
  exit;
}

Esse é o coração do componente para o qual o email é enviado, as configurações $ são um objeto que eu uso para armazenar as informações necessárias para enviar o email e, depois do que é lido como "bem-sucedido", ele envia todas as informações adequadas . No entanto, mandrill, o serviço que usamos para e-mails nunca recebe o e-mail, o que significa que, até onde posso dizer, ele não se conectou ao SMTP, o que significa que deveria ter um erro em algum momento da conexão, mas o Joomla não consegue vê-lo.

Esse mesmo código funciona em muitos outros sites, o em questão é um subdomínio e hospedado no hostgator, embora, sem qualquer forma de erro, não tenha idéia de onde começar a procurar uma correção.

7
Jordan Ramstad

O Joomla usa o PHPMailer como manipulador de correio. O PHPMailer possui um log SMTP agradável se você o ativar. Você pode fazer isso definindo a variável SMTPDebug como true

$mailer = JFactory::getMailer();

$mailer->SMTPDebug = true;

$mailer->setSender($settings->sender);
$mailer->addRecipient($settings->to);
$mailer->setSubject($settings->subject);
$mailer->isHTML(true);
$mailer->setBody($settings->body);
if($send = $mailer->Send()){
  //email worked
  //print_r($settings);
  //exit;
}else{
  echo 'error';
  exit;
}

Isso deve ajudá-lo a encontrar o problema na comunicação entre o Joomla e o servidor smtp.

8
Harald Leithner