2016-12-28 38 views
0

我有问题, 当我从本地主机发送邮件一切正常, 但是,当从服务器发送我没有收到邮件,我没有得到错误。Laravel不从服务器发送电子邮件,并没有给出错误

我的环境。文件

MAIL_DRIVER=smtp 
MAIL_HOST=smtp.gmail.com 
MAIL_PORT=587 
[email protected] 
MAIL_PASSWORD=xxxx 

和功能

protected function contactMe() { 

     Mail::send('request2e', array(
     'subject' =>Input::get("subject"), 
     'email' => Input::get("email"), 
     'message1' => Input::get("message1"), 
     'number' => Input::get("number") 

    ), function ($message) { 

    $message->from('[email protected]', 'Contact'); 

    $message->to('[email protected]')->subject('Contact'); 

}); 
    return redirect('/'); 
} 

有任何想法可能是什么问题呢?

+0

你有2步验证?你有没有设置MAIL_ENCRYPTION = tls? –

+0

我设置了MAIL_ENCRYPTION,我已经关闭了2步验证,但我得到了同样的错误 – dev

+0

与我合作的情况是:使用[app密码](https://security.google.com/settings)=>/u/0/security/apppasswords) –

回答

0

如果您正在使用Gmail的SMTP,你必须使用SMTP驱动程序:

MAIL_DRIVER=smtp 
MAIL_PORT=587 
MAIL_ENCRYPTION=tls 

确保清除缓存配置,如果你要(在生产所需)。

php artisan config:cache 

一切似乎都是aok。

在Gmail设置页面执行以下操作:

点击转发/ IMAP选项卡,向下滚动到IMAP访问部分:IMAP必须按顺序启用邮件被正确地复制到已发送夹。

+0

我把MAIL_DRIVER = smtp并且仍然不发送邮件 – dev

+0

谢谢,现在我得到这个错误Swift_TransportException在StreamBuffer.php 265行: 无法建立连接与主机smtp.gmail.com [连接超时#110] – dev

+0

最有可能您的提供商阻止端口或防火墙阻止发送通过那个端口,尝试使用:'MAIL_PORT = 465'和'MAIL_ENCRYPTION = ssl',如果不行的话,您的托管服务提供商。 – Luceos

相关问题