2017-02-21 4 views
0

Mail:Queue()に既存のメールアドレスを渡さないとLaravel 4スクリプトが動作しないことが判明しました。メールアドレスには有効な形式(名前の後ろに「@」、ドメイン「@」の後にドメイン)があります。サンプルは "[email protected]"です。フォーマットは "notexistemail.com"がまったく存在しないにもかかわらず有効です。ここで既存のメールアドレス以外でLaravel 4でメールを送信できない場合の処理​​方法

は、コードスニペットです:

$email_data = array('color' => 'Red'); 
$email_company = '[email protected]'; 
$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にエラーを記録します。どのようにコード化すればよいですか?

+0

あなたが求めていることは明確ではありません。あなたのスクリプトがうまくいかないと言ったら、それは例外を投げているということですか? – drmonkeyninja

+0

こんにちは、私はスクリプトを呼び出すためにAJAXを使用しています。私はその呼び出しが応答しないことに気付きます。 Chromeのコンソールでは、内部エラー500が表示されます。ただし、既存のメールで置き換えると、スクリプトが機能します。ありがとうございます –

+0

私は現在これをチェックしています、https://laravel.com/docs/4.2/queues#failed-jobs –

答えて

0

例外がスローされているように見えますが、その場合は試してこれをキャッチして問題の電子メールアドレスを記録できます。このようなもの: -

try { 
    $email_data = array('color' => 'Red'); 
    $email_company = '[email protected]'; 
    $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); 
} 
+0

私はこれを試してみましょう。ありがとう –

関連する問題