ユーザーが記事を友達に送信できるフォームを持っています。友達は$recipient
配列で設定されます。私は配列をダンプでき、それはうまく見えます:
var_dump($recipients);
// array (size=2)
0 => [email protected]
1 => [email protected]
ここまでは順調ですね。次に、配列が$mail
オブジェクトに追加されます。
$mail = JFactory::getMailer();
$mail->addRecipient($recipients);
私はmailtrap.ioを使用して、メーリングを追跡し、それらが送信される場所をテストしています。 2番目のメール([email protected]宛)は送信されません。最初のものです。したがって、Joomlaが受信者の配列を処理する方法に問題があると想定する必要があります。これはJoomla 3.3.6です
何か案は?
これは、ソースコードで見たものに基づく仮説です。
受信者の追加に問題があるように見えるものは何もありません。 SMTPを使用していますか? SMTPを使用すると、変数$mail->SMTPDebug = true
を使用できます。これは、SMTPを介して行われた場合、要求をエコーする必要があります。
PHPメール設定またはSMTPサーバー設定に理由となる可能性のある種類のリミッターがある場合)PHPMailer(joomlaが使用するもの)は受信者をループし、それぞれに電子メールを送信します。オプションとして、CCとして追加することもできます。
この場合は、mandrill http://mandrill.com/ を試してください。とても素敵なSMTPサービスがあり、12,000メール(1ヶ月)まで無料です。ただし、一部のホストでは、SMTP要求がブラックリストに登録される傾向があります。マンドリルはhttp APIが付属しているので、これも理にかなったアイデアです。 JMail
をオーバーライドする拡張機能もあります。 https://compojoom.com/joomla-extensions/mandrill-transactional-emails-made-easy
私たちはこれを多用しており、それ以来、電子メールに関する問題はほとんどまたはまったくありませんでした。到達が難しい特定のしきい値に到達するまで、すべて無料です。