Wie kann ich den Überblick über Mail halten verschickt PHP Swift Mailer mit?
-
03-10-2019 - |
Frage
Ich bin mit PHP Swift Mailer einer Bulk-Mail an eine Gruppe von Benutzern zu senden. Aber ich bin nicht in der Lage den Überblick über gesendete E-Mail zu halten.
Mein Code:
<?php
require_once("includes/database.class.php");
require_once("lib/swift_required.php");
$con=DBClass::getConnection();
$db=DBClass::getDatabase($con);
$login_id="myloginname";
$password="mypassword";
$to_mail; //list of people
//Create the Transport
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, "ssl")
->setUsername($login_id)
->setPassword($password);
//Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);
//Rate limit to 25 emails per-minute
$mailer->registerPlugin(new Swift_Plugins_ThrottlerPlugin(
25, Swift_Plugins_ThrottlerPlugin::MESSAGES_PER_MINUTE
));
//Create a message
$message = Swift_Message::newInstance($subject)
->setFrom($login_id)
->setTo($to_mail)
->setBody($body,
'text/html'
);
$numSent=$mailer->batchSend($message);
?>
Ich bin mit batchSend () -Methode Mail zu senden, die mir die Anzahl der Mail gibt, die gesendet wurden, aber es gibt mir nicht die Liste der E-Mail, die gesendet wurde. Wie kann es möglich sein, gibt es eine Plugin oder eine Funktion zur Verfügung?
Plugin Logger Verwendung gibt mir das Protokoll, aber ich bin nicht in der Lage aus, dass zu lesen.
Lösung
Sie können eine Reihe von E-Mail-Adressen erhalten, die, indem eine Variable, die durch Bezugnahme auf batchSend()
für das System zu füllen abgelehnt wurde:
http://swiftmailer.org/docs/failures-byreference
Dann können Sie diese von Ihrem array_diff()
Array $to_mail
die erfolgreich diejenigen zu erhalten.