Laravel Mail :: send返回零,在Mail :: failures()中没有特定错误

时间:2017-02-22 11:06:37

标签: php laravel email laravel-5

我正在使用smtp驱动程序,这是我在laravel 5.2中发送电子邮件的代码:

public function Sendmail()
{
    $data["mail_message"] = "Hello!";
    if(Mail::send('Emails.email', $data, function($message)
    {
        $message->from('webmaster@example.com', Input::get('name'));

        $message->to('amirhasan.hesam@gmail.com')->subject('Welcome to My Laravel app!');
    }))
    {
        return "success";
    }
    else
    {
        return Mail::failures();
    }
}

Mail::failures()返回["amirhasan.hesam@gmail.com"],没有任何特定错误!

这是我在mail.php上的配置:

return [

'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', '*******'),
'port' => env('MAIL_PORT', 587),
'from' => ['address' => "****@*****", 'name' => "Diling"],
'encryption' => env('MAIL_ENCRYPTION', ''),
'username' => env('*****@*****'),
'password' => env('*************************'),
'sendmail' => '/usr/sbin/sendmail -bs',
'pretend' => false,

];

我正在使用xamp来测试电子邮件。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我在mail :: send ..中使用变量时遇到了麻烦。我也不确定mail :: send是否返回boolean等...我已经使用了类似于我写下的内容在过去。

   $nameSend = Input::get('name');
    Mail::send('Emails.email', $data, function($message) use ($nameSend){
        $message->from('webmaster@example.com', $nameSend);
        $message->to('amirhasan.hesam@gmail.com')->subject('Welcome to My Laravel app!');
    });

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

  $output = "There was one or more failures. They were: \n";

  foreach(Mail::failures as $email_address) {
     $output = $output. $email_address ."\n";
  }
 return $output;
}
return "Success!";

答案 1 :(得分:0)

您只需要使用Mail Facade

use Illuminate\Support\Facades\Mail;