Djangoを使ったwebアプリを作っているのですが、ユーザー登録時に仮登録からのメールリンクで本登録するものを実装しようと思いました。
その過程で独自ドメインのメールアドレスを作成する方法に苦戦したのでまとめました。
独自ドメインを使ってDjangoからメール送信する方法については後日まとめようと思います。
実現したいこと
- mailgunを使い独自ドメインのメールアドレスを作成する
前提条件
- 独自ドメインの取得が完了している
- レンタルサーバーの構築が完了している
- 独自ドメインとレンタルサーバーの紐付けが完了している
作業環境
- OS
- CentOS7
- webサーバー
- Nginx
- 言語
- Python
- フレームワーク
- Django
参考サイト
手順は以下の通りです。
手順
- mailgunにアカウント登録
- サブドメイン設定
- レンタルサーバーにサブドメイン作成
- mailgunでサブドメイン登録
- レンタルサーバーにレコード登録
- mailgunでレコード確認
- メールアドレスの作成
- メール受信は有料
1. mailgunにアカウント登録
mailgunというサービスに登録していきます。
新規登録はこちらから。
クレジットカードを登録することになりますが、最初の3ヶ月間、5000通までは無料なので安心してください。
3ヶ月後は有料になりますので、忘れないようにカレンダーにメモしておきましょう。
2. サブドメイン設定
次にメールアドレス用にサブドメインを設定していきます。
このサブドメインはメールアドレスの@以下になります。
(例)my_mail@mail.mydomain.comというメールアドレスがあるとすると
mail.myadomain.comが今から設定するサブドメインになります。
ドメイン自体はすでに取得しているのでmail.を設定していくことになります。
1. レンタルサーバーにサブドメイン作成
私が使っているさくらのVPSではこちらから作成することができます。
ゾーン設定→エントリの追加と変更に作成したいサブドメイン名を記入(mail)→種別を別名(CNAME)に変更新規登録
2. mailgunでサブドメイン登録
次にmailgunにサブドメインを登録していきます。
https://app.mailgun.com/app/sending/domains/new
mail.mydomain.comを入力してボタンをクリック
登録完了です。
左側のDomain SettingsをクリックしてDNS recordsをクリックします。
TXTレコードが確認できればOKです。
TXTレコードのEnter this valueをコピーしておきます。
3. レンタルサーバーにレコード登録
レンタルサーバーに戻ります。
こちらから先ほどのサブドメインにレコードを登録していきます。
先ほど登録したサブドメインをエントリ名に記入します。
種別はTXTを選択
値にコピーしたものを貼り付けます。
TXTレコードは2つあるので2回行ってください。
4. mailgunでレコード確認
レンタルサーバーにレコード登録を行ったらmailgunで接続確認を行います。
確認は簡単で、先ほどのDNS recordsの右上にあるVerify DNS Settingsボタンをクリックするだけです。
TXTレコードにチェックマークが付くと接続が完了していることになります。
登録したレコードが反映されるまで時間がかかりますので、チェックマークがつかなくても焦らないようにしましょう。
反映までに24~48時間ほどかかるようです。
3. メールアドレスの作成
mailgunでTXTレコードにチェックマークがついたら、次はSMTP credentialsをクリックします。
DNS recordsの右にあります。
右上のAdd new SMTP userをクリックしてメールアドレスを登録します。
これで独自ドメインを利用した独自メールアドレスの作成が完了です。
4. メール受信は有料
最後に補足としてmailgunは無料プランだとメールの送信はできるものの受信をすることができません。
webアプリに組み込む時は有料プランへのアップグレードが必要です。