PHP Swift Maelerを使用して送信されたメールを追跡するにはどうすればよいですか?
-
03-10-2019 - |
質問
PHP Swift Maelerを使用して、一連のユーザーにバルクメールを送信しています。しかし、送信メールを追跡することはできません。
私のコード:
<?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);
?>
batchsend()メソッドを使用してメールを送信しています。これにより、送信されたメールのカウントが表示されますが、送信されたメールのリストは提供されていません。どのように可能になりますか、利用可能なプラグインや機能はありますか?
Loggerプラグインを使用するとログが表示されますが、それから読むことができません。
解決
参照によって変数を渡すことで拒否された電子メールアドレスの配列を取得できます batchSend()
システムが入力するために:
http://swiftmailer.org/docs/failures-byreference
そうすれば、できます array_diff()
あなたからのもの $to_mail
成功したものを取得するための配列。
所属していません StackOverflow