sendmail 504网关在laravel宅基地上超时

时间:2015-07-30 15:20:50

标签: php email laravel sendmail homestead

我正在使用带有xampp的窗口上的流明框架编写一个Web应用程序,但是在路由和自己的一些问题之后,我决定尝试家园和流浪汉。

我设法安装了宅基地并且路由工作比xampp更好,但是当我尝试使用来自php的邮件功能时,我发现宅基地虚拟机上没有安装命令sendmail,因为我获得了500内部服务器错误,并与xampp电子邮件发送工作正常。所以嘘我做了一个简单的 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

2 个答案:

答案 0 :(得分:3)

在开发过程中,我个人喜欢使用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或任何需要来自{{1}的信息的服务配置文件因为某些原因不包含在流明中。

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

答案 1 :(得分:2)

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

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

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