以前、Exchange 2007 でインターネットにメール送信 / インターネットからメール受信する場合の覚書 という投稿を書きました。
Exchange Server 2010 は EMC (Exchange Management Console) から操作ができ、Exchange Server 2007 と設定は差がなかったのですが、Exchange Server 2013 は EMC がなくなり、ECP (Exchange Control Panel) を使用した Web 管理コンソールとなっています。
Exchange Server 2013 の勉強がてら、インターネットにメールを送信 / 受信するための基本設定をまとめてみたいと思います。
■検証環境の構成
今回の検証環境は以下のような構成になっています。
内部のドメイン名は [exchange.local] を使用しており、インターネット向けのドメイン名は [.com] の外部向け公開のドメイン名を使用しています。
このような環境を作る場合にどのような設定をしていけばよいかを見ていきたいと思います。
# 企業向けですと実際には上位にメールゲートウェイが存在しているかと思いますが、今回は Exchange を直で外に出しています。
■メール送信のための設定
インストール直後の状態で外部にメールを送信しようとするとキューにたまったままとなり送信が行われない状態となります。
Exchange Server 2013 のキューは Exchange Toolbox のキュー ビューアーから確認することができます。
インストール直後の状態ですと、[到達不能ドメイン] のキューにメールが滞留した形になります。
インストール直後の状態では外部に送信するための送信コネクタが設定されていません。
そのため、メールの配信先がなく到達不能ドメインのキューに滞留された状態となります。
Exchange Server 2013 の送信コネクタは ECP の メールフロー から設定を行います。
外部に送信するコネクタのアドレススペースは [*] (ワイルドカード指定ですべて) を使うことが大半だと思いますので、今回は以下のような設定をしています。
名前 | Internet |
種類 | インターネット |
ネットワーク設定 | 受信者のドメインに関連付けられた MX レコード |
アドレス空間 | 種類 : SMTP 完全修飾ドメイン名 : * コスト : 1 |
ソースサーバー | AD 兼 Exchange Server を指定 |
上記のような送信コネクタが設定できているとインターネット (外部) 経由でのメールが送信可能となります。
Exchange Server 2010 までにあった、メッセージ追跡ログ ですが、Exchange Server 2013 でも引き続き利用することが可能ですが、現時点のバージョンでは GUI は存在していないようです。
Get-MessageTrackingLog のコマンドレットを使用することはできますので、こちらを利用することになりそうですね。
EMS (Exchange Management Shell) から [Get-MessageTrackingLog | Select-Object * | Out-GridView] を実行することでグリッドビューに表示できますのでここから確認するのがよさそうですね。
送信コネクタが作成されれば外部にメッセージを送信しに行きますがこの状態では、送信先のドメインでメールがはじかれる可能性があります。
現在メールアドレスは内部ドメインのドメイン名が使用されていますので、[exchange.local] が使われています。
外部向けのメールアドレスとしては [@xxxx.com] が使用されますが、現在メールアドレスにこのドメインは付与されていませんので、[hogehoge@exchange.local] からメールが送信されたことになります。
この状態では不正なメールとなる可能性が高いので送信に使用されるメールアドレスを [@xxxx.com] というような外部向けのアドレスを設定する必要があります。
まずは対象のユーザーのメールアドレスで返信用のメールアドレス (SMTP) として外部メールアドレスを指定します。
# 今回は メール アドレス ポリシー は設定せずに個別で設定しています。
この設定をしていないと対向のメールサーバーから [Sender address rejected: Domain not found] のメッセージが送信され、ドメイン名の確認でメッセージが正常に届かない状態になると思います。
また、ルーターからメールを送信する際に外部に出るためのグローバル IP アドレスが MX レコードのアドレスとなっていない場合は、[451 4.4.0 Primary target IP address responded ~] のエラーの状態でキューに滞留されたままとなると思いますので、ここも気を付けておいたほうがよいかと思います。
■メール受信のための設定
デフォルトですと、[Default Frontend <サーバー名>] という受信コネクタ が TCP 25 を使用し、匿名ユーザーが許可されたコネクタとなっています。
この状態でメールを受信しようとすると [550 5.7.1 Unable to relay (in reply to RCPT TO command)] となり、外部からのメールを受信できない (外部からメールが送信できない) 状態となります。
匿名ユーザーのメール配信に関しては承認済みドメインを設定しておく必要がありますので ECP の 承認済みドメイン から承認済みドメインを追加します。
名前 | 適切な名称を任意で入力 |
承認済みドメイン | 外部ドメインとして使用するドメイン名 |
ドメインの種類 | 権限のあるドメイン |
これでメールの受信ができるようになります。
ここまでの設定でメールの送信から受信までインターネットを経由して試験できる環境が整うかと思います。
EMC が ECP に変わっていますが設定に関しては 2010 の時と考え方は同じで大丈夫なようですね。