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

nukf8bse  于 2023-03-28  发布在  PHP
关注(0)|答案(3)|浏览(204)

我正在用xampp在windows上使用lumen框架编写一个web应用程序,但在路由和自己的一些问题之后,我决定给予宅基地和vagrant。
我设法安装了宅基地,路由比xampp工作得更好,但当我试图使用php的邮件功能时,我发现命令sendmail没有安装在homestead虚拟机上,因为我得到了一个500内部服务器错误,所以我用shh做了一个简单的sudo apt-get install sendmail来安装它。但是现在每当我尝试使用php的邮件功能时,它只是等待和等待,最终我得到了一个504网关超时
可能会发生什么,我能做些什么来解决它?
顺便说一句:如果你有任何建议,以取代简单的邮件功能的其他工作,我愿意尝试它!
谢谢你们的时间。
这是我的.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
ozxc1zmp

ozxc1zmp1#

就我个人而言,在开发过程中,我喜欢使用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配置文件信息的服务,因为出于某种原因,这不包括在lumen中。
https://github.com/laravel/lumen-framework/tree/5.1/config

kuuvgm7e

kuuvgm7e2#

为什么不试试http://mailtrap.io呢?它是免费的,是一个简单的SMTP服务器,可以从PHP发送电子邮件,PHP被捕获在他们简单的Web界面中。
它真的很好的测试电子邮件发送本地,因为它会陷阱的电子邮件,使您可以查看他们在您的休闲。
Laravel 5现在包含了mailtrap作为默认的SMTP设置,让你只需要提供用户名和密码:)

moiiocjp

moiiocjp3#

如果您使用的是smtp,并且电子邮件在本地工作,但在服务器上出现504错误,则此说明会有所帮助:
如果您的网站有SSL证书,请将行‘encryption’ => ‘tls’更改为’encryption’ => ‘ssl’‘port’ => 465

相关问题