Tech Sketch Bucket of Technical Chips by TIS Inc.

Amazon SES で Node.js からメール送信!

Pocket

この記事はeXcale Developer's Blogから移転されたものです。

eXcale 開発チームの松尾です。

今回は、Amazon SES 経由で、Node.js のアプリからメールを送信する方法をご紹介します。

ご紹介する題目は以下の通りです。

  • Amazon SES 経由で Node.js からメールを送信するには?
  • Nodemailer で Amazon SES API を利用する
  • 実際に Amazon SES でメール送信してみる

Amazon SES 経由で Node.js からメールを送信するには?

Amazon SES 経由で Node.js からメールを送信するには、Amazon SES API を利用する方法があります。
今回は Amazon SES API を利用してメールを送信するため、Node.js で Nodemailer というモジュールを使います。

Nodemailer は Node.js でメールを送信するためのモジュールです。このモジュールでは、様々な方法でメール送信を行うことができ、Amazon SES API を利用してメール送信を行うことも可能です。

モジュールのインストールは npm を使って簡単に行うことができます。


Nodemailer で Amazon SES API を利用する

ここでは、Nodemailer を使い、Amazon SES API を利用してメールを送信する方法について説明します。
以下の3ステップで、Amazon SES 経由で簡単にメールを送信することができます。

1. 送信方法に Amazon SES を設定する

2. メール内容を設定する

メール内容で、ここで紹介しているもの以外に設定できるパラメータについては、こちらをご覧ください

3. メールを送信する

以上の3ステップで、Amazon SES 経由でメールを送信することができます。


Amazon SES でメール送信するアプリを eXcale にデプロイする

ここでは、フォームの入力内容を Amazon SES 経由でメール送信するアプリを eXcale にデプロイしてみます。

アプリを作成する環境は以下の通りです。

  • Node.js: v0.10.28
  • express-generator: 4.2.0
  • nodemailer: 0.6.5

まず下記のコマンドを実行し、express の雛形アプリを作成します。

雛形アプリが作成できたら、ディレクトリ配下の package.json を編集し、Nodemailer を利用できるようにしておきます。

package.json の編集が終わったら、フォームで入力した内容をメールで通知するように、views/index.jade と routes/index.js を編集します。
routes/index.js で設定する送信元メールアドレスは Amazon SES で認証したものを設定します。

今回作成した雛形アプリには、./bin 配下に www という名前でアプリの起動用ファイルが作成されていますので、これを実行します。

以下の画面が出ればアプリにアクセスできています。

フォームに適当な値を入力して、送信しましょう。以下の画面が表示されればメール送信ができています。

受信したメールを確認してみます。Gmail で受信した場合には、Amazon SES 経由でメールが送信されていることが確認できます。


最後に

今回は、Amazon SES 経由で、Node.js のアプリからメールを送信する方法をご紹介しました。Node.jsのアプリでメールを送る必要がある場合はぜひ参考にしてみてください。

エンジニア採用中!私たちと一緒に働いてみませんか?