この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
소개
안녕하세요! 클래스메소드 금상원 입니다. 이번 블로그에서는 SES와 Lambda를 사용하여 프로그래밍 코드로 메일을 송신하는 방법을 알아보도록 하겠습니다.
목표
SES와 Lambda를 사용하여 메세지를 전송
작업 순서
- Amazon SES 자격증명
- IAM 역활 생성
- Lambda 생성 및 테스트
메일 전송 해보기
준비
Amazon SES 자격증명이 인증된 메일 주소
(아래의 블로그를 참고 해주세요)
IAM 정책
IAM 페이지의 왼쪽 메뉴에서 정책 을 클릭하고 정책 생성 버튼을 클릭합니다.
JSON 탭을 클릭한 후 아래의 코드를 입력합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ses:SendEmail",
"ses:SendRawEmail"
],
"Resource": "*"
}
]
}
「정책에 대한 참고 자료」
이름 과 정책을 확인합니다.
아래에서 태그가 있다면 확인 하고 정책 생성 버튼을 클릭하여 정책을 생성합니다.
IAM 역활
IAM 페이지의 왼쪽 메뉴에서 역활 을 클릭하고 역활 만들기 버튼을 클릭합니다.
AWS 서비스 를 선택하고 사용사례에서 Lambda 를 선택합니다. 그리고 다음 버튼을 클릭합니다.
권한 정책에서 위에서 만든 정책을 검색 하고 선택한 후 다음 버튼을 클릭합니다.
역활 이름 을 입력합니다.
정책 이름 을 확인하고 역활 생성 버튼을 클릭하여 역활을 만들어 줍니다.
람다를 이용하여 메일 전송
람다 페이지에 들어가셔서 함수 생성 버튼을 클릭합니다.
새로 작성 을 선택하고 함수 이름 을 입력하고, 런 타임을 선택하여 어떤 언어를 사용할 것인지 선택합니다.
아래의 권한에서는 위에서 만든 IAM 역활을 선택합니다. 그리고 함수 생성 버튼을 클릭합니다.
함수를 생성하시면 이렇게 코드를 입력할 수 있는 에디터가 나옵니다. 에디터에 아래의 코드를 입력해 주세요.
그런 다음 Deploy 을 클릭하여 코드를 저장하고 Test 을 클릭하여 코드를 실행 시켜 메일을 전송 합니다.
var aws = require("aws-sdk");
var ses = new aws.SES({ region: "ap-northeast-1" }); // Amazon SES 자격증명이 인증된 메일 주소의 리전 코드
exports.handler = async function (event) {
var params = {
Destination: {
ToAddresses: ["test@naver.com", "test2@gmail.com"], // 받는 사람 메일 주소
},
Message: {
Body: {
Text: { Data: "람다를 이용한 SES메일 전송 테스트" }, // 내용
},
Subject: { Data: "메일을 전송 받으셨다면 성공입니다!!" }, // 제목
},
Source: "test3@gmail.com", // 보내는 사람 메일 주소
};
return ses.sendEmail(params).promise()
};
아래의 내용을 참고하여 여러분들께 맞는 내용으로 수정해서 사용해 주세요.
- region: Amazon SES 자격증명이 인증된 메일이 있는 리전
- ToAddresses:[] 수신자 메일 주소 입력
- Body:{} 메세지 본문
- Subject:{} 메세지 제목
- Source: 송신자 메일
마무리
이번 블로그에서는 AWS SES의 sendEmail API를 이용하여 메일을 전송 하는 방법에 대해 알아보았습니다.
Lambda를 사용 하는 방법도 있지만 직접 개발중인 코드에도 사용 할 수 있습니다.
이 방법에 대해서는 아래의 내용을 참고 해주세요.
(일본어 자료인 경우 Chrome으로 페이지를 열고 우클릭 후 한국어로 번역을 한 후 참고 해주세요.)
또한 SMTP를 사용하여 메일을 전송 하는 방법도 있으니 관심이 있으신 분들은 아래의 내용을 참고해 주세요
참고 내용
본 블로그 게시글을 보시고 문의 사항이 있으신 분들은 클래스메소드코리아 (info@classmethod.kr)로 연락 주시면 빠른 시일 내 담당자가 회신 드릴 수 있도록 하겠습니다 !