外部にメールサーバを立てている環境でMS365 の各サービスからメールを送信する
こんにちは。#CSE北海道 #エゾジニア の「つっかー」です。
札幌本社の設備サービス業の情シスをメインにしつつ、スタートアップの立ち上げをお手伝いしたりしています。本記事の内容は、スタートアップ企業の社内システムを整備する一環で体験したことをベースに記しています。
当初はアドベントカレンダーの記事としてリリース予定だったのですが、他の執筆者の読み応えのある記事と比べて面白みに欠けたので急遽差し替えました。(アドベントカレンダーの記事は以下を参照。)
背景
Microsoft 365 Business Basic(以下、単に MS365 )を利用しています。
メールサーバは外部に別立て(XServer)で、主に Sharepoint と Teams を利用しています。
Teams でミーティングの予定を立てた際に、社内外にメールが飛ばない事象が発生しました。
MS365 から XServer のメールサーバを通じて、SMTP リレーの要領で社外ドメインに対して送信するイメージだったのですが、MSの公式ドキュメントによると、外部メールサーバには社内メールのみを送信し、社外メールは MS365 から直接配信するのが適切なようです。
(引用元:https://docs.microsoft.com/ja-jp/exchange/mail-flow-best-practices/use-connectors-to-configure-mail-flow/use-connectors-to-configure-mail-flow)
設定
具体的には以下の 2 つの設定を行いました。
1. MS365 Exchange Server にて送信コネクタを作成し、社内向けメールを XServer にルーティング
1. は管理コンソールから以下の操作を行います。
* 承認済みドメイン設定
* 送信コネクタ定義
* メールフロー設定
コネクタとは Exchange における外部メールサーバとの連携定義で、今回の場合は外部送信について定義した「送信コネクタ」を作成します。
社内ドメイン宛のメールをすべて送信コネクタ宛にルーティングすることで、外部メールサーバの受信ボックスに Teams を始め、MS365 の各サービスからメールが届くようになりました。
詳細は以下のリンクを参照ください。
https://docs.microsoft.com/ja-jp/exchange/mail-flow-best-practices/use-connectors-to-configure-mail-flow/use-connectors-to-configure-mail-flow
2. 権威 DNS サーバに以下のレコードを作成
* MX : XXX-jp.mail.protection.outlook.com
* TXT : v=spf1 +a:spf.protection.outlook.com +mx ~all
2. は権威 DNS サーバである XServer に対して設定します。
メールを受け取ったクライアントはまず最初にメールアドレスの送信元サーバを確認するため MX レコードを引きます。また、TXT レコードに設定している v=spf1 とはなりすまし防止の技術で、今回の場合、MS365 から送信されたメールが会社ドメインのものであることを証明するものです。
これらのレコードを登録しておくことによって、正規のメールサーバとは別に MS365 から送ったメールがなりすましメールではない正規なものであることを証明するのです。
まとめ
以上により、MS365 上のサービスである Teams からの会議招待メールが正しく参加者に送信されるようになりました。
めでたしめでたし。
最近テクニカルタームから遠ざかっていたのですが縁あって MS365 を管理する機会があり、情シスっぽいことをしました。満足です。
また、ついに MS365 デビューしてしまいました。触ったことがないのが売りだったのですが、これで「MS365、完全に理解した」と言い張ってみようと思います。
今後もこんな感じでエゾでの情シスライフを満喫していきます。