【问题标题】:Laravel Mail::send 500 Internal Server ErrorLaravel Mail::send 500 内部服务器错误
【发布时间】:2015-10-19 16:06:25
【问题描述】:

我在尝试使用 Mail::send() 时收到 500 内部服务器错误。令人沮丧的是,这才刚刚开始发生,之前它运行良好。真正令人沮丧的部分是我刚刚得到了死亡的白屏。我在 config/app.php 中打开了调试,并将环境设置为 LOCAL,但我什么也没得到。

我检查了 cPanel 错误,但其中没有任何内容,它根本没有产生错误。错误报告肯定是打开的,我在 index.php 的顶部添加了一个对未定义函数的调用,它按预期向我显示了 Fatal error: Call to undefined function throw_error_now() in /home/fluidstu/tracker/public_html/index.php on line 8,所以这不是问题。

如果日志中没有任何内容(Laravel 或 cPanel)并且我在调用 Mail::send 时出现白屏死机,我该如何找出导致问题的原因?

当我即将把我的电脑扔出窗外时,我真的很感激一些帮助。

【问题讨论】:

  • 确保检查您的 Apache/Nginx 错误日志(不确定这些是否在 cPanel 中)并确保您在服务器上安装了 postfix 或类似的东西。
  • 你安装了xdebug吗?如果不是,那么 (1) 使用 pretend=true 测试您的代码,而不包括 smtp 服务器。 (2) 使用另一个电子邮件帐户。如果您非常确定凭据没问题 (3),那么制作一个仅用于测试电子邮件凭据的脚本。 (4) 确保 laravel 日志是可写的
  • 我没有xdebug,你会把pretend=true放在哪里?我没有使用 SMTP,我使用的是邮件功能。 SMTP 存在 SSL 问题。 Laravel 日志是可写的,我在它们中还有几个小时前的其他错误,不相关。感谢您的建议:)

标签: php email laravel laravel-5.1


【解决方案1】:

处理 SMTP 请求可能需要很长时间,您可以尝试提高 time_limit,但这非常不安全。

set_time_out(0);

【讨论】:

  • 这不是超时,不到一秒就发生了。
  • 是的,我实际上放了一些,看看它会在哪里失败。我把die('test'); 放进去看看它失败的地方。当它停止显示 test 时,我知道它失败了。它显示在Mail::send 之前,但没有显示我是否将die 放在Mail::send 之后。
猜你喜欢
  • 1970-01-01
  • 2014-10-25
  • 2015-08-12
  • 1970-01-01
  • 2017-04-12
  • 2018-08-01
  • 2020-10-01
  • 2019-01-08
  • 2016-05-14
相关资源
最近更新 更多