AWS API, CLI 활용하기

이재홍 http://www.pyrasis.com 2014.03.24 ~ 2014.06.30

SES

SES로 메일을 보내는 방법은 다음과 같습니다.

  • SES는 Tokyo(ap-northeast-1) 리전에 없으므로 Oregon(us-west-2) 리전을 사용합니다.
  • Destination: 배열 형태로 받는 사람, 참조, 숨은 참조를 설정합니다.
  • Message: 메일의 제목과 내용을 설정합니다. Body에서 Text 키 대신 Html 키를 사용하면 HTML 메일을 보낼 수 있습니다.
  • Source: 보내는 사람 이메일 주소를 설정합니다. SES에서 인증한 이메일 주소나 도메인으로 설정해야 합니다.
  • ReplyToAddresses: 답장을 받을 이메일 주소를 설정합니다.
  • ReturnPath: 리턴 메일을 받을 이메일 주소를 설정합니다.

SES를 사용하는 방법은 ‘27장 이메일 전송 서비스 SES’를 참조하기 바랍니다.

ses_1.js

var AWS = require('aws-sdk');
AWS.config.loadFromPath('./config.json');
AWS.config.update({ region: 'us-west-2' });

var ses = new AWS.SES();

var params = {
  Destination: { // 필수
    BccAddresses: [],
    CcAddresses: [],
    ToAddresses: [ 'user1@example.net' ]
  },
  Message: { // 필수
    Body: { // 필수
      Text: {
        Data: 'Hello SES', // 필수
        Charset: 'utf-8'
      },
    },
    Subject: { // 필수
      Data: 'Hello', // 필수
      Charset: 'utf-8'
    }
  },
  Source: 'admin@example.net', // 필수
  ReplyToAddresses: [],
  ReturnPath: 'return@example.net'
};

ses.sendEmail(params, function (err, data) {
  if (err)
    console.log(err, err.stack);
  else
    console.log(data);
});

받는 사람을 JSON 형태로 작성합니다.

{
  "BccAddresses": [],
  "CcAddresses": [],
  "ToAddresses": [ "user1@example.net" ]
}

메일의 제목과 내용을 JSON 형태로 작성합니다.

{
  "Body": {
    "Text": {
      "Data": "Hello SES",
      "Charset": "utf-8"
    }
  },
  "Subject": {
    "Data": "Hello",
    "Charset": "utf-8"
  }
}

--destination, --message 옵션에 작성한 JSON을 한 줄로 만들고 ' '(작은 따옴표)로 묶어서 설정합니다.

AWS CLI

$ aws ses send-email --from admin@example.net --destination '{ "BccAddresses": [], "CcAddresses": [], "ToAddresses": [ "user1@example.net" ] }' --message '{ "Body": { "Text": { "Data": "Hello SES", "Charset": "utf-8" } }, "Subject": { "Data": "Hello", "Charset": "utf-8" } }' --region=us-west-2

SES의 메일 전송 할당량, 보낸 메일 개수, 초당 전송 한계를 조회하는 방법은 다음과 같습니다.

ses_2.js

var AWS = require('aws-sdk');
AWS.config.loadFromPath('./config.json');
AWS.config.update({ region: 'us-west-2' });

var ses = new AWS.SES();

ses.getSendQuota({}, function (err, data) {
  if (err)
    console.log(err, err.stack);
  else
    console.log(data);
});

AWS CLI

$ aws ses get-send-quota --region=us-west-1

다른 함수들의 사용 방법은 링크를 참조하기 바랍니다.
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SES.html


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.