我和Laravel这样发邮件:
foreach ($users as $user) {
\Mail::to($user())->send(new Newsletter($user));
}我希望拥有一个拥有bad_domain响应的所有用户的数组。我在文档中发现,Laravel使用了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
)
*/但是,我想使用一个邮件类。我不确定如何使用Swiftmailer (我可以通过\Mail::getSwiftMailer()访问它)。
在使用Laravel的邮件时,有什么简单的方法可以获得bad_domains吗?
发布于 2018-09-17 08:44:47
您只能访问bad_domains,但不能使用Swiftmailer (Swiftmailer 4不像$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();
}
}https://stackoverflow.com/questions/52337287
复制相似问题