gpt4 book ai didi

php - laravel Mail::failures() 函数是如何工作的?

转载 作者:可可西里 更新时间:2023-11-01 12:21:20 26 4
gpt4 key购买 nike

我一直在尝试使用 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);

我一直在尝试所有可能的选择。我将 config/mail.php 中正确的邮件配置更改为错误的配置。但是如果我这样做,那么 laravel 会显示错误页面,但是 $failure 变量总是返回空。

最佳答案

我认为没有办法检查电子邮件是否真的发送给了收件人。只要电子邮件有效(即使是虚拟的),它就会返回 true。但是,您可以使用 try catch block 代替 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;
}
}
}

关于php - laravel Mail::failures() 函数是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32045181/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com