mailtrap.io - 一种更方便的邮件测试方式
我们在项目开发中经常需要使用发送邮件相关的功能,比如注册验证、密码找回等,在 laravel 项目开发中测试邮件相关任务也很方便,Laravel 为本地开发期间提供了三种 「禁用」真实发送的途径。
日志驱动#
log
邮件驱动采取将邮件消息写入日志取代发送邮件,已备查看。应用环境配置的更多消息,请查阅 配置文档。
通用配置#
Laravel 为通过框架发送的邮件提供了指定常用收件人的其他解决方案。通过此方法,应用生成的邮件都将发送到指定地址,以取代发送消息时指定的真实地址。可以借助 config/mail.php
配置文件的 to
选项实现此目的:
'to' => [
'address' => 'example@example.com',
'name' => 'Example'
],
Mailtrap#
最后,你可以使用 Mailtrap 服务和 smtp
驱动发送邮件消息到 「虚拟」邮箱,这样就可以在真实的邮件客户端查看邮件消息。此方法的好处是允许你在 Mailtrap 的消息阅览器中实际查看最终的邮件。
社区教程中常用的是方式一,日志驱动定义 MAIL_DRIVER=log
,然后在 log 中查看邮件链接,日志的方式看不到真实的邮件效果,而方式二是使用的真实发送,但并不方便快捷,我个人更习惯第三种方式 Mailtrap
,具有方式一的简单和方式二的仿真优点。
在 .env
中默认其实也是这种方式:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
我们要做的只是配置用户名和密码就可以了,去 mailtrap 官网 https://mailtrap.io/ 注册一个账号(可以直接使用 github 登录),然后创建一个 Inbox
,会分配一个用户名和密码,类似如下:
直接在 .env
中填上用户名和密码,在项目测试中所有发送的邮件全部会在你的邮箱中,有真实的发件人、收件人和内容。
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: