를 사용한 Amazon SES 예제 AWS CLI - AWS SDK 코드 예제

AWS Doc SDK ExamplesWord AWS SDK 리포지토리에는 더 많은 GitHub 예제가 있습니다.

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

를 사용한 Amazon SES 예제 AWS CLI

다음 코드 예제에서는 Amazon SES AWS Command Line Interface 와 함께를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.

주제

작업

다음 코드 예시에서는 delete-identity을 사용하는 방법을 보여 줍니다.

AWS CLI

자격 증명을 삭제하려면

다음 예제에서는 delete-identity 명령을 사용하여 Amazon SES로 확인된 자격 증명 목록에서 자격 증명을 삭제합니다.

aws ses delete-identity --identity user@example.com

확인된 자격 증명에 대한 자세한 내용은 Amazon Simple Email Service 개발자 안내서의 Amazon SES에서 이메일 주소 및 도메인 확인을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조DeleteIdentity를 참조하세요.

다음 코드 예시에서는 get-identity-dkim-attributes을 사용하는 방법을 보여 줍니다.

AWS CLI

자격 증명 목록에 대한 Amazon SES Easy DKIM 속성을 가져오려면

다음 예제에서는 get-identity-dkim-attributes 명령을 사용하여 자격 증명 목록에 대한 Amazon SES Easy DKIM 속성을 검색합니다.

aws ses get-identity-dkim-attributes --identities "example.com" "user@example.com"

출력:

{ "DkimAttributes": { "example.com": { "DkimTokens": [ "EXAMPLEjcs5xoyqytjsotsijas7236gr", "EXAMPLEjr76cvoc6mysspnioorxsn6ep", "EXAMPLEkbmkqkhlm2lyz77ppkulerm4k" ], "DkimEnabled": true, "DkimVerificationStatus": "Success" }, "user@example.com": { "DkimEnabled": false, "DkimVerificationStatus": "NotStarted" } } }

확인을 위해 제출한 적이 없는 자격 증명을 사용하여 이 명령을 직접적으로 호출하는 경우 해당 자격 증명은 출력에 표시되지 않습니다.

Easy DKIM에 대한 자세한 내용은 Amazon Simple Email Service 개발자 안내서의 Amazon DKIM의 Easy SES를 참조하세요.

다음 코드 예시에서는 get-identity-notification-attributes을 사용하는 방법을 보여 줍니다.

AWS CLI

자격 증명 목록에 대한 Amazon SES 알림 속성을 가져오려면

다음 예제에서는 get-identity-notification-attributes 명령을 사용하여 자격 증명 목록에 대한 Amazon SES 알림 속성을 검색합니다.

aws ses get-identity-notification-attributes --identities "user1@example.com" "user2@example.com"

출력:

{ "NotificationAttributes": { "user1@example.com": { "ForwardingEnabled": false, "ComplaintTopic": "arn:aws:sns:us-east-1:EXAMPLE65304:MyTopic", "BounceTopic": "arn:aws:sns:us-east-1:EXAMPLE65304:MyTopic", "DeliveryTopic": "arn:aws:sns:us-east-1:EXAMPLE65304:MyTopic" }, "user2@example.com": { "ForwardingEnabled": true } } }

이 명령은 이메일 피드백 전달의 상태를 반환하고, 해당하는 경우 반송, 수신 거부 및 전송 알림이 전송되는 Amazon SNS 주제의 Amazon 리소스 이름(ARNs)을 반환합니다.

확인을 위해 제출한 적이 없는 자격 증명을 사용하여 이 명령을 직접적으로 호출하는 경우 해당 자격 증명은 출력에 표시되지 않습니다.

알림에 대한 자세한 내용은 Amazon Simple Email Service 개발자 안내서의 Amazon SES에서 알림 사용을 참조하세요.

다음 코드 예시에서는 get-identity-verification-attributes을 사용하는 방법을 보여 줍니다.

AWS CLI

자격 증명 목록에 대한 Amazon SES 확인 상태를 가져오려면

다음 예제에서는 get-identity-verification-attributes 명령을 사용하여 자격 증명 목록에 대한 Amazon SES 확인 상태를 검색합니다.

aws ses get-identity-verification-attributes --identities "user1@example.com" "user2@example.com"

출력:

{ "VerificationAttributes": { "user1@example.com": { "VerificationStatus": "Success" }, "user2@example.com": { "VerificationStatus": "Pending" } } }

확인을 위해 제출한 적이 없는 자격 증명을 사용하여 이 명령을 직접적으로 호출하는 경우 해당 자격 증명은 출력에 표시되지 않습니다.

확인된 자격 증명에 대한 자세한 내용은 Amazon Simple Email Service 개발자 안내서의 Amazon SES에서 이메일 주소 및 도메인 확인을 참조하세요.

다음 코드 예시에서는 get-send-quota을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon SES 전송 제한을 가져오려면

다음 예제에서는 get-send-quota 명령을 사용하여 Amazon SES 전송 제한을 반환합니다.

aws ses get-send-quota

출력:

{ "Max24HourSend": 200.0, "SentLast24Hours": 1.0, "MaxSendRate": 1.0 }

Max24HourSend 는 24시간 동안 보낼 수 있는 최대 이메일 수인 전송 할당량입니다. 발신 할당량은 롤링 기간을 반영합니다. 이메일을 보내려고 할 때마다 Amazon SES는 이전 24시간 동안 보낸 이메일 수를 확인합니다. 보낸 이메일의 총 수가 할당량보다 낮으면 전송 요청이 수락되고 이메일이 전송됩니다.

SentLast24Hours는 이전 24시간 동안 전송한 이메일 수입니다.

MaxSendRate 는 초당 전송할 수 있는 최대 이메일 수입니다.

발신 한도는 메시지 수가 아닌 수신자 수를 기준으로 한다는 점에 유의하세요. 예를 들어, 수신자가 10명인 이메일은 전송 할당량에서 10개로 간주됩니다.

자세한 내용은 Amazon Simple Email Service 개발자 안내서의 Amazon SES 전송 한도 관리를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조GetSendQuota를 참조하세요.

다음 코드 예시에서는 get-send-statistics을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon SES 전송 통계를 가져오려면

다음 예제에서는 get-send-statistics 명령을 사용하여 Amazon SES 전송 통계를 반환합니다.

aws ses get-send-statistics

출력:

{ "SendDataPoints": [ { "Complaints": 0, "Timestamp": "2013-06-12T19:32:00Z", "DeliveryAttempts": 2, "Bounces": 0, "Rejects": 0 }, { "Complaints": 0, "Timestamp": "2013-06-12T00:47:00Z", "DeliveryAttempts": 1, "Bounces": 0, "Rejects": 0 } ] }

그 결과 지난 2주간의 전송 활동을 나타내는 데이터 포인트 목록이 표시됩니다. 목록의 각 데이터 포인트에는 15분 간격의 통계가 포함됩니다.

이 예제에서는 지난 2주 동안 사용자가 보낸 유일한 이메일이 2개의 15분 간격 내에 속했기 때문에 데이터 포인트가 2개뿐입니다.

자세한 내용은 Amazon Simple Email Service 개발자 안내서의 Amazon SES 사용 통계 모니터링을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조GetSendStatistics를 참조하세요.

다음 코드 예시에서는 list-identities을 사용하는 방법을 보여 줍니다.

AWS CLI

특정 AWS 계정의 모든 자격 증명(이메일 주소 및 도메인)을 나열하려면

다음 예제에서는 list-identities 명령을 사용하여 Amazon SES로 검증하기 위해 제출된 모든 자격 증명을 나열합니다.

aws ses list-identities

출력:

{ "Identities": [ "user@example.com", "example.com" ] }

반환되는 목록에는 확인 상태(확인됨, 확인 보류 중, 실패 등)와 상관없이 모든 자격 증명이 포함됩니다.

이 예제에서는 자격 증명 유형 파라미터를 지정하지 않았으므로 이메일 주소와 도메인이 모두 반환됩니다.

확인에 대한 자세한 내용은 Amazon Simple Email Service 개발자 안내서의 Amazon SES에서 이메일 주소 및 도메인 확인을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조ListIdentities를 참조하세요.

다음 코드 예시에서는 send-email을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon SES를 사용하여 형식이 지정된 이메일을 보내려면

다음 예제에서는 send-email 명령을 사용하여 서식이 지정된 이메일을 보냅니다.

aws ses send-email --from sender@example.com --destination file://destination.json --message file://message.json

출력:

{ "MessageId": "EXAMPLEf3a5efcd1-51adec81-d2a4-4e3f-9fe2-5d85c1b23783-000000" }

대상과 메시지는 현재 디렉터리의 .json 파일에 저장된 JSON 데이터 구조입니다. 이러한 파일은 다음과 같습니다.

destination.json:

{ "ToAddresses": ["recipient1@example.com", "recipient2@example.com"], "CcAddresses": ["recipient3@example.com"], "BccAddresses": [] }

message.json:

{ "Subject": { "Data": "Test email sent using the AWS CLI", "Charset": "UTF-8" }, "Body": { "Text": { "Data": "This is the message body in text format.", "Charset": "UTF-8" }, "Html": { "Data": "This message body contains HTML formatting. It can, for example, contain links like this one: <a class=\"ulink\" href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide\" target=\"_blank\">Amazon SES Developer Guide</a>.", "Charset": "UTF-8" } } }

발신자 및 수신자 이메일 주소를 사용하려는 주소로 바꿉니다. 발신자의 이메일 주소는 Amazon SES로 확인해야 합니다. Amazon SES에 대한 프로덕션 액세스 권한이 부여될 때까지 수신자가 Amazon SES 사서함 시뮬레이터가 아닌 한 각 수신자의 이메일 주소도 확인해야 합니다. 확인에 대한 자세한 내용은 Amazon Simple Email Service 개발자 안내서의 Amazon SES에서 이메일 주소 및 도메인 확인을 참조하세요.

출력의 Message ID는 직접적인 send-email 호출이 성공했음을 나타냅니다.

이메일을 받지 못한 경우 정크 박스를 확인해 보세요.

형식이 지정된 이메일 전송에 대한 자세한 내용은 Amazon Simple Email Service 개발자 안내서의 Amazon API SES를 사용하여 형식이 지정된 이메일 전송을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조SendEmail를 참조하세요.

다음 코드 예시에서는 send-raw-email을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon SES를 사용하여 원시 이메일을 보내려면

다음 예제에서는 send-raw-email 명령을 사용하여 TXT 첨부 파일이 포함된 이메일을 보냅니다.

aws ses send-raw-email --raw-message file://message.json

출력:

{ "MessageId": "EXAMPLEf3f73d99b-c63fb06f-d263-41f8-a0fb-d0dc67d56c07-000000" }

원시 메시지는 message.json 현재 디렉터리에 이름이 지정된 파일에 저장된 JSON 데이터 구조입니다. 이는 다음을 포함합니다.

{ "Data": "From: sender@example.com\nTo: recipient@example.com\nSubject: Test email sent using the AWS CLI (contains an attachment)\nMIME-Version: 1.0\nContent-type: Multipart/Mixed; boundary=\"NextPart\"\n\n--NextPart\nContent-Type: text/plain\n\nThis is the message body.\n\n--NextPart\nContent-Type: text/plain;\nContent-Disposition: attachment; filename=\"attachment.txt\"\n\nThis is the text in the attachment.\n\n--NextPart--" }

보시다시피 '데이터'는 attachment.txt라는 첨부 파일을 포함하여 원시 이메일 콘텐츠 전체를 MIME 형식으로 포함하는 긴 문자열입니다.

sender@example.com 및 recipient@example.com을 사용하려는 주소로 바꿉니다. 발신자의 이메일 주소는 Amazon SES로 확인해야 합니다. Amazon SES에 대한 프로덕션 액세스 권한이 부여될 때까지 수신자가 Amazon SES 사서함 시뮬레이터가 아닌 한 수신자의 이메일 주소도 확인해야 합니다. 확인에 대한 자세한 내용은 Amazon Simple Email Service 개발자 안내서의 Amazon SES에서 이메일 주소 및 도메인 확인을 참조하세요.

출력의 메시지 ID는 send-raw-email에 대한 호출이 성공했음을 나타냅니다.

이메일을 받지 못한 경우 정크 박스를 확인해 보세요.

원시 이메일 전송에 대한 자세한 내용은 Amazon Simple Email Service 개발자 안내서의 Amazon API SES를 사용하여 원시 이메일 전송을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조SendRawEmail를 참조하세요.

다음 코드 예시에서는 set-identity-dkim-enabled을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon DKIM 인증 자격 증명에 대해 Easy SES를 활성화 또는 비활성화하려면

다음 예제에서는 set-identity-dkim-enabled 명령을 사용하여 확인된 이메일 주소에 대해 DKIM를 비활성화합니다.

aws ses set-identity-dkim-enabled --identity user@example.com --no-dkim-enabled

Easy DKIM에 대한 자세한 내용은 Amazon Simple Email Service 개발자 안내서의 Amazon DKIM의 Easy SES를 참조하세요.

다음 코드 예시에서는 set-identity-feedback-forwarding-enabled을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon SES 확인 자격 증명에 대한 반송 및 수신 거부 이메일 피드백 전달을 활성화 또는 비활성화하려면

다음 예제에서는 set-identity-feedback-forwarding-enabled 명령을 사용하여 확인된 이메일 주소가 이메일로 반송 및 수신 거부 알림을 수신할 수 있도록 합니다.

aws ses set-identity-feedback-forwarding-enabled --identity user@example.com --forwarding-enabled

Amazon SNS 또는 이메일 피드백 전달을 통해 반송 및 수신 거부 알림을 수신해야 하므로 반송 및 수신 거부 알림 모두에 대해 Amazon SNS 주제를 선택한 경우에만 이메일 피드백 전달을 비활성화할 수 있습니다.

알림에 대한 자세한 내용은 Amazon Simple Email Service 개발자 안내서의 Amazon SES에서 알림 사용을 참조하세요.

다음 코드 예시에서는 set-identity-notification-topic을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon SNS가 확인된 자격 증명에 대한 반송 메일, 불만 사항 및/또는 전송 알림을 게시할 Amazon SES 주제를 설정하려면

다음 예제에서는 set-identity-notification-topic 명령을 사용하여 확인된 이메일 주소가 반송 알림을 수신할 Amazon SNS 주제를 지정합니다.

aws ses set-identity-notification-topic --identity user@example.com --notification-type Bounce --sns-topic arn:aws:sns:us-east-1:EXAMPLE65304:MyTopic

알림에 대한 자세한 내용은 Amazon Simple Email Service 개발자 안내서의 Amazon SES에서 알림 사용을 참조하세요.

다음 코드 예시에서는 verify-domain-dkim을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon DKIM로 서명한 DKIM에 대해 확인된 도메인의 SES 토큰을 생성하려면

다음 예제에서는 verify-domain-dkim 명령을 사용하여 Amazon DKIM로 확인된 도메인에 대한 SES 토큰을 생성합니다.

aws ses verify-domain-dkim --domain example.com

출력:

{ "DkimTokens": [ "EXAMPLEq76owjnks3lnluwg65scbemvw", "EXAMPLEi3dnsj67hstzaj673klariwx2", "EXAMPLEwfbtcukvimehexktmdtaz6naj" ] }

DKIM를 설정하려면 반환된 DKIM 토큰을 사용하여 Amazon DNS에서 호스팅하는 DKIM 퍼블릭 키를 가리키는 CNAME 레코드로 도메인의 SES 설정을 업데이트해야 합니다. 자세한 내용은 Amazon Simple Email Service 개발자 안내서의 Amazon DKIM의 Easy SES를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조VerifyDomainDkim를 참조하세요.

다음 코드 예시에서는 verify-domain-identity을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon SES로 도메인을 확인하려면

다음 예제에서는 verify-domain-identity 명령을 사용하여 도메인을 확인합니다.

aws ses verify-domain-identity --domain example.com

출력:

{ "VerificationToken": "eoEmxw+YaYhb3h3iVJHuXMJXqeu1q1/wwmvjuEXAMPLE" }

도메인 확인을 완료하려면 반환된 확인 토큰이 포함된 TXT 레코드를 도메인의 DNS 설정에 추가해야 합니다. 자세한 내용은 Amazon Simple Email Service 개발자 안내서의 Amazon SES에서 도메인 확인을 참조하세요.

다음 코드 예시에서는 verify-email-identity을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon SES로 이메일 주소를 확인하려면

다음 예제에서는 verify-email-identity 명령을 사용하여 이메일 주소를 확인합니다.

aws ses verify-email-identity --email-address user@example.com

Amazon SES를 사용하여 이메일을 보내려면 먼저 이메일을 보내는 주소 또는 도메인을 확인하여 이메일을 소유하고 있음을 증명해야 합니다. 아직 프로덕션 액세스 권한이 없는 경우 Amazon SES 사서함 시뮬레이터에서 제공하는 이메일 주소를 제외하고 이메일을 보내는 이메일 주소도 확인해야 합니다.

After verify-email-identity가 호출되면 이메일 주소에 확인 이메일이 전송됩니다. 확인 프로세스를 완료하려면 이메일에 포함된 링크를 클릭해야 합니다.

자세한 내용은 Amazon Simple Email Service 개발자 안내서의 Amazon SES에서 이메일 주소 확인을 참조하세요.