템플릿을 사용하여 Amazon으로 개인화된 이메일 전송 SES API - Amazon Simple Email Service

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

템플릿을 사용하여 Amazon으로 개인화된 이메일 전송 SES API

CreateTemplate API 작업을 사용하여 이메일 템플릿을 생성할 수 있습니다. 이러한 템플릿에는 제목 줄과 이메일 본문의 텍스트 및 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 을 통해 렌더링 실패 이벤트 알림을 보내SES도록 Amazon을 구성해야 합니다SNS. 렌더링 오류 이벤트 알림을 수신할 때 어떤 메시지에 잘못된 콘텐츠가 있는지 식별하고, 문제를 해결한 다음 메시지를 다시 전송할 수 있습니다.

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

렌더링 오류 이벤트 알림을 구성하려면
  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부: 맞춤형 이메일 보내기

이메일 템플릿을 만든 후 이를 사용하여 이메일을 보낼 수 있습니다. 템플릿을 사용하여 이메일을 보내는 데 사용할 수 있는 API 작업은 SendTemplatedEmail, 및 두 가지가 있습니다SendBulkTemplatedEmail. 이 SendTemplatedEmail 작업은 사용자 지정 이메일을 단일 대상(동일한 이메일을 수신할 '받는 사람', 'CC', '받는 사람BCC' 모음)으로 보내는 데 유용합니다. 이 SendBulkTemplatedEmail 작업은 Amazon 로 한 번의 호출로 여러 대상으로 고유한 이메일을 보내는 데 유용합니다SESAPI. 이 섹션에서는 를 사용하여 이러한 두 작업을 모두 사용하여 이메일을 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 – 수신자 주소입니다. 여러 “받는 사람”, “CC”, “주소BCC”를 포함할 수 있습니다. SendTemplatedEmail 작업을 사용하면 모든 수신자는 동일한 이메일을 수신합니다.

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

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

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

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

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

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

여러 대상에 템플릿 이메일을 전송하려면
  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 – 수신자 주소입니다. 여러 “받는 사람”, “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