菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
3318
2

mailtrap.io - 一种更方便的邮件测试方式

原创
05/13 14:22
阅读数 2775

我们在项目开发中经常需要使用发送邮件相关的功能,比如注册验证、密码找回等,在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 中填上用户名和密码,在项目测试中所有发送的邮件全部会在你的邮箱中,有真实的发件人、收件人和内容。

发表评论

0/200
3318 点赞
2 评论
收藏
为你推荐 换一批