繁体   English   中英

如何在laravel中检查邮件是否发送?

[英]How to check mail is sent or not in laravel?

我目前正在处理laravel邮件。 我已发送带有附件的电子邮件结构,如下所示:

$document  = Document::find($request->document_id);

Mail::send('email.senddocs', array('project'=>$document->project->name,'type'=>$document->documentType->type), function($message) use($request,$document){

    $file_name = public_path().'/documents/'.$document->project->p_key.'/'.$document->file_name;

    $message->from('us@example.com', 'DDMS');
    $message->to($request->email);
    $message->attach($file_name);

});

我已经去过这里了 但是,那里的过程总是会返回成功。

我真正想要的是知道是否发送邮件。 就我而言, Mail发送可能由于akdjbaksdjf@jhbasdhadfs.com类的虚假电子邮件而失败,或者发生了其他一些错误。

我怎么知道邮件是否发送?

任何帮助表示赞赏

在这里多次询问该问题: Laravel 5-检查是否发送邮件

您可以为此使用失败方法:

if( count(Mail::failures()) > 0 ) {

   foreach(Mail::failures as $email_address) {
       echo "$email_address <br />";
    }

} else {
    echo "Mail sent successfully!";
}

这仅检查是否已发送电子邮件。 您无法使用此方法处理不存在的电子邮件地址。 例如,您可以使用mailgun解决此问题。

另一种方法是使用连接到smtp服务器并进行检查的php类。

PHP类: https//www.phpclasses.org/package/6650-PHP-Check-if-an-e-mail-is-valid-using-SMTP.html

检查电子邮件地址的一些信息: 如何在不发送电子邮件的情况下检查电子邮件地址是否存在?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM