2

PHPMailer を使用して、ニュースレターを 1000 人ほどの受信者に送信したいと考えています。私は現在 addBCC を使用して、ループ内で各アドレスを追加しています。ニュースレターは問題なく送信されますが、購読者が受信すると、「宛先」フィールドには、自分のアドレスではなく、フィラーとして設定したアドレスが表示されます。

次のようなコードに変更することを検討しています。

$mail = new PHPMailer();
$mail->SetFrom('info@domain.com', 'Domain.com');
$mail->Subject = $subject;
$mail2->MsgHTML($body);

while ($row = mysql_fetch_array ($result)) {
    $mail2 = clone $mail;
    $mail2->AddAddress($row["email"]);
    $mail2->send();
}

しかし、BCC 方式よりもはるかに遅く、効率が悪いようです。各ユーザーが正しい「宛先」アドレスで電子メールを受信し、他のユーザーの電子メールにアクセスできないように、リストに送信するより良い方法はありますか?

4

1 に答える 1

3

PHPMailer を複製する必要はありません。1 つのインスタンスで十分です。ループのたびに送信先のアドレスをクリアするだけです。

$mail = new PHPMailer;
$mail->setFrom('info@domain.com', 'Domain.com');
$mail->Subject = $subject;
$mail->msgHTML($body);

while ($row = mysql_fetch_array ($result)) {
    $mail->addAddress($row["email"]);
    $mail->send();
    $mail->clearAllRecipients();
}

でいくつかのエラー チェックを実行することもできsend()ますが、関数はもう使用しないでくださいmysql*

于 2015-01-12T10:28:55.343 に答える