【发布时间】:2014-12-03 18:19:34
【问题描述】:
我的邮件在我的本地主机上工作(并且仍然工作)完美。现在我把我的项目放到了一个专用的服务器上。现在,当我尝试发送邮件时,我得到“内部服务器错误 500”,仅此而已。
我保留了相同的细节,没有改变任何东西。
当我在邮件邮件模板中创建错误时,它会给出一个错误,因此它确实会通过邮件功能循环。
我的一些设置:
'host' => 'smtp.gmail.com',
'port' => 465,
'from' => array('address' => "myemail@gmail.com", 'name' => "my name"),
'encryption' => 'ssl',
等等... 现在有 1 个设置我不知道是否必须更改:
'sendmail' => '/usr/sbin/sendmail -bs',
在我的控制器中:
Mail::send('emails.shop', $data, function($message)
{
$message->to("anEmail@gmail.com", 'hi')->subject('Service formulier ');
});
有人知道怎么回事吗? (如果需要我可以提供更多细节)
我设置了密码和用户名,但没有放在这里,它可以在本地主机上使用密码和用户名
更新: 用 tls 和端口 587 测试,但没有工作
更新2:
日志: [2014 年 12 月 3 日星期三 19:24:52] [错误] [客户端 91.181.50.243] FastCGI:与服务器“/var/www/cgi-bin/php5-mywebsite-fcgi”的通信中止:空闲超时(30 秒),推荐人:“”我的网站“” [2014 年 12 月 3 日星期三 19:24:52] [错误] [客户端 91.181.50.243] FastCGI:从服务器“/var/www/cgi-bin/php5-mywebsite-fcgi”接收到的标头不完整(0 字节),引用者: “”我的网站“”
【问题讨论】:
-
查看服务器上的 Web 服务器错误日志,可能有更多关于导致 500 的原因的信息。如果没有增加您的 php 脚本中的日志记录,然后再试一次。您是使用 gmail 发送邮件(外部 smtp 服务器)还是尝试在服务器上本地使用 sendmail。 (并且您缺少密码,这是 gmail 中继所必需的)
-
从服务器,你能telnet到smtp.gmail.com的465 / 587端口吗?
-
我添加了作为更新创建的日志,并包含了密码,但只是没有在此处发布。而且我在服务器上没有很多权利。它不是我的服务器
-
好吧,如果您无法访问服务器来调试它,那将更加困难。基本上日志显示php脚本挂了,30秒内没有返回任何数据,所以fcgi放弃了。。所以有可能是在等待gmail回答之类的。您可以尝试添加调试语句(登录到/tmp?或者如果您可以访问/tmp,则可能只是回显/打印它们。
-
对不起,如果我听起来很笨,我对服务器等不太了解(这是我做后端的第一个网站)但我评论了一些东西,它挂在我的控制器中,它的邮件::send('emails.shop', $data, function($message) ,如果我这样做了,它不会挂起,而且它不是有故障的回调线。sendmail 不需要在服务器上安装/启用或其他东西?