Help us understand the problem. What is going on with this article?

AzureのMarketplaceからSendGridを利用してみる

More than 3 years have passed since last update.

はじめに

Azureは不特定多数が利用するパブリッククラウドであるため、独自にIaaSでメールサーバを立ててメール送信することは推奨していないようです。
こちらはAzureテクニカルサポートチームのBlogにも書かれており、メール送信にはSendGridを推奨しています。
https://blogs.technet.microsoft.com/jpaztech/2016/06/09/smtp-on-azurevm/

このリンク先にもAzureからSendGridのサービスを利用する方法が書かれているのですが、クラシックポータルからの利用であるため(2016/09/12現在)、今回は現行のポータル( https://portal.azure.com/ )で試してみます。

今回はメール送信クライアントとしてOutlook 2016とPowerShellを使ってみます。

SendGridのデプロイ

Azureポータルから「新規」を押して、検索フィールドに「sendgrid」と入力して、「SendGrid Email Delivery」を見つけて選択します。
image

「作成」ボタンを押して表示された「Create a New Sendgrid」ブレード内の情報を入力します。
Name,Passwordは適当に、サブスクリプションはデプロイを行うものを選択、Resource Groupは今回は新規で「QIITASENDGRIDRG」としました。

image

(つづき)
Pricing Tierは「F1 Free」を選びます。無料でも月間25,000通のメールが送信できるようです。
image

(つづき)
Contact Informationには利用者自身の情報を入力します。
image

(つづき)
法律条項の確認を行います。前に入力したPricing Tierがちゃんと無料プランになっていて課金されないことをしっかり確認して「購入」を押します。
image

最後に「作成」を押してデプロイ開始します。
image

しばらく(数分)待つとデプロイ完了です。
image

メール送信(SMTP)パラメータの確認

作成したSendGridのSettingブレードから「Configurations」を押すと新たなブレードが開いて、SMTPサーバの認証用ユーザと接続先ホストの情報が表示されますので控えておきます。
パスワードはデプロイ時に設定したものを使います。

image

Outlookの設定とメール送信確認

今回はOutlook 2016を使います。
Outlook 2016はメールアカウントを新規追加する際に送信サーバ(今回はSendGrid)だけを設定することはできなくて、必ず受信サーバ(POP3やIMAP)も設定する必要があります。
今回は手近にある適当なメール受信サーバを使いました。

さて、Outlook 2016でのアカウント追加手順ですが、「ファイル」メニューから「+アカウントの追加」ボタンをクリックして始めます。
アカウントの設定方法は手動設定を選択します。
image

サービスの選択では「POPまたはIMAP」を選択します。
image

アカウント設定では、電子メールアドレスは実際に自分が受信可能な正しいメールアドレスを入力します。
サーバ情報のアカウントの種類、受信メールサーバは別途用意した(若しくは既にある)サーバの種類・情報を設定します。
メールサーバへのログオン情報も受信メールサーバに関するものなので適宜設定します。
送信メールサーバの欄は先程デプロイしたSendGridのSMTP SERVERを設定します。
続いて「詳細設定」を押します。

image

送信メールサーバの設定タブを開いて、「次のアカウントとパスワードでログインする」をチェック後、アカウント名とパスワードに先ほどデプロイしたSendGridの情報を設定します。
image

最後にメール送受信チェックが行われて、メールアカウントの追加は完了です。
image

それではメールをOutlook 2016から送信しましょう。今回は私個人のicloud.comに対して送ってみます。
image

はい、無事メールがicloud.comも私のアカウントに送られてきました。
image

PowerShellからのメール送信(追記)

Windows標準のPowerShellを使ってSendGrid経由でメールを送信するサンプルも用意しました。
以下のスクリプトの前半部分の変数を適当に書き換えて使用します。

sendmail.ps1
$SmtpServer = 'smtp.sendgrid.net'
$Port = 587
$UserName = 'azure_XXXXXXXXXXXXXXX@azure.com'
$Password = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

$MailFrom = 'XXXXXXXXXX@example.com'
$MailTo = 'XXXXXXXXXXXXXX@icloud.com'
$Subject = 'Test Mail'
$Body = 'This is test'

$pwd = ConvertTo-SecureString -String $Password -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential $UserName,$pwd

Send-MailMessage -UseSsl -From $MailFrom -To $MailTo -Subject $Subject -Body $Body -SmtpServer $SmtpServer -Port $Port -Credential $cred

スクリプト実行後、無事にメールが届きました。
image

SendGridの管理画面

SendGridの各種ステータス確認や諸々の設定はAzureポータルではなく、外部のサイトで行います。

ポータルのSendGridのブレード上に「Manage」ボタンがあるのでこちらを押すと別ウインドウでSendGridの管理画面が開きます。
image

今回はこちらの設定画面の説明は除きますが、画面左下に本日のメール送信件数が表示されています。
(今回このBlog執筆時には2通SendGrid経由でメール送信を行いました)
image

おわりに

今回はSendGridを個人用途のMUAであるOutlookから利用しました。
SendGridはダイレクトメール等の大量配信を行う際に有効な機能と性能をもつサービスですが、そういったサービスを企業で本格利用する前のとっかかりとして、先ずは簡単に使ってみるのが良いかと思います。

yotan
Azureコンサルタント/イクメン/カワイイモノズキ/デジタルモノズキ/バイクノリ/Microsoft MVP for Azure
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした