当应用程序已经注册或订阅用户时,发送邮件可能是必不可少的功能之一。 在开发过程中,我们倾向于使用 SMTP 测试服务器,例如 mailtrap.io
。
Mailtrap 为单个收件箱提供了一个免费计划以进行测试,我们可以将邮件发送到该收件箱,但收件箱中存储的邮件数量有限。当我们使用此免费计划时,我们还限制了在一秒钟内可以发送多少封电子邮件,因此我们不能同时发送多封电子邮件,所以必须延迟或睡眠每个邮件过程。
我的官方群点击此处。
上述问题的最优解是 mailhog
。 Mailhog 是在服务器 / 计算机本地运行的 SMTP 测试服务器,Laradock 拥有此服务。 让我们尝试一下。
运行 Mailhog 服务器和 web UI
我假设你已经知道并尝试过使用 Laradock,如果没有,那么你可以试试使用 Laradock 此处。
要运行 Mailhog 服务器和 web UI,只需运行这个 docker compose
命令:
docker-compose up -d mailhog
这下容器应该就会处于工作状态,并且当你使用 docker-compose ps
命令进行检查时,它的状态为 up
:
Name Command State Ports
---------------------------------------------------------------------------------------------------------------------
laradock_mailhog_1 MailHog Mailhog Up 0.0.0.0:1025->1025/tcp,
0.0.0.0:8025->8025/tcp
为 Laravel App 设置 Mailhog
在你的 laravel app 的.env
, 添加 / 更改这些参数: