gpt4 book ai didi

php - Laravel 5 SwiftMailer 的发送 : how to get error code

转载 作者:行者123 更新时间:2023-12-03 01:20:40 24 4
gpt4 key购买 nike

我正在发送类似于此的电子邮件:Laravel 5: Sending Email 。我就是这样做的:

$mail_status = Mail::send( 'emails.followup', $data, function( $message ) use ($data) {
$message->to( $data['email'] )
->from( $data['email_from'], $data['email_name'] )
->subject( $data['subject'] );
});

if($mail_status) {
$ret_status = 'sent';
}
else
$ret_status = 'sent_failed';

现在,如果 $ret_status 为“sent_failed”,我想知道发生了什么。我该怎么做?如何查看邮件服务器发来的消息?

这是我的 .env 文件:

MAIL_DRIVER=smtp
MAIL_HOST=mail.mydomain.com
MAIL_PORT=465
MAIL_USERNAME=noreply@mydomain.com
MAIL_PASSWORD=thepassword
MAIL_ENCRYPTION=ssl

更新

看起来上面的方法是 Laravel 4。如果你知道如何使用 Laravel 5+ 获取错误代码,我可以认为它是正确的答案。

最佳答案

您可以使用 try catch 来实现这一点,您也错误地使用了 $email, $email_from, $email_name, $subject 而不传递到函数作用域。

try{
$mail_status = Mail::send( 'emails.followup', $data, function( $message ) use ($data, $email, $email_from, $email_name, $subject) {
$message->to( $email )
->from( $email_from, $email_name )
->subject( $subject );
});
//If error from Mail::send
if($mail_status->failures() > 0){
//Fail for which email address...
foreach(Mail::failures as $address) {
print $address . ', ';
}
exit;
}
}
catch(\Exception $e){
// Get error here
print $e->getMessage();
exit;
}

添加了电子邮件地址的失败打印,以检查哪个地址的电子邮件失败。

关于php - Laravel 5 SwiftMailer 的发送 : how to get error code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45819536/

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