it-swarm-eu.dev

Problema con l'aggiunta di più destinatari mailer

Ho un modulo che consente agli utenti di inviare un articolo agli amici. Gli amici sono impostati in un $recipient array. Posso scaricare l'array e sembra a posto:

var_dump($recipients);
// array (size=2)
0 => [email protected]
1 => [email protected]

Fin qui tutto bene. Quindi l'array viene aggiunto a $mail oggetto:

$mail = JFactory::getMailer();
$mail->addRecipient($recipients);

Sto usando mailtrap.io per tenere traccia della corrispondenza e verificare dove vengono inviati. La seconda e-mail (a [email protected]) non viene mai inviata. Il primo lo fa. Quindi devo presumere che ci sia un problema con il modo in cui Joomla gestisce l'array di destinatari. Questo è Joomla 3.3.6

Qualche idea?

3
user101289

Ecco un'ipotesi basata su ciò che ho visto nel codice sorgente.

Non vedo nulla che sembri esserci qualche problema con l'aggiunta del destinatario. Stai usando SMTP? Con SMTP puoi utilizzare la variabile $mail->SMTPDebug = true Questo dovrebbe fare eco alla richiesta se effettuata tramite SMTP.

In entrambi i casi PHPMailer (quello che utilizza joomla) esegue il ciclo tra i destinatari e invia loro un'email, se c'è qualche tipo di limitatore nelle impostazioni di posta PHP o server SMTP che potrebbe essere la ragione. Potresti provare ad aggiungerli come CC se questa è un'opzione.

In questo caso puoi provare mandrill http://mandrill.com/ . Ha un servizio SMTP molto bello ed è gratuito fino a 12000 e-mail (al mese). Tuttavia, con alcuni host le richieste SMTP tendono ad essere inserite nella blacklist. Quindi di nuovo mandrill è un'idea ragionevole in quanto viene fornito con un'API http. C'è anche un'estensione che sostituisce JMail per noi. https://compojoom.com/joomla-extensions/mandrill-transactional-emails-made-easy

Lo usiamo pesantemente e da allora abbiamo avuto poco o nessun problema con le e-mail. È anche tutto gratis fino a quando non raggiungi una certa soglia che è difficile da raggiungere.

3
Jordan Ramstad