mailgun 邮件服务注册激活与使用
在阅读 laravel
文档的时候,发现邮件发送模块的多个 driver
中, mailgun
是排第一的,好奇心作祟,决定尝试使用一下。
注册、激活
邮箱注册,邮箱激活,基本操作不再赘述。
邮箱激活成功后,会提示进行 upgrade
到付费版。 账号状态据我所知,有以下3种:
- 不进行
upgrade
且不绑定信用卡,仅可以使用 sandbox domain,且指定邮箱发送,一个月 5k 免费发送 - 不进行
upgrade
但绑定了信用卡,可以新增 domain ,一个月 5k 条免费发送 - 付费,想干嘛干嘛,您就是
mailgun
的爹
信用卡绑定
信用卡绑定的表单里,有一项是要求填写 address line 1
,特地去查了一下,是指信用卡开户的时候填写的地址, line 1
是因为国外的地址都是分行的, line 1
是我们这边的说法就是 “精确到门牌号”
我是使用了招商银行的信用卡, address line 1
我用拼音简单描述了开户填的地址,而且没有填全,提交后秒通过,所以基本可以认为这一列是人工审核用的,提交的时候仅用于存储,填写的时候可以不用太过精确,大概就差不多(应该吧
新增 domain
在左边的导航栏,找到 domain
,然后按照指示新增。
接着官方会给出指南,让你到 DNS解析中进行设置,验证你的 domain
归属于你。 只要您准确无误的设置完所有的 DNS 解析记录, 然后点击一下最下方的 verify
按钮,程序会进行检测并标出错误的项目。
亲测偶尔程序会误判,需要多手动重试几次,直到全部绿灯。
使用
mailgun
的指引真的可以,点击进去 sandbox domain
中,已经给出完整的可以直接复制粘贴使用的demo,十分的方便。
我个人还没有特别注意 HTTP API和SMTP之间使用上的区别,但是我认为 HTTP API是最方便、最直观、最可控的途径,所以在此推荐使用 HTTP API
如果你是用 laravel
或者 lumen
,可以参考我下面这个 demo, 跟着 readme 简单部署即可使用
https://github.com/Lichmaker/mail-service
遇到的问题
- 只有 5k
其实免费的 5k,一般都够用了,除非你要拿去撒网发广告 - 无法避免的垃圾邮件问题
可能是因为mailgun
的服务器分配问题,我在网上搜索都是多派言论,有的是 qq 邮箱进垃圾箱,有的是 Google 进垃圾箱,有的是 Outlook。
我亲测试 Google 进了邮箱,刚开始查阅到资料,跟 DNS 解析中的 MX
记录有关,我多次修改 MX
记录并重试,即使改到跟发件邮箱一致,也都无法解决问题。 初步猜测是发邮件的服务器因为是 mailgun
内部共享的,其他用户发了大量垃圾广告,所以你的邮件就被误杀了
这个问题基本暂时无解,因为免费用户也没法跟官方提供单,只能默默忍受。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。