Amazon SES 전송 권한 부여에서 자격 증명 소유자를 대신하여 이메일 전송 - Amazon Simple Email Service

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

Amazon SES 전송 권한 부여에서 자격 증명 소유자를 대신하여 이메일 전송

위임 발신자가 이메일을 전송하는 방식은 자격 증명 소유자로부터 사용 권한을 부여받은 자격 증명의 Amazon Resource Name(ARN)을 제공한다는 점을 제외하면 다른 Amazon SES 발신자와 동일합니다. 위임 발신자가 이메일 전송을 위해 Amazon SES를 호출할 때 Amazon SES는 위임 발신자가 지정한 자격 증명이 해당 위임 발신자에게 자신을 대신하여 이메일을 전송하도록 권한을 부여하는 정책을 포함하는지 확인합니다.

이메일을 전송할 때 자격 증명의 ARN을 지정하는 방법은 여러 가지가 있습니다. 사용하는 방법은 이메일을 Amazon SES API 작업 또는 Amazon SES SMTP 인터페이스를 사용하여 전송하는지 여부에 따라 결정됩니다.

중요

이메일을 성공적으로 보내려면 자격 증명 소유자가 자격 증명을 확인한 AWS 리전에 있는 Amazon SES 엔드포인트에 연결해야 합니다.

또한 자격 증명 소유자와 위임 발신자의 AWS 계정 모두를 샌드박스에서 제거해야 두 계정 중 하나가 확인되지 않은 주소로 이메일을 보낼 수 있습니다. 자세한 정보는 프로덕션 액세스 요청 (Amazon SES 샌드박스 밖으로 이동)을 참조하십시오.

Amazon SES API 사용

모든 Amazon SES 이메일 발신자와 마찬가지로 Amazon SES API를 통해 Amazon SES에 액세스하는 경우(HTTPS를 통해 직접 또는 AWS SDK를 통해 간접적으로) 세 가지의 이메일 전송 작업, 즉 SendEmail, SendTemplatedEmailSendRawEmail 중 하나를 선택할 수 있습니다. Amazon Simple Email Service API 참조에서는 이러한 API를 상세히 설명하고 있지만, 여기서는 전송 권한 부여 파라미터의 개요만 설명합니다.

SendRawEmail

이메일의 형식을 제어할 수 있도록 SendRawEmail을(를) 사용하려는 경우 다음 두 방법 중 하나로 권한이 부여된 위임 자격 증명을 지정할 수 있습니다.

  • 옵션 파라미터를 SendRawEmail API로 전달합니다. 필수 파라미터는 다음 표에 설명되어 있습니다.

    파라미터

    설명

    SourceArn

    SendRawEmailSource 파라미터에 지정된 이메일 주소에 대해 이메일을 전송하도록 허용하는 전송 권한 부여 정책과 연결된 자격 증명의 ARN.

    참고

    SourceArn만 지정하면 Amazon SES가 "From" 주소와 "Return Path" 주소를 SourceArn에 지정된 자격 증명으로 설정합니다.

    FromArn

    위임 발신자에게 원시 이메일의 헤더에 특정 "From" 주소를 지정하도록 허용하는 전송 권한 부여 정책과 연결된 자격 증명의 ARN.

    ReturnPathArn

    SendRawEmailReturnPath 파라미터에 지정된 이메일 주소를 사용하도록 허용하는 전송 권한 부여 정책과 연결된 자격 증명의 ARN.

  • 이메일에 X-헤더를 포함합니다. X-헤더는 표준 이메일 헤더(예: From, Reply-To 또는 Subject 헤더) 외에 사용할 수 있는 사용자 지정 헤더입니다. Amazon SES는 전송 권한 부여 파라미터를 지정하는 데 사용할 수 있는 세 개의 X-헤더를 인식합니다.

    중요

    DKIM 서명에는 이러한 X-헤더를 포함하지 마십시오. Amazon SES가 이메일을 전송하기 전에 이들 헤더를 제거합니다.

    X-헤더

    설명

    X-SES-SOURCE-ARN

    SourceArn에 해당합니다.

    X-SES-FROM-ARN

    FromArn에 해당합니다.

    X-SES-RETURN-PATH-ARN

    ReturnPathArn에 해당합니다.

    Amazon SES는 이메일을 전송하기 전에 해당 이메일에서 모든 X-헤더를 제거합니다. X-헤더의 여러 인스턴스를 포함하는 경우 Amazon SES는 첫 번째 인스턴스만 사용합니다.

    다음 예제는 전송 권한 부여 X-헤더를 포함하는 이메일입니다.

    X-SES-SOURCE-ARN: arn:aws:ses:us-east-1:123456789012:identity/example.com X-SES-FROM-ARN: arn:aws:ses:us-east-1:123456789012:identity/example.com X-SES-RETURN-PATH-ARN: arn:aws:ses:us-east-1:123456789012:identity/example.com From: sender@example.com To: recipient@example.com Return-Path: feedback@example.com Subject: subject Content-Type: multipart/alternative; boundary="----=_boundary" ------=_boundary Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit body ------=_boundary Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit body ------=_boundary--

SendEmail 및 SendTemplatedEmail

SendEmail 또는 SendTemplatedEmail 작업을 사용하는 경우 아래의 선택적 파라미터를 전달하여 권한이 부여된 위임 자격 증명을 지정할 수 있습니다. SendEmail 또는 SendTemplatedEmail 작업을 사용하면 X-헤더 방법을 사용할 수 없습니다.

파라미터

설명

SourceArn

SendEmail 또는 SendTemplatedEmailSource 파라미터에 지정된 이메일 주소에 대해 이메일을 전송하도록 허용하는 전송 권한 부여 정책과 연결된 자격 증명의 ARN.

ReturnPathArn

SendEmail 또는 SendTemplatedEmailReturnPath 파라미터에 지정된 이메일 주소를 사용하도록 허용하는 전송 권한 부여 정책과 연결된 자격 증명의 ARN.

다음 예제에서는 SendEmail 또는 SendTemplatedEmail 작업과 SDK for Python을 사용하여 SourceArnReturnPathArn 속성이 포함된 이메일을 보내는 방법을 보여줍니다.

import boto3 from botocore.exceptions import ClientError # Create a new SES resource and specify a region. client = boto3.client('ses',region_name="us-east-1") # Try to send the email. try: #Provide the contents of the email. response = client.send_email( Destination={ 'ToAddresses': [ 'recipient@example.com', ], }, Message={ 'Body': { 'Html': { 'Charset': 'UTF-8', 'Data': 'This email was sent with Amazon SES.', }, }, 'Subject': { 'Charset': 'UTF-8', 'Data': 'Amazon SES Test', }, }, SourceArn='arn:aws:ses:us-east-1:123456789012:identity/example.com', ReturnPathArn='arn:aws:ses:us-east-1:123456789012:identity/example.com', Source='sender@example.com', ReturnPath='feedback@example.com' ) # Display an error if something goes wrong. except ClientError as e: print(e.response['Error']['Message']) else: print("Email sent! Message ID:"), print(response['ResponseMetadata']['RequestId'])

Amazon SES SMTP 인터페이스 사용

위임 전송을 위해 Amazon SES SMTP 인터페이스를 사용하는 경우 메시지에 X-SES-SOURCE-ARN, X-SES-FROM-ARNX-SES-RETURN-PATH-ARN 헤더를 포함해야 합니다. SMTP 대화에서 DATA 명령을 발급한 후에 이 헤더를 전달하세요.