SendGridを使ってrubyでメールを送信する
SendGridを使ってrubyでメール送信してみました。
まずはマニュアルに目を通しましょう。
ドキュメントホーム - ドキュメント | SendGrid
メリット
ウイルス・スパム対策ソフトを導入しなくて良いのが一番のメリットですかね。
これだけでお金を払う価値があると思ってます。
個人的にはサーバーレスなのも嬉しいですね。
せっかくメインのアプリケーションをAWSでサーバレス化しても、メールのためにサーバが増えていくとおいしくないですからね。
メール送信
SendGridでは、Web APIとSMTPでメールを利用できます。
既存の仕組みを置き換える場合など、SMTPで送れるのは嬉しいですね。
置き換えの場合は、SMTPサーバの設定にSendGridサーバとSendGridアカウントの認証情報を指定するだけで良いみたいです。
postfixで実現する場合は、こちらを参考にすればできそうです。
Postfixでメール送信 - ドキュメント | SendGrid
ホントはpostfixで実現したいのでこれだけ試せればいいのですが、せっかくなので他の機能も見ておきます。そして試してみます。
下に試してみたい機能を載せておきます。
- Web API限定の機能
- 宛先ごとに異なる文字列を本文や件名に埋め込んで送信する
- テンプレートを適用して送信
- マーケティングメール(メルマガ)の一斉送信
メール受信
アプリケーションでのメール受信にはInbound Parse Webhook を使います。
Inbound Parse Webhook - ドキュメント | SendGrid
受信したメールをPOSTする作りになってるので、アプリケーションの作りによっては修正が必要ですね。
rubyでメール送信
rubyでメール送信してみましたのでメモしておきます。
アカウント作成
仮登録から10時間ほどでアカウントが作成されました。
新規会員登録 | SendGrid
API Key 取得
ログインしてから、リンク先のCreate API Key ボタンから作成してください。
https://app.sendgrid.com/settings/api_keys
アクセス権もこのとき細かく指定することができます。
APIキーは一度しか表示されないのでメモしておきましょう。
コード
gista3e6a174a0c72f8524483cf151d65109
api_keyには上で取得したAPIキーを、toには自分の使っているgmailを指定しました。
ただ送るだけならfromは任意のアドレスで大丈夫です。
届いたメールを確認
gmailで確認。
適当に決めたアドレスからなので、sendgrid.net 経由と書かれていることがわかります。
なりすまし防止を考える場合は、独自ドメインの設定をする必要があります。
独自ドメインを利用するには | ブログ | SendGrid
独自ドメインを利用するためには、Silver以上にする必要があるので9480/月が必要ですね。
統計情報の確認
いろいろ統計情報が見れるみたいですね。
統計情報を確認する - ドキュメント | SendGrid
1通送った後に見ると、REQUESTSが1に、UNIQUE OPENSが0になってるのがわかりますね。
UNIQUE CLICKSやSPAM REPORTSで、メール本文中のリンクをクリックした回数や、迷惑メールとして報告された件数などがわかります。