現在、プロバイダの規制によって自宅サーバから外部へメールを送信することができなくなっている。OB25Pのせいである。
OB25P対策には、プロバイダやgmailなどの有名どころを経由して送信する必要があるのだが、プロバイダのユーザ名とパスワードをサーバに平文で置いとくのも気が引ける…。かといってgmailは現在、本名と電話番号を打ち込まないとアカウントが作れない。
そこで今回は、国内ではあまり話題になっていない気がする、Mailgunを使った。
Mailgunとは
正直自分でもよくわかっていないのだが、開発者のためにメールを送信するためのAPIを提供しているサービスらしい。例えば、メーリングリストを扱うアプリを作るときなどに、このサービスのAPIを叩く…のかな。
通常そういったアプリを作るときは、SMTPなんかで目的のサーバに直接届けなければいけないのだが、SMTPのプロトコルに対応させる手間がかかる。このサービスはAPIを提供しているので、新しくSMTPに対応させる必要なく、メールを送信できる…らしい。それに、OB25Pがある今、直接相手のサーバに届けることもできないし。
Mailgunにはそれ以外にも、メールがどこからどこに送信された、などのログをみれたり、グラフでメール数を確認できたり、できるらしい。
アカウント作成から登録完了まで
デベロッパーフレンドリーなAPIベースのメール配信システムMailgunの感じで登録をすすめる。
個人的に悩んだのが、DNSの設定のとこだった。
以下は自分が使っている、mydns.jpの場合の設定例である。 email.ドメイン名などの項目は、ドメイン名を省いて記入する。
一番迷ったのが、spfの指定である。_spf
と記入するときちんと認識される。(赤線のところ)
設定ができたら、Mailgunのドメインのページを再読み込みする。DNSの情報が無事反映されると、すべての項目にチェックマークがついて、ドメイン名の利用が可能になる。(DNS情報の反映までには長くて24時間ほどかかるらしい)
postfixの設定
PostfixでOP25B(Outbound Port 25 Blocking)対策 - shibainu55日記を見て設定する。
relayhostの設定や、isp_passwdに記入するアカウント情報は、Mailgunのドメインページで確認できる。 Default SMTP Loginというのがユーザ名、Default Passwordというのがパスワードにあたる。SMTPのホスト名もここで確認ができる。