Amazon SES에서 이메일 수신을 위한 IP 주소 필터 사용 - AWS SDK for JavaScript

곧 AWS SDK for JavaScript(v2)에 대한 지원이 종료될 예정임을 알려드립니다. AWS SDK for JavaScript v3로 마이그레이션하실 것을 권장합니다. 마이그레이션 날짜, 추가 세부 정보 및 방법에 대한 자세한 내용은 링크된 공지 사항을 참조하세요.

Amazon SES에서 이메일 수신을 위한 IP 주소 필터 사용

JavaScript code example that applies to Node.js execution

이 Node.js 코드 예제는 다음을 보여 줍니다.

  • 특정 IP 주소 또는 특정 범위의 IP 주소에서 발신한 메일을 수락하거나 거부하기 위한 IP 주소 필터를 생성합니다.

  • 현재 IP 주소 필터를 나열합니다.

  • IP 주소 필터를 삭제합니다.

Amazon SES에서 필터는 이름, IP 주소 범위, 해당 범위의 메일 허용 또는 차단 여부로 구성되는 데이터 구조입니다. 차단하거나 허용하려는 IP 주소는 CIDR(클래스 없는 도메인 간 라우팅) 표기법으로 단일 IP 주소 또는 IP 주소 범위로 지정됩니다. Amazon SES가 이메일을 수신하는 방법에 대한 자세한 내용은 Amazon Simple Email Service 개발자 안내서의 Amazon SES 이메일 수신 개념 섹션을 참조하세요.

시나리오

이 예제에서는 일련의 Node.js 모듈을 사용하여 다양한 방법으로 이메일을 전송합니다. 이 Node.js 모듈은 SDK for JavaScript에서 AWS.SES 클라이언트 클래스의 다음 메서드를 사용하여 이메일 템플릿을 생성하고 사용합니다.

사전 필수 작업

이 예제를 설정하고 실행하려면 먼저 이러한 작업들을 완료해야 합니다.

SDK 구성

글로벌 구성 객체를 생성한 후 코드에 대한 리전을 설정하여 SDK for JavaScript를 구성합니다. 이 예제에서 리전이 us-west-2로 설정되어 있습니다.

// Load the SDK for JavaScript var AWS = require('aws-sdk'); // Set the Region AWS.config.update({region: 'us-west-2'});

IP 주소 필터 생성

이 예제에서는 Node.js 모듈을 사용하여 Amazon SES에서 이메일을 전송합니다. 파일 이름이 ses_createreceiptfilter.js인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성합니다.

필터 이름, 필터링할 IP 주소 또는 주소 범위, 필터링된 주소에서 오는 이메일 트래픽을 허용 또는 차단할지 여부를 포함하여 IP 필터를 정의하는 파라미터 값을 전달할 객체를 생성합니다. createReceiptFilter 메서드를 호출하려면 파라미터를 전달하는 Amazon SES 서비스 객체를 호출하기 위한 promise를 생성합니다. 그런 다음 promise 콜백에서 response를 처리합니다.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create createReceiptFilter params var params = { Filter: { IpFilter: { Cidr: "IP_ADDRESS_OR_RANGE", Policy: "Allow" | "Block", }, Name: "NAME", }, }; // Create the promise and SES service object var sendPromise = new AWS.SES({ apiVersion: "2010-12-01" }) .createReceiptFilter(params) .promise(); // Handle promise's fulfilled/rejected states sendPromise .then(function (data) { console.log(data); }) .catch(function (err) { console.error(err, err.stack); });

예제를 실행하려면 명령줄에서 다음을 입력합니다. Amazon SES에 필터가 생성됩니다.

node ses_createreceiptfilter.js

이 샘플 코드는 GitHub에서 찾을 수 있습니다.

IP 주소 필터 나열

이 예제에서는 Node.js 모듈을 사용하여 Amazon SES에서 이메일을 전송합니다. 파일 이름이 ses_listreceiptfilters.js인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성합니다.

비어 있는 파라미터 객체를 생성합니다. listReceiptFilters 메서드를 호출하려면 파라미터를 전달하는 Amazon SES 서비스 객체를 호출하기 위한 promise를 생성합니다. 그런 다음 promise 콜백에서 response를 처리합니다.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the promise and SES service object var sendPromise = new AWS.SES({ apiVersion: "2010-12-01" }) .listReceiptFilters({}) .promise(); // Handle promise's fulfilled/rejected states sendPromise .then(function (data) { console.log(data.Filters); }) .catch(function (err) { console.error(err, err.stack); });

예제를 실행하려면 명령줄에서 다음을 입력합니다. Amazon SES가 필터 목록을 반환합니다.

node ses_listreceiptfilters.js

이 샘플 코드는 GitHub에서 찾을 수 있습니다.

IP 주소 필터 삭제하기

이 예제에서는 Node.js 모듈을 사용하여 Amazon SES에서 이메일을 전송합니다. 파일 이름이 ses_deletereceiptfilter.js인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성합니다.

삭제할 IP 필터의 이름을 전달할 객체를 생성합니다. deleteReceiptFilter 메서드를 호출하려면 파라미터를 전달하는 Amazon SES 서비스 객체를 호출하기 위한 promise를 생성합니다. 그런 다음 promise 콜백에서 response를 처리합니다.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the promise and SES service object var sendPromise = new AWS.SES({ apiVersion: "2010-12-01" }) .deleteReceiptFilter({ FilterName: "NAME" }) .promise(); // Handle promise's fulfilled/rejected states sendPromise .then(function (data) { console.log("IP Filter deleted"); }) .catch(function (err) { console.error(err, err.stack); });

예제를 실행하려면 명령줄에서 다음을 입력합니다. Amazon SES에서 필터가 삭제됩니다.

node ses_deletereceiptfilter.js

이 샘플 코드는 GitHub에서 찾을 수 있습니다.