Laravel 5.1 Mail无法正常工作

时间:2015-11-16 08:04:19

标签: php email laravel sendmail

编辑:我在实时Ubuntu 14 LTS服务器上进行测试

我正在开发一个需要发送电子邮件的Laravel项目。首先,我尝试了如何发送电子邮件的原生PHP:

<?php
   // the message
   $msg = "First line of text\nSecond line of text";

  // use wordwrap() if lines are longer than 70 characters
  $msg = wordwrap($msg,70);

 // send email
 mail("someone@example.com","My subject",$msg);
?>

但他的事情并不奏效。 Laravel也没有给我错误,所以我所做的就是使用Laravel的默认电子邮件配置。我已经使用rackspace提供的公司电子邮件设置在mail.php我配置了参数,然后我就这样做了

$test = Mail::send('emails.message', ['user' => $user], function ($m) use ($user) {
        $m->to('sample@email.com', $user->name)->subject('Custtomer Order Accepted !');
   });

sample@email.com只是我代码中的示例。我正在使用合法的电子邮件。然后,当我尝试var_dump测试时,我得到int(0),我认为这是一个失败的回复?我该如何正确使用它?或者甚至只是简单的邮件功能不起作用?我已在emails.message

中查看了该视图

2 个答案:

答案 0 :(得分:0)

检查您的电子邮件设置,然后检查垃圾邮件文件夹 http://php.net/manual/en/mail.configuration.php

答案 1 :(得分:0)

在laravel 5.1中检查波纹管邮件设置

.env文件

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=<your email>
MAIL_PASSWORD=<password>
MAIL_ENCRYPTION=tls

mail.php文件

return [
'driver' => env('MAIL_DRIVER', 'mail'),
'host' => env('MAIL_HOST', 'localhost'),
'port' => env('MAIL_PORT', ""),
'from' => ['address' => "<from email>", 'name' => "<name>"],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME',""),
'password' => env('MAIL_PASSWORD',""),
];