2016年6月9日木曜日

lambda(node.js)を使ってSESのEメール検証(verify email address)を行う的なお話

  • このエントリーをはてなブックマークに追加

普通はSESを使う際にEメールでの検証というよりも、ドメインでの検証をすることが多いが、
サービスの特性によってはサービスに登録したメールアドレスでSESメールを送信したいとかそういうことがあると思う。
そうなるといちいち認証をしないといけないんだけど、AWSのコンソールからやるとなるとかなり面倒l。

ってことでAPIとしてそういった認証ができるといいよね的なと思って今日はそのお話をば。

上の図はcurlで認証を行うには的なやつ。
とりあえずnode.jsでメールアドレスの検証を行うjsは下記になる。

var AWS = require('aws-sdk');

var ses = new AWS.SES({apiVersion:'2010-12-01'});

var params = {
  EmailAddress:'hoge@hogehoge.com'
};
ses.verifyEmailIdentity(params,function(err,data){
  if(err){
    console.log(err, err.stack);
  }
  else{
    console.log(data);
  }
});

ってことでこれだけで簡単に認証ができるのでOK。
ちなみにlambdaファンクションを作るときに使うポリシーはSESのVerifyEmailIdentityとなっている。

ってな感じであとはこれに対してAPI的に引数だなんだとかそういうのをつけて、
API Gatewayで作っちゃえばもう完成っていうすごく便利な感じ。

とりあえずこういう面倒な作業だなんだとかはlambda使って逃してあげるとすごく楽になっていいよね的な。

Adsense