如何处理无法在非现有电子邮件地址上发送Laravel 4上的电子邮件

时间:2017-02-21 07:09:57

标签: php email laravel-4

我刚刚发现,如果我在Mail:Queue()上传递一个不存在的电子邮件地址,我的Laravel 4脚本就不起作用了。电子邮件地址具有有效格式,即名称后面的“@”符号,“@”后面的域。样本将是“johndoesnotexist@notexistemail.com”。即使“notexistemail.com”根本不存在,格式也是有效的。

以下是代码段:

$email_data = array('color' => 'Red');
$email_company = 'johndoesnotexist@notexistemail.com';
$email_name = 'john doe';
Mail::queue('emails.form1', $email_data, function($message) use($email_company, $email_name) {
    $message->to($email_company, $email_name)->subject('Hello John');
});

但是,如果我传递现有的电子邮件地址,则脚本可以正常运行。我需要处理这种错误,即在laravel.log中记录错误。我该如何编码?

1 个答案:

答案 0 :(得分:0)

似乎会抛出异常,在这种情况下,您可以尝试捕获此异常,然后记录问题电子邮件地址。这样的事情: -

try {
    $email_data = array('color' => 'Red');
    $email_company = 'johndoesnotexist@notexistemail.com';
    $email_name = 'john doe';
    Mail::queue('emails.form1', $email_data, function($message) use($email_company, $email_name) {
        $message->to($email_company, $email_name)->subject('Hello John');
    });
} catch (Exception $e) {
    Log::error('Failed to send email to ' . $email_company);
}