"Diary" インターネットさんへの恩返し

いつもソースコードコピペばかりなので,みなさまへ少しばかりの恩返しを

AWS SDK for Node.jsを使ってSESでメールを飛ばすまで



スポンサーリンク

Nodemailerを使っていたけど、なんか、失敗することが多くなってきたのでSESを使うことにした。その手順をメモ。

1.SES利用登録

  1. http://aws.amazon.com/ からログイン。
  2. リージョンをN.Virginiaを選ぶ(2014/05/07時点ではtokyoは無いみたい)。
  3. コンソールからSESのリンクをクリック
  4. 左メニュー「SMTP Settings」をクリック
  5. 「Create My SMTP Credentials」をクリック
  6. IAM Userをデフォルトのままcreate(これなにに使うかわからん)
  7. Credential情報をコピー
  8. 左メニューの「Suppression List Removal」をクリック
  9. メールアドレス入力し、画像認証後、sendをクリック
  10. 送信元アドレスの登録。左メニューの「Verified Senders」 > 「Email Addresses」をクリック
  11. 「Verify new email address」をクリック
  12. 送信元メールアドレスの存在確認のためアドレスを入力し、送信。
  13. メールが届くことを確認。
  14. メール内のリンクをクリック
  15. コンソール側で「verified」になったことを確認

2.AWS SDK for JavaScript in Node.jsのインストール

npm install aws-sdk

ルートディレクトリに config.jsonファイルを作成し以下の情報を記入。

{ "accessKeyId": "akid", "secretAccessKey": "secret", "region": "user-region" }

region/endpoint早見表

node.jsのプログラムを書く。

    var AWS = require('aws-sdk'); 
    AWS.config.loadFromPath('./config.json');
    var ses = new AWS.SES({apiVersion: '2010-12-01'});

    // send to list
    var to = ['送信先メールアドレス']

    // this must relate to a verified SES account
    var from = '送信元メールアドレス'


    // this sends the email
    // @todo - add HTML version
    ses.sendEmail({ 
       Source       : from, 
       Destination  : { ToAddresses: to },
       Message:{
           Subject  : {
              Data: 'This is subject'
           },
           Body: {
               Text: {
                   Data: 'This is body',
               }
            }
       }
    }
    ,function(err, data) {
        if(err) throw err
            console.log('Email sent:');
            console.log(data);
    });

こちら正式のAPIヘルプ