Edited at

Azureのメール送信はSendGrid

More than 1 year has passed since last update.


まえがき

AWSにはSESがあり、Azureには何があるんだろうか?

Public Cloud である限り、グローバルIPは使いまわされBlackListに登録されている可能性は十二分にあるはず。

はてさて。


MSさんの見解を調査

"Azure" "メール送信" と言ったキーワードでGoogle検索すると、SendGrid なるものがあるような雰囲気。

さらにMSさんの見解はどうなんでしょう?

やはり同じようなことを考えるのは自分だけではない。

SIOSさんのOSS on Azure技術ブログを参照させていただきます。

こんな一文があります。

VMから直接SMTP等を使ってメール送信することは、Azureプラットフォームとしてサポートしておりません。

(略)

Azure 上で Windows Server の IIS などの機能によってメールサーバー / SMTP サーバーを構築し、メール配信をする場合の注意点をご紹介します。
詳細
Azure では、IP アドレスをプールしており、それを仮想マシンに貸し出すという形態をとっています。
現在割り当てられている VM の IP アドレスは、数日前には他の VM の IP アドレスであった可能性があるということになります。
昨今、メールのセキュリティが重要視され、様々な形で迷惑メールとみなされることがございます。
こういった既知の IP アドレスをスパムの出所として記録し、ブラックリストとしてフィルターするという第三者機関も多くございます。
また、VM を一時的に立ち上げ、その IP アドレスからスパムメールを送信するといった乱用も潜在的な可能性として存在します。
このような理由から、Azure 上の VM から直接 SMTP 等を使ってメール送信することは、Azure プラットフォームとしてサポートをしておりません。
代替案としては、SendGrid のような、サードパーティのバルク メール送信サービスに SMTP リレーを構成するという方法となります。
Azure マーケット プレースから、SendGrid の無償プラン(送信メール数制限有り)・有償プランも選択が可能ですので、リレー先としてご検討ください。
また、オンプレミスに既に Exchange サーバーがある場合、そちらへのリレーでも実現が可能となります。
(略)

そりゃ、そうだよね。想定通りです。MSさんのいうこと、素直に聞きます。

SendGridやってみます。


SendGrid やってみよう!

こういうものは、公式サイトに右へならえ!です。

SendGridを使用したAzureでの電子メールの送信方法


1.AzurePortalから作成

■ Point

Azureポータルから、「SendGrid Email Delivery」を選択しましょう。

※ Filterをかけるのが早いですかね。

Name:リソース一覧に表示される名前です。

Password:メール送信するときに利用します。

Confirm Password:間違えないように正確に打ち込みましょう。

Subscription:適当なサブスクリプションを選択してください。

Resource group:お好きにどうぞ。

Pricing tier:S2 Silver / S1 Bronze / F1 Free の3択です。

※ 1カ月当たり、10万通、4万通、2.5万通まで送信できそうです。

Promotion Code:グレーアウトされているので無視。

Contact Information:First Name, Last Name, Email ← ここまで必須項目 Company, Website の入力があります。

Legal terms:選択してOKボタンを押すことで承認したことになります。無視しても、承認しないとCreateできません。

Contact Information に入力したメールアドレスがFromユーザアドレスになります。


2.登録メールアドレスで承認

Contact Informationで入力したメールアドレス宛てに確認メールが飛んできます。

※2017/8/23 追記

再度試したところ、順番がちょっと変わってました。

下記、「3.APIキーの発行」で記載している Manage ボタンを押した後に、確認メールが送信されます。

sendgrid01.png

勿論、Confirm Email Addressをポッチします。


3.APIキーの発行

こちらもマニュアルに従って実行していきます。

作成したSendGridのリソースを選択して、Manage ボタンを押します。



別画面が表示されるので、左ペインから Settings をクリック。



API Keys を押して、画面右上の Create API Key をクリック。



API Key Nameを入力します。



API Key PermissionsFULL ACCESSにします。

sendgrid01.png

※ 注意:Create & View ボタンを押すと、APIキーが表示されるので、コピー!!

APIキーを利用するサービスは、この値を利用しましょう。


登録メールアドレスを変えられるかな?

「4.メール送信時に必要となる情報の確認」の画面から変更できます。

一番右端にEditボタンがあるので、そちらから変更してください。

変更できるのは、次の項目。

・First Name, Last Name, Email Adress, Phone Number

・Company, Website, Address 1, Address 2(City, Country, Zip Code, State)

・TIME ZONE

ちなみにメールアドレスを変更すると、再び承認メールが新しく登録したメールアドレスに飛びます。

今度はURLをクリックさせます。

sendgrid04.png

登録していた以前のメールアドレスにも確認メールが飛びます。

sendgrid05.png

そりゃそうですよね。。。


状況確認

メールが何通飛んでいるか、Manageを押した後、StatsOverviewを見ることでグラフ表示されます。

sendgrid06.png

やってみると、案外簡単!

無償枠でかなりの数使えますし、是非試してみてください。