MJHD

エモさ駆動開発

Mailgunを使ってOB25P対策(postfix)

現在、プロバイダの規制によって自宅サーバから外部へメールを送信することができなくなっている。OB25Pのせいである。

OB25P対策には、プロバイダやgmailなどの有名どころを経由して送信する必要があるのだが、プロバイダのユーザ名とパスワードをサーバに平文で置いとくのも気が引ける…。かといってgmailは現在、本名と電話番号を打ち込まないとアカウントが作れない。

そこで今回は、国内ではあまり話題になっていない気がする、Mailgunを使った。

Mailgunとは

正直自分でもよくわかっていないのだが、開発者のためにメールを送信するためのAPIを提供しているサービスらしい。例えば、メーリングリストを扱うアプリを作るときなどに、このサービスのAPIを叩く…のかな。

通常そういったアプリを作るときは、SMTPなんかで目的のサーバに直接届けなければいけないのだが、SMTPプロトコルに対応させる手間がかかる。このサービスはAPIを提供しているので、新しくSMTPに対応させる必要なく、メールを送信できる…らしい。それに、OB25Pがある今、直接相手のサーバに届けることもできないし。

Mailgunにはそれ以外にも、メールがどこからどこに送信された、などのログをみれたり、グラフでメール数を確認できたり、できるらしい。

アカウント作成から登録完了まで

デベロッパーフレンドリーなAPIベースのメール配信システムMailgunの感じで登録をすすめる。

個人的に悩んだのが、DNSの設定のとこだった。

以下は自分が使っている、mydns.jpの場合の設定例である。 f:id:wait0000:20150823191200p:plain email.ドメイン名などの項目は、ドメイン名を省いて記入する。

一番迷ったのが、spfの指定である。_spfと記入するときちんと認識される。(赤線のところ)

設定ができたら、Mailgunのドメインのページを再読み込みする。DNSの情報が無事反映されると、すべての項目にチェックマークがついて、ドメイン名の利用が可能になる。(DNS情報の反映までには長くて24時間ほどかかるらしい)

postfixの設定

PostfixでOP25B(Outbound Port 25 Blocking)対策 - shibainu55日記を見て設定する。

relayhostの設定や、isp_passwdに記入するアカウント情報は、Mailgunのドメインページで確認できる。 f:id:wait0000:20150823191210p:plain Default SMTP Loginというのがユーザ名、Default Passwordというのがパスワードにあたる。SMTPのホスト名もここで確認ができる。