J'ai un formulaire qui permet aux utilisateurs d'envoyer un article à des amis. Les amis sont placés dans un $recipient
tableau. Je peux vider le tableau et il a l'air bien:
var_dump($recipients);
// array (size=2)
0 => [email protected]
1 => [email protected]
Jusqu'ici tout va bien. Ensuite, le tableau est ajouté à la $mail
objet:
$mail = JFactory::getMailer();
$mail->addRecipient($recipients);
J'utilise mailtrap.io pour suivre l'envoi et tester où il est envoyé. Le deuxième email (à [email protected]) n'est jamais envoyé. Le premier fait. Je suppose donc que la façon dont Joomla gère le tableau de destinataires pose un problème. C'est Joomla 3.3.6
Des idées?
Voici une hypothèse basée sur ce que j'ai vu dans le code source.
Je ne vois rien qui semble indiquer qu'il y a un problème avec l'ajout du destinataire. Utilisez-vous SMTP? Avec SMTP, vous pouvez utiliser la variable $mail->SMTPDebug = true
Cela devrait faire écho à la demande si elle est faite via SMTP.
Quoi qu'il en soit, PHPMailer (ce que joomla utilise) parcourt les destinataires et leur envoie un courrier électronique, s’il existe un quelconque limiteur dans les paramètres de messagerie PHP ou du serveur SMTP). Vous pouvez essayer de les ajouter en tant que CC si cela est une option.
Si tel est le cas, vous pouvez essayer mandrill http://mandrill.com/ . Il a un très bon service SMTP et est gratuit jusqu’à 12 000 courriels (un mois). Mais, avec certains hôtes, les demandes SMTP ont tendance à être inscrites sur une liste noire. Encore une fois, mandrill est une idée raisonnable car il est livré avec une API http. Il y a aussi une extension qui nous remplace JMail
. https://compojoom.com/joomla-extensions/mandrill-transactional-emails-made-easy
Nous l’utilisons beaucoup et depuis lors, nous n’avons eu que peu de problèmes de courriels. Tout est gratuit aussi, jusqu'à atteindre un certain seuil difficile à atteindre.