表題の通りMicrosoft Azureでは
- 外部にメールを送信すること
- メールサーバを作ること
はできません。
#そもそもサポート対象外
昨今、メールのセキュリティが重要視され、様々な形で迷惑メールとみなされることがございます。こういった既知の IP アドレスをスパムの出所として記録し、ブラックリストとしてフィルターするという第三者機関も多くございます。また、VM を一時的に立ち上げ、その IP アドレスからスパムメールを送信するといった乱用も潜在的な可能性として存在します。
このような理由から、Azure 上の VM から直接 SMTP 等を使ってメール送信することは、Azure プラットフォームとしてサポートをしておりません。
と赤字&太字でメール送信はサポートしない旨を強く公言しています。
しかしそれでもスパムメール送信をする輩が減らないのかは不明ですが、2017年11月ついに25番ポートをブロックしました
#25番ポートがブロックされる
Azure VM からのメール送信に関するアナウンス (2017 年 11 月)
Microsoft Azure は、不正なユーザーによる Azure からのスパム メールの送信をストップするとともに、IP アドレスのレピュテーション (メールの送信元としての信頼性) を保ち、正当な利用を行っているお客様に対して影響が及ばないようにする責任を負っています。
この対策の一環として、2017 年 11 月 15 日以降、Azure VM から外部ドメイン (たとえば outlook.com や gmail.com など) への直接のメール送信は、特定の契約種別のサブスクリプションでのみ許可するよう、動作が変更されます。許可されていない契約種別のサブスクリプションにおいては、Azure VM からの TCP/25 ポートによる外部へのメール送信を Azure プラットフォームがブロックする動作が加わります。
詳しくは上の記事を見ていただくとして、まとめると
- 2017年11月15日より前のサブスクリプション → **一切ブロックなし。**だたしサポートは対象外
- 2017年11月15日以降のサブスクリプション → 原則ブロック
- エンタープライズ契約 →ブロックなし
- 従量課金(ふつうコレ?) → ブロックありただし申請することで解除される場合あり
- MSDN、Free Trial(無料アカウント)など → ブロックあり・解除不可
※587番ポートなどのサブミッションポートは使う場合は制限されません
#どうすれば
SendGridなどのメール配信のSaaSを使いましょう。
Azure利用者なら1か月あたり25,000通まで無料です。
- SendGrid 電子メール サービスの使用方法 (.NET) | Microsoft Docs
- Microsoft AzureからのSendGridの利用方法 | SendGridブログ
- AzureのMarketplaceからSendGridを利用してみる
- Microsoft AzureのMarketplaceでSendGridを利用するまで
もしくはMicrosoft Exchange Onlineを使う?