2016-02-23 42 views
0

我有一個功能可以爲註冊用戶發送郵件。這是我如何檢查是否應該發送電子郵件。如何查看laravel發送或不發送的郵件5

$email=$details->email; 
$subject = 'Looking for blood donor'; 
$status=Mail::send('emails.welcome', $data, function($message) 
         use($subject,$email){ 
         $message->from('[email protected]', 'Blood Link'); 
         $message->bcc('[email protected]'); 
         $message->to($email)->subject($subject); 
        }); 

如果檢查電子郵件發送或沒有,但它不工作我使用..

if($status) 
{ 
    return Response::json(array('status'=>'success', 
           'data'=>("Your email has been sent successfully") 
         ), 200); 
}else{ 
    return Response::json(array('status'=>'error', 
           'data'=>("something went wrong..!!") 
         ), 200); 
} 
+0

首先檢查DD($狀態),那麼什麼是你放出來? – SarangaR

+0

它給出了:2 ..什麼是使用dd函數.. ?? –

+0

作爲迴應,在其他部分,傳遞500狀態代碼來返回響應..... –

回答

4

Mail::send()方法不返回任何東西。

您可以使用Mail::failures()(在4.1我認爲引入)方法來獲取失敗的收件人數組,在您的代碼中它看起來像這樣。

Mail::send('emails.users.reset', compact('user', 'code'), function($m) use ($user) 
{ 
    $m->to($user->email)->subject('Activate Your Account'); 
}); 

if(count(Mail::failures()) > 0){ 
    $errors = 'Failed to send password reset email, please try again.'; 
} 
+0

我試過你的解決方案,但它返回空結果..如果數(郵件::失敗())> 0){ 返回響應:: JSON(陣列( \t \t \t '狀態'=> '錯誤', \t \t \t \t '數據'=>(「出事了.. !!」 \t \t \t \t \t) \t \t \t \t),200); } –

+0

空結果??你是什​​麼意思 ? – Drudge

+0

它返回emty result..without數據..blank屏幕 –

2

看一看到故障的方法,here

+0

你可以給例子代碼? –

+0

我從來沒有得到一個錯誤,所以爲什麼不知道如何使用,我只是給你例子,你試試像這樣'$ mail = Mail :: send('emails .........'和'print_r($ mail)'和第二個方法'Mail :: send('emails .........,....,function($ msg){print_r($ msg-> failures()); ....} [[檢查此]](http://laravel.io/forum/08-08-2014-how-to-know-if-e-mail-was-sent) – Qazi

相關問題