2017-08-07 64 views
0

我目前正在致力於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('[email protected]', 'DDMS'); 
    $message->to($request->email); 
    $message->attach($file_name); 

}); 

我已經訪問過here。但是,那裏的過程總是迴歸成功。

什麼其實我想的是要知道如果郵件發送與否。在我的情況下,Mail發送可能因虛假電子郵件如[email protected]或發生其他一些錯誤而失敗。

我怎麼能知道郵件發送或不?

任何幫助表示讚賞

+0

的可能的複製[Laravel 5 - 檢查,如果郵件是發送(https://stackoverflow.com/questions/33096055/ laravel-5 - 檢查 - 如果郵件-IS-發送) – jrenk

+0

@jrenk不是在我的情況 –

回答

1

這個問題,在這裏問了幾次: Laravel 5 - check if mail is send

您可以使用此故障的方法:

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

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

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

這隻檢查電子郵件是發送。用這種方法你不能處理現有的電子郵件地址。 例如,您可以使用mailgun解決此問題。

另一種方法是使用一個PHP類,它連接到SMTP服務器,並且將檢查。

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

檢查電子郵件不會忽略的一些信息詳細信息:How to check if an email address exists without sending an email?

+0

工作@yfail讓我檢查 –

+0

我已經添加電子郵件作爲'jhbdajfsd @ jhbasdjf.com'但是他說,**郵件發送成功! ** –

+0

這也對。原因Laravel不檢查郵件是否存在。對於那些你必須使用mailgun的例子。您只能檢查是否有問題發送電子郵件或其他可能發生的事情。 – yfain

相關問題