it-swarm-eu.dev

SMTP nessun errore ma non invio e-mail

Ho combattuto con questo per un po 'di tempo ormai. Ho creato un componente personalizzato per i moduli e utilizza le funzioni di posta di Joomla per inviare e-mail. Ho controllato tutti i dati per assicurarmi che siano corretti ma l'e-mail non viene inviata, $mailer->Send() restituisce pure pure.

L'attivazione di ogni stile di segnalazione errori non segnala errori.

$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;
}

Questo è il cuore del componente a cui viene inviata l'e-mail, $ settings è un oggetto che uso per archiviare le informazioni di cui ho bisogno per inviare l'e-mail e, dopo quello che viene letto come "successo", invia tutte le informazioni appropriate . Comunque mandrill, il servizio che usiamo per le e-mail non riceve mai l'e-mail, il che significa che, per quanto posso dire, non è riuscito a connettersi a SMTP, il che significa che avrebbe dovuto avere un errore ad un certo punto della connessione, ma Joomla non riesce a vederlo.

Questo stesso codice funziona su molti altri siti, quello in questione è un sottodominio e ospitato con hostgator, anche se senza alcuna forma di errore non ho idea di dove iniziare a cercare una soluzione.

7
Jordan Ramstad

Joomla utilizza PHPMailer come gestore della posta. PHPMailer ha un log SMTP piacevole se lo accendi. Puoi farlo impostando la variabile SMTPDebug su 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;
}

Questo dovrebbe aiutarti a trovare il problema nella comunicazione tra Joomla e il server SMTP.

8
Harald Leithner