[英]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.