Mail :: send()方法为空

时间:2018-08-05 21:20:31

标签: laravel laravel-5

那是我的路线所在的web.php

Route::group([], function(){

Route::match(['get', 'post'], '/', ['uses'=>'IndexController@execute', 'as'=>'home']);
Route::get('/page/{alias}', ['uses'=>'PageController@execute', 'as'=>'page']);

Route::auth();});

.env文件:

MAIL_DRIVER=log
MAIL_HOST=
MAIL_PORT=
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=

MAIL_ADMIN=admin@admin.ru

那就是我的IndexController执行方法

$result = Mail::send('site.email', ['data'=>$data], function($message) use ($data) {

            $mail_admin = env("MAIL_ADMIN");

            $message->from($data['email'], $data['name']);
            $message->to($mail_admin, "Anvar AKA")->subject('Question');

        });
        dump($result);
        if($result){
            return redirect()->route('home')->with('status', 'Email is sent');
        }

它将消息存储到laravel.log文件中,但是提交表单后的$ result为空。 如何解决?我需要将数据存储在那里

1 个答案:

答案 0 :(得分:1)

这是因为 Mail :: send 没有返回值。相反,您可以像这样检查 Mail :: failures

if(count(Mail::failures()) > 0){
    // Your error message or whatever you want.
}