Raj*_*wal 9 php email swiftmailer laravel laravel-4
我一直试图获取没有使用laravel Mail::send()函数获取电子邮件的收件人列表.我正在尝试下面的代码.for循环用作因为每个用户都要收到自定义消息.
// First recipient is actual, the second is dummy.
$mail_to_users = ["original_account@domain.com","dummy_account@domain.com"];
$failures = [];
foreach($mail_to_users as $mail_to_user) {
Mail::send('email', [], function($msg) use ($mail_to_user){
$msg->to($mail_to_user);
$msg->subject("Document Shared");
});
if( count( Mail::failures() ) > 0 ) {
$failures[] = Mail::failures()[0];
}
}
print_r($failures);
Run Code Online (Sandbox Code Playgroud)
我一直在尝试所有可能的选择.我将正确的邮件配置更改为错误的邮件配置config/mail.php.但是,如果我这样做,那么laravel显示错误页面,但$failure变量总是返回空.
我认为没有办法检查电子邮件是否确实已发送给收件人。只要电子邮件有效(即使是虚拟的),它就会返回 true。但是,您可以使用 try catch 块来代替 Mail::failures(),如下所示:
foreach ($mail_to_users as $mail_to_user) {
try {
Mail::send('email', [], function($msg) use ($mail_to_user) {
$msg->to($mail_to_user);
$msg->subject("Document Shared");
});
} catch (Exception $e) {
if (count(Mail::failures()) > 0) {
$failures[] = $mail_to_user;
}
}
}
Run Code Online (Sandbox Code Playgroud)