Laravel SMTP电子邮件

O C*_*nor 4 php email xampp smtp laravel

开始使用Laravel 4.2我尝试使用Gmail STMP服务器发送电子邮件.下面是我的app/config/mail.php.

return array(
    'driver' => 'smtp',
    'host' => 'smtp.gmail.com',
    'port' => 465,
    'from' => array('address' => 'sample_address@gmail.com', 'name' => 'Sample'),
    'encryption' => 'tls',
    'username' => 'sample_address@gmail.com',
    'password' => 'sample password',
    'sendmail' => '/usr/sbin/sendmail -bs',
    'pretend' => false,
);
Run Code Online (Sandbox Code Playgroud)

下面是我的PHP代码.

<!-- app/views/emails/welcome.php -->
Mail::send('emails.welcome', 'Laravel Admin', function($msg) {
   $msg->from('sample_address@gmail.com', 'Laravel Admin');
   $msg->to('sample_receiver@gmail.com');
});
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我已经在我的MAC OSX上配置了我的XAMPP php.ini.它仅在发送普通PHP邮件时有效,而不是SMTP.我在视图页面上从Laravel获得的错误消息是" 异常处理程序错误 ".我想看到更多的错误信息,但我不知道如何获得更多信息.我的代码出了什么问题?我还需要做什么或配置什么?谢谢!

gau*_*iya 6

您可以将您的电子邮件和姓名放在输入中

Input::merge(array('email'=>'sample_receiver@gmail.com','name'=>'sample_name')); 

Mail::send('emails.welcome', 'Laravel Admin', function($msg) {
   $msg->from('sample_address@gmail.com', 'Laravel Admin');
   $msg->to(Input::get('email'), Input::get('name'))->subject('You have');
});
Run Code Online (Sandbox Code Playgroud)

也改变'加密'

return array(
    'driver' => 'smtp',
    'host' => 'smtp.gmail.com',
    'port' => 465,
    'from' => array('address' => 'sample_address@gmail.com', 'name' => 'Sample'),
    'encryption' => 'ssl',
    'username' => 'sample_address@gmail.com',
    'password' => 'sample password',
    'sendmail' => '/usr/sbin/sendmail -bs',
    'pretend' => false,
);
Run Code Online (Sandbox Code Playgroud)