
・自宅サーバーやクラウドのインスタンスからメールを送信したい
・メールによる通知システムを簡単に構築したい
・手軽にメールをリレーする仕組みがないかな
・画像付きで分かりやすい手順が知りたい
こういった疑問に答えます
Windows Server 2016 2019からGmailにリレーする方法
先日、AWSで稼働させているWindows Serer 2016から急遽メール送信ができるように構成する必要が出てきました。
メールを送信するにはWindows ServerのSMTPを利用すれば良いわけですが、昨今のインターネット環境では、信頼できる第三者機関を通してメール配信する(メールリレー)方が確実にメールが届きます。
そこで、GmailのSMTPサーバーにリレーさせ、送信元をgmailにすることで外部のドメインにメールするように構成しましたので、その手順を画像付きでご紹介したいと思います。
実は設定方法、設定箇所が一緒なWindows Server 2016 とWindows Server 2019
タイトルがWindows Server 2016 と2019としたのは、検証環境の構築時に、実は設定方法と設定箇所が全く同じなことが判明しました。
またなぜ判明したいのかというと、AWS上のWindows Serverを数か月前に構築した際に2019で構成したと記憶しており、先に自宅サーバー環境でWindows Server 2019でテストを実施後に「いざ、作業」とAWS上の環境にアクセスしたら Windows Server 2016だったというオチです。
これは構成する際に利用するIISのバージョン(6.0)が同じバージョンなためですが、何事も作業前には確認が重要ということですね。
なお、Windows Server 2016 の構築方法は以前こちらでご紹介していますので、Windows Serverを構築したことがない方は参考にしてみてください。
Windows Server 2016 2019 の SMTPサーバー設定方法
まずは、サーバーからgmailにメールリレーをするためにSMTPを設定します。
機能の追加は『サーバー マネージャー』で行います。
こちらも以前のWindows 2016 ServerでのAD構築の作業手順と同じです。

検索窓に『ser(ver)』と打ち込むことでも、サーバー マネージャーを起動できます。
サーバー マネージャー を起動させたら『役割と機能の追加』を選択します。

『役割と機能の追加ウィザード』が起動したら『次へ』を選択します。

『役割ベースまたは機能ベースのインストール』(デフォルト)が選択されていることを確認し、『次へ』を選択します。

『サーバー プールからサーバーを選択』(デフォルト)が選択されていることを確認し『次へ』を選択します。

『サーバー役割の選択』では特に設定作業はなく、『次へ』を選択します。

今回設定する唯一の設定はこの機能の追加で『SMTP サーバー』です。
チェックボックスを入れ『次へ』を選択します。

上記の『SMTP サーバー』のチェックボックスをを入れると『SMTP サーバーに必要な機能の追加しますか?』のポップアップが表示されます。
特に何も触ることなく『機能の追加』を選択します。

次に『Web サーバーの役割(IIS)の設定』で、こちらも『次へ』を選択して進みます。

『 Web サーバーの役割(IIS)』の設定では特に設定の追加は不要です。
『次へ』を選択します。

インストールの内容の確認です。
問題が無ければ『インストール』を実行します。

インストールが開始されたら『閉じる』を押して完了です。

インストール完了までに少し時間が掛かりますが、バックグランドでインストールが動き続けます。
IIS(インターネット インフォメーション サービス)の設定
インストールが完了したらIIS(インターネット インフォメーション サービス)を利用して、SMTPの設定を行います。
「IISはWebサーバーを設定しするものでは?」と思う方も居ると思いますが、WebサーバーだけでなくFTPや、SMTP、およびNNTPなどの設定も可能です。
では早速設定をしていきます。
IIS 6.0 マネージャーを起動します。

IISが起動したら『SMTP Virtual Server』を右クリックし『プロパティ』を開きます。

プロパティが表示されたら『全般』のタブでローカルのサーバーのIPアドレスが設定されているかを確認します。
設定されていなければ設定し、次に『詳細設定』を選択します。

詳細設定ではポートの設定が可能です。
自宅サーバーでメールリレーを構築する場合にあhポート番号に587を設定します。
AWSなどのクラウド基盤を利用する場合にはポート番号が25で構成可能です。

次に『アクセス』タブのの設定を行います。
ここでは『中継』を選択します。

中継の制限では、『以下のリストに含まれるコンピューターのみ』チェックが入っていることを確認した上で、『追加』を選択し、サーバーのIPアドレスを追加設定を行います。


追加したら『OK』を選択します。
次に『配信』タブの設定です。
配信タブでは送信に関する間隔などの設定が可能ですが、今回こちらは設定せず、『送信セキュリティ』を選択します。

送信セキュリティの設定では、『基本設定』を選択し、リレーするgmailのメールアドレスとパスワードを設定します。
また、『TLS 暗号化』にチェックをし『OK』を選択します。

続いて『配信』タブの送信接続で、TCP ポートを587に設定します。

最後に『詳細設定』タブのスマート ホストに『smtp.gmail.com』を設定します。

設定したら『OK』を選び完了です。
設定が完了したら、IISの起動を開始します。

起動すると、×マークが消えます。

SMTPサーバーの設定と操作は以上です。
Gmail側の設定
次に、Gmail側の設定を行います。
設定は以前のWP Mail SMTPと同じで、セキュリティから安全性の低いアプリのアクセスにすすみ、アクセスを有効にするを設定します。


Gmailは無料で取得できるだけでなく、こういった設定にも有効ですので、覚えておきたい設定ですね。
動作確認方法
最後に動作確認です。
Windows Server のターミナルからPowershellで以下のコマンド実行します。
Send-MailMessage -to 宛先メールアドレス -Subject メールタイトル -From リレーするgmailのアドレス -SmtpServer Windows ServerのIPアドレス -Port 587(ポート番号)
C:\Users\Administrator>powershell
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
PS C:\Users\Administrator> Send-MailMessage -to aaaaaaaa@aaaaaa.com -Subject test -From bbbbbbbbb@gmail.com -SmtpServer 192.168.x.xx -Port 587
コツとしては、最近のメールシステムはFrom詐称防止のため、Fromのアドレスはリレーするgmailのアドレスを使うことでしょう。
メールが受信できれば完了です。
まとめ
今回はWindows Serverから気軽にメール通知を行う仕組について解説しました。
本番のクラウド上に構築したWindows Serverでも自宅サーバーからでも、ポート番号を25か587で設定すればメール送信が可能です。
タクゾーの場合、アラート通知としてメールを利用したいためにこの仕組みを構築しましたが、クラウドに設定した本番環境でも安定して動いていますので、同様の環境構築が必要な場合には是非参考にしてみてください。
本ブログでは、他にもエンジニア向けの小技をご紹介していますのでこちらもどうぞ。
