集成MailGun

邮件服务

  • 一个稳定的邮件系统在整个网络服务中非常重要, 在网络上搜索了一阵, 发现有两个提供邮件服务的公司口碑比较不错
    • sendCloud: 一家国内公司, 搜狐旗下. 文档都是中文, 对 QQ Mail 支持较好. 原本首选这家, 但是测试了一下发送邮件到 GMail,居然没有送达. 第一印象不好, 果断放弃了.
    • MailGun: YC 投资的创业公司, 口碑也是非常好. 据说会被 QQ 邮箱过滤, 但是我测试了一下发送邮件到自己的 QQMail, 并没有被拦截. 另外自己的服务平台面对国外用户比较多, 所以就选择了 MailGun.

集成服务

配置域名

  • 登录 MailGun 点击 Add New Domain
  • 按提示说明,添加新域名, 并且配置解析域名
    • TXT records
    • DNS Records For Tracking
    • DNS Records For Receiving
    • 配置完之后应该很快就能通过认证, Domain Information 中的 State 状态变成 Active

接收邮件

由于 MailGun 关闭了 POP 和 IMAP 服务, 目前邮件只能通过转发的方式获取. 需要添加 SMTP credentials

  • 回到 Domains 页面, 点击 Manage SMTP credentials

    • 点击 New SMTP credentials, 并且填写 Login 和 password, 确认加入
  • 下面去到 Routes 页面

    • Create New Route
      • Priority 数字越小判断等级越高
      • Filter Expresssion 判断转发条件
      • Actions 执行转发
    • 具体操作需要查看 文档

发送邮件

在 MailGun 服务中, 只需要调用 MailGun 的 API 就可以直接发送邮件, 下面是 Sample Code

def send_simple_message():
    return requests.post(
        "https://api.mailgun.net/v3/your-domain/messages",
        auth=("api", "key-xxxxxxxxxxxxxxxxxx"),
        data={"from": "Excited User <mailgun@mg.xxxx.com>",
              "to": ["bar@example.com", "xxxxxx@gmail.com"],
              "subject": "Hello",
              "text": "Testing some Mailgun awesomness!"})
  • 其中 api 可以在 domains 页面下查看
Apr 9th, 2015

Comments