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 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 2
xin6841414

https://mailtrap.io 创建 inboxes 需要付费升级, 楼主是付费会员?

4年前 评论

@xin6841414 免费啊,免费用户是有一个inboxes的。

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!