【问题标题】:sendmail 504 Gateway Time-out on laravel homesteadlaravel宅基地上的sendmail 504网关超时
【发布时间】:2015-10-22 01:08:36
【问题描述】:

我正在使用 xampp 在 windows 上使用 lumen 框架编写一个 web 应用程序,但在路由和自己的一些问题之后,我决定尝试 homestead 和 vagrant。

我设法安装了宅基地,并且路由比 xampp 运行得更好,但是当我尝试使用 php 中的邮件功能时,我发现命令 sendmail 没有安装在宅基地虚拟机上,因为我得到了 500 个内部服务器错误,并且使用 xampp 电子邮件发送工作正常。所以我用 shh 做了一个简单的 sudo apt-get install sendmail 来安装它。但是现在每当我尝试使用 php 中的邮件功能时,它只会等待和等待,最终我得到 504 Gateway Time-out

可能会发生什么,我可以做些什么来解决它?

顺便说一句:如果您有任何建议将简单的邮件功能替换为其他有效的功能,我愿意尝试!

谢谢你们的时间。

这是我的 .env 文件

APP_ENV=local
APP_DEBUG=true
APP_KEY=SomeRandomKey!!!

APP_LOCALE=en
APP_FALLBACK_LOCALE=en

DB_CONNECTION=sqlite
DB_FILE=database.sqlite
DB_DATABASE='storage/database.sqlite'
DB_DRIVER=sqlite

CACHE_DRIVER=memcached
SESSION_DRIVER=memcached
QUEUE_DRIVER=database

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=[mailtrap_username]
MAIL_PASSWORD=[mailtrap_password]
MAIL_FROM_ADDRESS=example@example.com
MAIL_FROM_NAME=Example

【问题讨论】:

    标签: php email laravel sendmail homestead


    【解决方案1】:

    我个人在开发时喜欢使用log 驱动程序。这会将发送的所有电子邮件写入storage/logs/ 日志文件。我觉得这更方便,因为它完全确保在测试时不会意外发送邮件。

    如果您确实想实际发送邮件,那么我建议您使用 mailgun,它每月可免费发送 10,000 封电子邮件,我在工作中构建的每个应用程序中都使用它。超级快捷方便,还包括跟踪、发货确认等。

    注册后,您需要设置一个新域,该域将为您提供多个凭据,您需要将这些凭据添加到您的config/services.php,这些凭据是您的域和 API 密钥。

    然后您需要为您的应用程序安装 guzzle(这是必需的,因为 mailgun 使用 HTTP API 发送电子邮件,这比 SMTP 和传统邮件传输选项快得多)。

    composer require "guzzlehttp/guzzle": "~5.3|~6.0"

    最后,将您的邮件驱动程序设置为mailgun,您应该一切顺利。

    编辑:查看 laravel/lumen-framework 的配置文件似乎无法提供相关信息以使用 mailgun,或任何需要来自 services.php 配置文件的信息的服务由于某种原因,这不包含在流明中。

    https://github.com/laravel/lumen-framework/tree/5.1/config

    【讨论】:

    • 今晚我一到家就试试,你有什么教程可以让mailgun在lumen上工作吗?谢谢!
    • 编辑了我的答案,遗憾的是似乎不可能开箱即用。我敢肯定,您可能会破解配置界面以进行某些操作。
    【解决方案2】:

    为什么不试试http://mailtrap.io?它是免费的,是一个简单的 SMTP 服务器,用于从 PHP 发送电子邮件,PHP 被捕获在其简单的 Web 界面中。

    它非常适合测试本地发送的电子邮件,因为它会捕获电子邮件,以便您可以在闲暇时查看它们。

    作为奖励:Laravel 5 现在包含 mailtrap 作为默认 SMTP 设置,让您只需提供用户名和密码 :)

    【讨论】:

    • 这就是我迄今为止一直在使用的!我有一个 mailtrap 帐户,并且使用 xampp 工作得很好,但是当我使用相同的代码切换到 homestead 时,它只是停止工作并出现超时错误。
    • 你的 env 文件里有什么?
    • 我刚刚用 .env 文件编辑了我的问题,它与我在 xampp 设置中的完全相同,所以我猜它的 vagrant 上的 VM 无法正常工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多