템플릿을 사용하여 Amazon SES API를 통해 맞춤형 이메일 전송 - Amazon Simple Email Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

템플릿을 사용하여 Amazon SES API를 통해 맞춤형 이메일 전송

CreateTemplateAPI 작업을 사용하여 이메일 템플릿을 만들 수 있습니다. 이러한 템플릿에는 제목 줄과 이메일 본문의 텍스트 및 HTML 부분이 포함됩니다. 제목과 본문 섹션에는 각 수신자에 대해 맞춤화된 고유 값이 포함될 수도 있습니다.

이러한 기능을 사용할 때 몇 가지 제한 및 기타 고려 사항이 있습니다.

  • 각 템플릿에 최대 20,000개의 이메일 템플릿을 만들 수 AWS 리전있습니다.

  • 각 템플릿의 최대 크기는 텍스트 부분과 HTML 부분을 포함하여 500KB입니다.

  • 각 템플릿에 대체 변수를 무제한으로 포함시킬 수 있습니다.

  • SendBulkTemplatedEmail 작업 호출에서 최대 50개의 대상에 이메일을 보낼 수 있습니다. 대상에는 수신자 목록은 물론 CC 및 BCC 수신자 목록도 포함됩니다. 단일 API 호출에서 연락할 수 있는 대상 수는 계정의 최대 전송 속도에 의해 제한될 수 있습니다. 자세한 정보는 Amazon SES 발신 한도 관리을 참조하세요.

이 단원에는 이메일 템플릿을 만들고 맞춤형 이메일을 보내는 절차가 포함되어 있습니다.

참고

이 단원의 절차는 또한 AWS CLI을(를) 이미 설치하여 구성한 상태를 전제로 설명합니다. 설치 및 구성에 대한 자세한 내용은 AWS Command Line Interface 사용 설명서를 참조하십시오. AWS CLI

1부: 렌더링 오류 이벤트 알림 설정

잘못된 맞춤형 콘텐츠가 포함된 이메일을 전송하는 경우 Amazon SES에서 메시지를 허용할 수는 있지만 전달할 수 없게 됩니다. 따라서 맞춤형 이메일을 전송하려면 Amazon SNS를 통해 렌더링 오류 이벤트 알림을 전송하도록 Amazon SES를 구성해야 합니다. 렌더링 오류 이벤트 알림을 수신할 때 어떤 메시지에 잘못된 콘텐츠가 있는지 식별하고, 문제를 해결한 다음 메시지를 다시 전송할 수 있습니다.

이 단원의 절차는 선택 사항이지만 강력히 권장됩니다.

렌더링 오류 이벤트 알림을 구성하려면
  1. Amazon SNS 주제를 생성합니다. 절차는 Amazon Simple Notification Service 개발자 가이드주제 생성을 참조하십시오.

  2. Amazon SNS 주제를 구독하세요. 예를 들어 렌더링 오류 알림을 이메일로 수신하고자 하는 경우 이메일 엔드포인트(이메일 주소)를 주제에 구독시킵니다.

    자세한 내용은 Amazon Simple Notification Service 개발자 가이드주제 구독을 참조하십시오.

  3. 이벤트 게시에 필요한 Amazon SNS 이벤트 대상 설정의 절차를 완료하여 구성 세트를 설정해 렌더링 오류 이벤트를 Amazon SNS 주제에 게시합니다.

2부: 이메일 템플릿 생성

이 섹션에서는 CreateTemplate API 작업을 사용하여 개인화 속성이 있는 새 이메일 템플릿을 만듭니다.

이 절차는 AWS CLI를 이미 설치하여 구성한 상태를 전제로 설명합니다. 설치 및 구성에 대한 자세한 내용은 AWS Command Line Interface 사용 설명서를 참조하십시오. AWS CLI

템플릿을 생성하려면
  1. 텍스트 편집기에서 새로운 파일을 생성합니다. 다음 코드를 파일에 붙여 넣습니다.

    { "Template": { "TemplateName": "MyTemplate", "SubjectPart": "Greetings, {{name}}!", "HtmlPart": "<h1>Hello {{name}},</h1><p>Your favorite animal is {{favoriteanimal}}.</p>", "TextPart": "Dear {{name}},\r\nYour favorite animal is {{favoriteanimal}}." } }

    이 코드는 다음 속성을 포함하고 있습니다.

    • TemplateName— 템플릿의 이름. 이메일을 보낼 때 이 이름을 참조합니다.

    • SubjectPart— 이메일의 제목 줄. 이 속성에는 대체 태그가 포함될 수 있습니다. 이 태그는 {{tagname}} 형식을 사용합니다. 이메일을 보낼 때 각 대상에 대해 tagname의 값을 지정할 수 있습니다.

      이전 예에는 {{name}}{{favoriteanimal}}이라는 두 가지 태그가 포함됩니다.

    • HtmlPart— 이메일의 HTML 본문입니다. 이 속성에는 대체 태그가 포함될 수 있습니다.

    • TextPart— 이메일의 텍스트 본문. 이메일 클라이언트가 HTML 이메일을 표시하지 않는 수신자는 이 이메일 버전을 볼 수 있습니다. 이 속성에는 대체 태그가 포함될 수 있습니다.

  2. 위의 예를 필요에 맞게 사용자 지정한 다음 파일을 mytemplate.json으로 저장합니다.

  3. 명령줄에 다음 명령을 입력하여 CreateTemplate API 작업을 통해 새 템플릿을 생성합니다.

    aws ses create-template --cli-input-json file://mytemplate.json

3부: 맞춤형 이메일 보내기

이메일 템플릿을 만든 후 이를 사용하여 이메일을 보낼 수 있습니다. 템플릿을 사용하여 이메일을 보내는 데 사용할 수 있는 SendTemplatedEmailSendBulkTemplatedEmail의 두 가지 API 작업이 있습니다. SendTemplatedEmail 작업은 하나의 대상(동일한 이메일을 수신하는 "To," "CC" 및 "BCC" 수신자의 모음)으로 사용자 지정 이메일을 보내는 데 유용합니다. SendBulkTemplatedEmail 작업은 Amazon SES API에 대한 단일 호출로 여러 대상에 고유의 이메일을 보내는 데 유용합니다. 이 섹션에서는 이러한 두 가지 작업을 모두 사용하여 AWS CLI 를 사용하여 이메일을 보내는 방법의 예를 제공합니다.

단일 대상에 템플릿 이메일 전송

SendTemplatedEmail 작업을 사용하여 단일 대상으로 이메일을 전송할 수 있습니다. Destination 객체의 모든 수신자는 동일한 이메일을 수신합니다.

단일 대상으로 템플릿 이메일을 전송하려면
  1. 텍스트 편집기에서 새로운 파일을 생성합니다. 다음 코드를 파일에 붙여 넣습니다.

    { "Source":"Mary Major <mary.major@example.com>", "Template": "MyTemplate", "ConfigurationSetName": "ConfigSet", "Destination": { "ToAddresses": [ "alejandro.rosalez@example.com" ] }, "TemplateData": "{ \"name\":\"Alejandro\", \"favoriteanimal\": \"alligator\" }" }

    이 코드는 다음 속성을 포함하고 있습니다.

    • Source – 발신자의 이메일 주소입니다.

    • Template – 이메일에 적용할 템플릿의 이름입니다.

    • ConfigurationSetName— 이메일을 보낼 때 사용할 구성 집합의 이름입니다.

      참고

      렌더링 오류 이벤트를 Amazon SNS에 게시하도록 구성된 구성 세트를 사용하는 것이 좋습니다. 자세한 내용은 1부: 렌더링 오류 이벤트 알림 설정 단원을 참조하세요.

    • Destination – 수신자 주소입니다. 여러 "To," "CC" 및 "BCC" 주소를 포함할 수 있습니다. SendTemplatedEmail 작업을 사용하면 모든 수신자는 동일한 이메일을 수신합니다.

    • TemplateData— 키-값 쌍을 포함하는 이스케이프된 JSON 문자열입니다. 키는 템플릿의 변수에 해당합니다(예: {{name}}). 값은 이메일의 변수를 대체하는 콘텐츠를 나타냅니다.

  2. 이전 단계의 코드의 값을 변경하여 사용자의 요구 사항을 충족시킨 다음 myemail.json 파일로 저장합니다.

  3. 명령줄에 다음 명령을 입력하여 이메일을 보냅니다.

    aws ses send-templated-email --cli-input-json file://myemail.json

여러 대상에 템플릿 이메일 전송

SendBulkTemplatedEmail 작업을 사용하여 API에 대한 단일 호출로 여러 대상으로 이메일을 전송할 수 있습니다. Amazon SES는 각 Destination 객체의 수신자 또는 수신자들에게 고유한 이메일을 전송합니다.

여러 대상에 템플릿 이메일을 전송하려면
  1. 텍스트 편집기에서 새로운 파일을 생성합니다. 다음 코드를 파일에 붙여 넣습니다.

    { "Source":"Mary Major <mary.major@example.com>", "Template":"MyTemplate", "ConfigurationSetName": "ConfigSet", "Destinations":[ { "Destination":{ "ToAddresses":[ "anaya.iyengar@example.com" ] }, "ReplacementTemplateData":"{ \"name\":\"Anaya\", \"favoriteanimal\":\"angelfish\" }" }, { "Destination":{ "ToAddresses":[ "liu.jie@example.com" ] }, "ReplacementTemplateData":"{ \"name\":\"Liu\", \"favoriteanimal\":\"lion\" }" }, { "Destination":{ "ToAddresses":[ "shirley.rodriguez@example.com" ] }, "ReplacementTemplateData":"{ \"name\":\"Shirley\", \"favoriteanimal\":\"shark\" }" }, { "Destination":{ "ToAddresses":[ "richard.roe@example.com" ] }, "ReplacementTemplateData":"{}" } ], "DefaultTemplateData":"{ \"name\":\"friend\", \"favoriteanimal\":\"unknown\" }" }

    이 코드는 다음 속성을 포함하고 있습니다.

    • Source – 발신자의 이메일 주소입니다.

    • Template – 이메일에 적용할 템플릿의 이름입니다.

    • ConfigurationSetName— 이메일을 보낼 때 사용할 구성 세트의 이름.

      참고

      렌더링 오류 이벤트를 Amazon SNS에 게시하도록 구성된 구성 세트를 사용하는 것이 좋습니다. 자세한 내용은 1부: 렌더링 오류 이벤트 알림 설정 단원을 참조하세요.

    • Destinations – 하나 이상의 대상을 포함하는 배열입니다.

      • Destination – 수신자 주소입니다. 여러 "To," "CC" 및 "BCC" 주소를 포함할 수 있습니다. SendBulkTemplatedEmail 작업을 사용하면 Destination 객체 내의 모든 수신자는 동일한 이메일을 수신합니다.

      • ReplacementTemplateData— 키-값 쌍을 포함하는 JSON 객체입니다. 키는 템플릿의 변수에 해당합니다(예: {{name}}). 값은 이메일의 변수를 대체하는 콘텐츠를 나타냅니다.

    • DefaultTemplateData— 키-값 쌍을 포함하는 JSON 객체입니다. 키는 템플릿의 변수에 해당합니다(예: {{name}}). 값은 이메일의 변수를 대체하는 콘텐츠를 나타냅니다. 이 객체에는 대체 데이터가 포함됩니다. Destination 객체가 ReplacementTemplateData 속성의 빈 JSON 객체를 포함하고 있는 경우 DefaultTemplateData 속성의 값이 사용됩니다.

  2. 이전 단계의 코드의 값을 변경하여 사용자의 요구 사항을 충족시킨 다음 mybulkemail.json 파일로 저장합니다.

  3. 명령줄에 다음 명령을 입력하여 대량 이메일을 보냅니다.

    aws ses send-bulk-templated-email --cli-input-json file://mybulkemail.json