Как я могу отслеживать почту, отправленную с помощью PHP Swift Mailer?
-
03-10-2019 - |
Вопрос
Я использую PHP Swift Mailer, чтобы отправить массовую почту на набор пользователей. Но я не могу отслеживать отправленную почту.
Мой код:
<?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);
?>
Я использую метод BACTSEND () для отправки почты, который дает мне подсчет почты, который был отправлен, но это не дает мне список отправленных по электронной почте. Как можно возможно, есть ли плагин или функция?
Использование плагина регистратора даст мне журнал, но я не могу прочитать из этого.
Решение
Вы можете получить массив адресов электронной почты, которые были отклонены, передавая переменную посредством ссылки на batchSend()
Для системы заполнить:
http://ssiftmailer.org/docs/failures-byReference
Тогда ты можешь array_diff()
те у тебя $to_mail
массив, чтобы получить успешные.
Не связан с StackOverflow