初めてのSendGrid: Amazon EC2からSendGridでメール送信してみた

はじめに

AWSではメール配信サービスとしてAmazon SESが提供されていますが、最近SESと比較してSendGridの名前を聞くことが多くなりました。そのSendGridで1日200通まで送信可能なフリートライアルが用意されていると知ったので、SendGridを体験してみました!

アカウント登録

フリートライアルの登録はSendGridの日本公式サイトで、以下のリンクから各種情報を入力し行います。

sg01

情報を入力した後に送信ボタンを押すと、登録完了のメールが届いて、アカウントページにログイン出来るようになります。アカウント画面の左側に、SendGridのアカウント名と、SMTPサーバのホスト名が表示されています。

sg02

メールを送信してみる

では簡単なスクリプトを使って、Amazon EC2上からメールを送信してみます。SendGridの接続ポートは587/tcpです。

#!/usr/bin/ruby

require "net/smtp"

Net::SMTP.start('smtp.sendgrid.net', 587, 'smokeymonkey.me', '<account>@kke.com', '<password>', 'plain') do |smtp|
  smtp.send_mail <<EOM, "sendgridtest@smokeymonkey.me", "smokeymonkey@gmail.com"
From: sendgridtest@smokeymonkey.me
To: smokeymonkey@gmail.com
Subject: test mail
Date: Mon, 12 May 2014 12:00:00 +0900
Message-Id: <unique.message.id.string@smokeymonkey.me>

This is test mail.
EOM
end

このスクリプトを実行し、メールが送信されると、アカウント画面の"Emails sent today"の数が増加していきます。

sg03

"Email Activity"画面では、以下のように送信したメールの状態が確認出来ます。最初スクリプトの記述にミスがあってBlockされてしまったのですが、そういったBlockや送信されたというDelivered、また受信者がメールを開封したときにはOpenなどのステータスが一目で分かるようになっています。

sg04

送信先メールアドレスの受信ボックスを確認すると、ちゃんとメールが届いていました!

sg05

"Email Report"画面では様々なレポートが表示出来ます。今回はちょっとしか触ってないのでそれほどデータが溜まっていないのですが、例えば上記のBlockされてしまったメールなどが一覧で列挙されます。

sg06

"Statistics"画面では以下のような綺麗にグラフ化されたダッシュボードが表示されます。統計情報が一目で見れるようになっているのは素敵ですね。

sg07

まとめ

今回はメール送信とその結果がどのようにアカウント画面に表示されるかを確認しただけなので、Click Trackingなどのマーケティング的な機能については確認出来ていませんが、全体的に丁寧な使いやすい作りになっているなと感じました。REST APIなども用意されているので、開発する上での柔軟性も高いように思います。他の機能についても試してみたいと思います!