ドメインで無料Gmailを使い、SPFと遅延の対策をする目次2022年あたりから、個人ドメインで無料Gmailを使ったメールのやり取りが、SPFの導入により難しくなった。やりたいこと独自ドメインを個人メールに使用。Gmailに全てのメールを持ち、Gmailでメールを書く。メール受信時、iPhoneで通知をもらう。iPhone(iOS)上では、Gmailアプリを使い、Appleのメールアプリはアンインストールする。Mac上では、Webのみ使う(メールアプリは使わない)。SPFが設定されたドメインで送信されたメールを正しく受信できる。遅延なく「今受信したメール」を確認できる。Gmailで一本化Gmailですべてのメールを送受信し、アドレス帳を管理する。他のメールサービスにメールは保存しない。Androidのmigrationも必要ない。あらゆる場所や環境から唯一Gmailのメールストレージ・メールクライアントを操作する。Workspaceは利用しない個人のためで、他に有料で使いたいGoogleツールがない場合はオーバースペックな上、個人アカウントとの行き来(個人→business、business→個人)がかなり面倒(いずれもmigrationが必要)。メールだけの場合、月額680円はやや高額。メールサーバーは自分で管理しない(EC2インスタンス等)エンジニアならEC2インスタンスにPostfix/Dovecot入れて、設定ファイルでメールサーバーを管理するという方法もある。他の用途でEC2インスタンスがある場合は特に。OSをメンテナンスしたり、packageをupgradeしたり、設定を編集してserviceを再起動したり、トラブル時に調査したり等、面倒な作業が多いため、やらない。個人ドメインに対応した有料のメールサービスが存在する。メールボックスはあくまで一時データを保存するためで、Gmail側でメールを取得したらメールボックスからはデータを消す。そのため容量は1GBでも十分なぐらい。メールボックスとして、SMTPサーバーとIMAPサーバーでセキュアな通信(SSL/TLS)に対応したサービスなら基本的にOK。WorkMailはいずれも対応していて、設定しやすいGUIが提供されている。さくらメールボックスは月額100円未満。ストレージも20GBと余裕がある。IMAPでメールを閲覧できる。ストレージは50GBもある。IMAPでメールを閲覧できる。ActiveSyncにも対応しているがここではGmailクライアントを使いたいので使わない。)Gmailにメールを転送せず、「今受信したメール」を常に確認できるようにしたいSPFが設定されたドメインからのメールを受信したい場合、SPFの仕組み上、メールの転送機能は利用できない。Workspaceのアカウントという方法が存在するが、前述の通り、面倒だし高額なためやりたくない。転送以外な方法として、Gmailには定期的に(1時間に1回程度)IMAP/POPでメールサーバーからメールを取得する機能がある。それでは「今受信したメール」が簡単には確認できない(設定に行き、メールを確認するをクリックする必要があり、面倒)。ここが一番設計がむずかしい部分で、一部の機能を少し割り切って設計が必要。「今受信したメール」を確認したいのは、サービスからくるメールのみ個人とのコミュニケーションにおいて、リアルタイムでメッセージやり取りをするなら、そもそもメールを使うべきか。LINEやメッセンジャーを使うべきだと考える。サービスから届くメールのほどんどは緊急性が無いものばかり。そもそもサービスから受けたい緊急なメッセージがあるなら、プッシュ通知を利用するべきと考える(例:フリーマーケットのチャットのやり取り)。受信したいメールも一応存在する。ログインして、二段階認証のコードがメールで届いている場合。サービスに登録して、メールアドレスの確認メールが届いている場合。自分のアクション(商品の購入、予約等)に対する確認メールが届いていて、それをすぐに確認したり、それに対し更にアクションを起こしたいケース(やっぱキャンセル、関係者に転送する等)。これらのケースはいずれも、メールを確認したいタイミングは分かっていて、やりたいことは単純な作業。メールを確認したいタイミングは、Webやアプリで操作しているときであるため、メール受信のリアルタイムプッシュ通知は必要ないと思われる。プッシュ通知があったとしても、あくまでショートカットとしてのプッシュ通知であり、タイミングを通知してくれるものではない。メールの受信を即座に検出して、リアルタイムでプッシュ通知が届くのがベストだが、これは諦めるとする。残る課題は、手動で「今受信したメール」をいかにシームレス&簡単にできるようにできるか。調べたところ、Gmailアプリのマルチアカウント機能を使うのが一番手っ取り早かった。Gmailアプリには複数のアカウントでメールの確認ができ、アカウント切り替えはせずとも、「すべての受信トレイ」に全アカウントのメールが確認できる。IMAPアカウントを入れておけば直接メールサーバーのメールを閲覧(参照のみで削除せず)できる。まとめると、次の対応表になる。Gmailアプリを立ち上げることで確認ソリューション前提ドメインを持っている。うちはドメインの登録はValue-Domain、ネームサーバーはRoute53。メールクライアントはGmail、WebとiOSアプリを利用する。メールサーバーのサービス(IMAP/POP、SMTP)を利用する。うちはメールサーバーはさくらのメールボックス(安い、メールボックスの追加が楽なため)。使い分けのためメールボックス(アライアス等)が複数あると思われるが、Gmail受信用のメールボックスを1つ設けておく(あるいはメインのメールボックスを1つ選ぶ)。このメールボックスに、Gmailで受信したいメールを全て転送しておく。同じメールサービス内のメール転送はSPFチェック等が無い。アカウントとインポート」にて、次の設定を行う。「他のアカウントのメールを確認」に確認するメールボックスを設定する。アドレスからメールを送信します)」に送信用のアカウントを設定する。iOS版Gmailアプリの設定アカウントを2つ設定する。Web上で設定したGmailアカウント。メールサーバーのIMAPアカウント。「すべての受信トレイ」を常時使えばアカウント切り替えは必要ない。メインであるGmailアカウントを常に設定しておける。アプリ立ち上げ時や、メール画面を下に引っ張って更新すると、IMAPアカウントのメールがすぐに受信できる。Gmailアカウント側のメールは1時間に1回ぐらいしか更新されないが、IMAPアカウント側のメールはすぐに確認できる。Gmailアカウント側のメールが更新されたときには、IMAPアカウント側のメールは削除されているため、表示されなくなる。Gmail側が受信したメールはメールサーバーから削除される。キャッシュの関係で一時的に両方のアカウントで同じメールが表示されることがあるが、見分けるのは簡単で大した問題にならない。画面更新やアプリ再起動等ですぐにIMAP側のメールは消える。注意するべきなのは、メールを送信するとき。瑠能さいたま市浦和区在住、2児の父、4人家族で生活。フランスに約18年住んでいた。