我正在这样向Laravel发送邮件:
foreach ($users as $user) {
\Mail::to($user())->send(new Newsletter($user));
}
我希望有一个包含bad_domain响应的所有用户组成的数组。我在docs中发现Laravel使用了具有a way to find bad_domain respones的Swiftmailer:
// Pass a variable name to the send() method
if (!$mailer->send($message, $failures))
{
echo "Failures:";
print_r($failures);
}
/*
Failures:
Array (
0 => receiver@bad-domain.org,
1 => other-receiver@bad-domain.org
)
*/
但是,我想使用Mailable类。我不确定如何使用Swiftmailer(可以通过\ Mail :: getSwiftMailer()访问)进行此操作。
使用Laravel中的Mailable时,是否有任何简单的方法来获取bad_domain?
答案 0 :(得分:0)
您只能访问bad_domains,而不能通过Swiftmailer(Swiftmailer 4 does not retrieve bounces as $failedRecipients)退信。
使用
可以获取 bad_domains\Mail::to($user)->send(new \App\Mail\Hi());
dd(\Mail::failures());
请参见Illuminate\Mail\Mailer.php
/**
* Send a Swift Message instance.
*
* @param \Swift_Message $message
* @return void
*/
protected function sendSwiftMessage($message)
{
try {
return $this->swift->send($message, $this->failedRecipients);
} finally {
$this->forceReconnection();
}
}