Mailgun Working on Laravel

美好的周末就这么过去了……

今天主要研究了 laravel 的邮件发送模块,因为 password reset 需要用到它。

SMTP 这种东西比较原始,而且我不想泄露自己的邮箱密码,所以就考虑用域名邮箱,官方 Document 中比较推荐的是 Mailgun,刚开始不会用,后来找了些资料才知道怎么设置,有一定复杂性。

reset

注册 Mailgun 账号并绑定至域名

Mailgun 官网注册一个账号,然后设置好 DNS 解析,最后还要发送一封邮件到注册邮箱验证账号有效性,才能正式开始使用,每个月可以免费发 1W 封邮件,足够了。

我感觉被官网 Document 坑了,它推荐我使用二级域名,于是我就设置成 @mail.onemstar.com,现在看来是太长了。

官网没有提及的一点是,MX 记录也要绑定到 mail 这个二级域名,不过可能是个常识吧,只是我自己比较傻逼,一开始没想到这点。

设置 Laravel 环境

Laravel 这边,先修改 composer.json,添加:

然后 composer update 一下,接着有个三个文件需要设置:

.env

设置在 env,就不用担心用户名密码被 git 同步上去。

config/mail.php:

这里的发件人地址必须同样使用二级域名 @mail.onemstar.com,不然会出现很奇怪的发件人地址,xxx on behalf of xxx。

views/emails/password.blade.php:

这是最简陋的写法了,晚些再优化下。reset

Todo list:

  1. 优化邮件正文内容。
  2. 添加邮件已发送提示。
  3. 添加密码重置页面。

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.