Senden von E-Mails im Namen des Identitätsbesitzers im Zusammenhang mit der Amazon-SES-Sendeautorisierung - Amazon Simple Email Service

Senden von E-Mails im Namen des Identitätsbesitzers im Zusammenhang mit der Amazon-SES-Sendeautorisierung

Als delegierter Sender senden Sie E-Mails wie jeder andere Amazon-SES-Sender auch, mit der Ausnahme, dass Sie den Amazon-Ressourcennamen (ARN) der Identität angeben, für deren Nutzung Sie vom Identitätsbesitzer berechtigt wurden. Wenn Sie Amazon SES zum Senden der E-Mail aufrufen, überprüft Amazon SES, ob die von Ihnen angegebene Identität über eine Richtlinie verfügt, die Sie zum Senden der E-Mail berechtigt.

Es gibt verschiedene Möglichkeiten, wie Sie den ARN der Identität beim Senden einer E-Mail angeben können. Die zu verwendende Methode hängt davon ab, ob Sie sich für die Amazon-SES-API-Operationen oder die Amazon-SES-SMTP-Schnittstelle entscheiden.

Wichtig

Um erfolgreich eine E-Mail zu senden, müssen Sie eine Verbindung mit dem Amazon-SES-Endpunkt in der AWS-Region herstellen, in der der Identitätsbesitzer die Identität verifiziert hat.

Darüber hinaus müssen die AWS-Konten sowohl des Identitätsbesitzers als auch des stellvertretenden Senders aus der Sandbox entfernt werden, bevor eines der Konten E-Mails an nicht verifizierte Adressen senden kann. Weitere Informationen finden Sie unter Verlassen der Amazon SES Sandbox.

Verwenden der Amazon-SES-API

Wie alle E-Mail-Sender, die über die Amazon SES-API zugreifen (entweder direkt über HTTPS oder indirekt durch ein AWS-SDK), können Sie sich für eine von drei Aktionen zum Senden von E-Mails entscheiden: SendEmail, SendTemplatedEmail und SendRawEmail. Die Amazon-Simple-Email-Service-API-Referenz beschreibt die Details dieser APIs, aber wir geben hier einen Überblick über die Parameter für die Sendeautorisierung.

SendRawEmail

Wenn Sie SendRawEmail verwenden möchten, um das Format Ihrer E-Mails kontrollieren zu können, können Sie die delegierte autorisierte Identität auf eine von zwei Arten festlegen:

  • Übermitteln Sie optionale Parameter an die SendRawEmail-API. Die erforderlichen Parameter werden in der folgenden Tabelle beschrieben:

    Parameter

    Beschreibung

    SourceArn

    ARN der Identität, die mit der Sendeautorisierungsrichtlinie verknüpft ist, die Sie zum Senden von E-Mail im Namen der im Source-Parameter von SendRawEmail angegebenen E-Mail-Adresse berechtigt.

    Anmerkung

    Wenn Sie nur den SourceArn angeben, legt Amazon SES für die Adressen „Von“ und „Rücksendepfad“ die Identität fest, die Sie im SourceArn festgelegt haben.

    FromArn

    ARN der Identität, die mit der Sendeautorisierungsrichtlinie verknüpft ist, die Sie zur Angabe einer bestimmten "From"-Adresse im Header der Raw-E-Mail-Adresse berechtigt.

    ReturnPathArn

    ARN der Identität, die mit der Sendeautorisierungsrichtlinie verknüpft ist, die Sie zum Verwenden der im ReturnPath-Parameter von SendRawEmail angegebenen E-Mail-Adresse berechtigt.

  • Schließen Sie X-Header in die E-Mail ein. X-Header sind benutzerdefinierte Header, die Sie zusätzlich zu den Standard-E-Mail-Headern (wie „Von“, „Antworten“ oder „Betreff“) verwenden können. Amazon SES erkennt drei X-Header, die Sie zum Einrichten der Sendeautorisierungsparameter verwenden können:

    Wichtig

    Schließen Sie diese X-Header nicht in der DKIM-Signatur mit ein, da sie vor dem Senden der E-Mail von Amazon SES entfernt werden.

    X-Header

    Beschreibung

    X-SES-SOURCE-ARN

    Entspricht dem SourceArn.

    X-SES-FROM-ARN

    Entspricht dem FromArn.

    X-SES-RETURN-PATH-ARN

    Entspricht dem ReturnPathArn.

    Amazon SES entfernt alle X-Header vor dem Senden der E-Mail. Wenn Sie mehrere Instances eines X-Headers angeben, verwendet Amazon SES nur die erste Instance.

    Das folgende Beispiel zeigt eine E-Mail, die für die Sendeautorisierung X-Header umfasst:

    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 und SendTemplatedEmail

Wenn Sie die Operation SendEmail oder SendTemplatedEmail verwenden, können Sie die delegierte autorisierte Identität angeben, indem Sie die optionalen Parameter unten übergeben. Für die Methode SendEmail oder SendTemplatedEmail können Sie nicht die X-Header-Methode verwenden.

Parameter

Beschreibung

SourceArn

ARN der Identität, die mit der Sendeautorisierungsrichtlinie verknüpft ist, die Sie zum Senden von E-Mail im Namen der im Source-Parameter entweder von SendEmail oder SendTemplatedEmail angegebenen E-Mail-Adresse berechtigt.

ReturnPathArn

ARN der Identität, die mit der Sendeautorisierungsrichtlinie verknüpft ist, die Sie zum Verwenden der im ReturnPath-Parameter entweder von SendEmail oder SendTemplatedEmail angegebenen E-Mail-Adresse berechtigt.

Das folgende Beispiel zeigt, wie Sie eine E-Mail mit den Attributen SourceArn und ReturnPathArn unter Verwendung der Operation SendEmail oder SendTemplatedEmail und der SDK für Python senden.

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'])

Verwenden der Amazon SES SMTP-Schnittstelle

Wenn Sie die SMTP-Schnittstelle von Amazon SES zum delegierten Senden verwenden, müssen Sie die Header X-SES-SOURCE-ARN, X-SES-FROM-ARN und X-SES-RETURN-PATH-ARN in Ihre Nachricht einfügen. Übergeben Sie diese Header, nachdem Sie den DATA-Befehl in der SMTP-Aushandlung erteilen.