Как я могу отслеживать почту, отправленную с помощью PHP Swift Mailer?

StackOverflow https://stackoverflow.com/questions/3740624

  •  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 массив, чтобы получить успешные.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top