Envio de e-mails para o proprietário da identidade para autorização de envio do Amazon SES
Como remetente delegado, você envia e-mails da mesma forma que outros remetentes do Amazon SES, mas fornece o nome do recurso da Amazon (ARN) da identidade que o proprietário de identidade autorizou você a usar. Quando você chama o Amazon SES para enviar o e-mail, o Amazon SES verifica se a identidade especificada tem uma política que o autoriza a enviar por ele.
Há várias formas de especificar o ARN da identidade quando você envia um e-mail. O método que você usa depende se o e-mail é enviado usando as operações de API do Amazon SES ou a interface SMTP do Amazon SES.
Importante
-
Para que um e-mail seja enviado com êxito, é necessário conectar ao endpoint do Amazon SES na região da AWS em que o proprietário da identidade a verificou.
-
Além disso, as contas da AWS de ambos, o proprietário da identidade e o remetente delegado, devem ser removidas do sandbox para que qualquer uma delas possa enviar e-mails para endereços não verificados. Para obter mais informações, consulte Solicitar acesso à produção (sair da sandbox do Amazon SES).
-
Se a identidade que você recebeu autorização para usar estiver duplicada em uma região secundária como parte do recurso Endpoints globais:
-
O proprietário da identidade deve fornecer a você um ARN de identidade com o parâmetro de região, como
us-east-1, substituído por um asterisco*, conforme o exemplo a seguir,arn:aws:ses:*:123456789012:identity/user@example.com. -
O proprietário da identidade deve criar políticas de autorização de envio para você nas regiões primária e secundária.
-
Uso da API do Amazon SES
Assim como com qualquer remetente de e-mail do Amazon SES, se você acessar o Amazon SES por meio da API do Amazon SES (diretamente por HTTPS ou indiretamente por meio de um AWS SDK), será possível escolher entre uma das três ações de envio de e-mails: SendEmail, SendTemplatedEmail e SendRawEmail. A Referência da API do Amazon Simple Email Service descreve os detalhes dessas APIs, mas fornecemos uma visão geral dos parâmetros de autorização de envio aqui.
SendRawEmail
Se você deseja usar SendRawEmail para poder controlar o formato de seus e-mails, você pode especificar a identidade autorizada delegada entre contas usando uma de duas formas:
-
Passe parâmetros opcionais para a API
SendRawEmail. Os parâmetros necessário são descritos na tabela a seguir:Parameter
Descrição
SourceArnO ARN da identidade associado à política de autorização de envio que permite que você envie para o endereço de e-mail especificado no parâmetro
SourcedeSendRawEmail.nota
Se você só especificar o
SourceArn, o Amazon SES definirá o endereço "From" (De) e os endereços "Return Path" (Caminho de retorno) para a identidade especificada emSourceArn.FromArnO ARN da identidade associado à política de autorização de envio que permite que você especifique um endereço "From" específico no cabeçalho do e-mail bruto.
ReturnPathArnO ARN da identidade associado à política de autorização de envio que permite que você use o endereço de e-mail especificado no parâmetro
ReturnPathdeSendRawEmail. -
Inclua cabeçalhos X no e-mail. Cabeçalhos X são cabeçalhos personalizados que você pode usar, além dos cabeçalhos de e-mail padrão (como os cabeçalhos De, Responder para ou Assunto). O Amazon SES reconhece três cabeçalhos X que você pode usar para especificar os parâmetros de autorização de envio:
Importante
Não inclua esses cabeçalhos X na assinatura DKIM, pois eles são removidos pelo Amazon SES antes de enviar o e-mail.
Cabeçalho X
Descrição
X-SES-SOURCE-ARNCorresponde a
SourceArn.X-SES-FROM-ARNCorresponde a
FromArn.X-SES-RETURN-PATH-ARNCorresponde a
ReturnPathArn.O Amazon SES remove todos os cabeçalhos X do e-mail antes de enviá-lo. Se você incluir várias instâncias de um cabeçalho X, o Amazon SES só usará a primeira instância.
O exemplo a seguir mostra um e-mail que inclui cabeçalhos X de autorização de envio:
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 e SendTemplatedEmail
Se você usar a operação SendEmail ou SendTemplatedEmail, poderá especificar a identidade autorizada delegada ao passar os parâmetros opcionais a seguir. Você não pode usar o método de cabeçalho X ao usar a operação SendEmail ou SendTemplatedEmail.
Parameter |
Descrição |
|---|---|
|
O ARN da identidade associado à política de autorização de envio que permite que você envie para o endereço de e-mail especificado no parâmetro |
|
O ARN da identidade associado à política de autorização de envio que permite que você use o endereço de e-mail especificado no parâmetro |
O exemplo a seguir mostra como enviar um e-mail que inclua os atributos SourceArn e ReturnPathArn usando a operação SendEmail ou SendTemplatedEmail e o SDK for Python
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'])
Uso da interface SMTP do Amazon SES
Quando você usa a interface SMTP do Amazon SES para envio entre contas, tem que incluir os cabeçalhos X-SES-SOURCE-ARN, X-SES-FROM-ARN e X-SES-RETURN-PATH-ARN em sua mensagem. Transmita esses cabeçalhos depois que executar o comando DATA na conversa SMTP.