2017-04-01 3 views
10

Ich versuche, E-Mail über AWS SES zu schicken, aber ich empfange diesen Fehler:Fehler bei Amazon SES: Sendemail-Betrieb: Illegal addres

botocore.exceptions.ClientError: An error occurred (InvalidParameterValue) when calling the SendEmail operation: Illegal address 

Ich überprüfte bereits die E-Mail ich bin das Senden und von . Dies ist mein Code:

import boto3 

client = boto3.client(
    'ses', 
    aws_access_key_id=AWS_ACCESS_KEY, 
    aws_secret_access_key=AWS_SECRET_KEY 
) 


response = client.send_email(
    Destination={ 
     'ToAddresses': [ 
      '[email protected]', 
     ], 
    }, 
    Message={ 
     'Body': { 
      'Html': { 
       'Charset': 'UTF-8', 
       '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>.', 
      }, 
      'Text': { 
       'Charset': 'UTF-8', 
       'Data': 'This is the message body in text format.', 
      }, 
     }, 
     'Subject': { 
      'Charset': 'UTF-8', 
      'Data': 'Test email', 
     }, 
    }, 
    ReplyToAddresses=[ 
    ], 
    ReturnPath='', 
    ReturnPathArn='', 
    Source='[email protected]', 
    SourceArn='', 
) 

Wie kann ich dieses Problem beheben?

+0

Obwohl die E-Mail-Adresse möglicherweise "gültig" (funktionstüchtig) ist, darf sie nicht in einem für SES akzeptablen Format vorliegen. Nur 7-Bit-ASCII kann ohne Codierung verwendet werden. Gibt es Unicode-Zeichen an Codepunkten, die höher als 127 in der Adresse sind (wie zum Beispiel "é" oder "ñ")? –

Antwort

25

Versuchen Sie Folgendes zu entfernen:

ReplyToAddresses=[], 
    ReturnPath='', 
    ReturnPathArn='', 
    SourceArn='', 

Anscheinend können sie nicht leer sein!

+1

Ich habe eine Menge Zeit gespart, AWS musste ihre Dokumentation reparieren, die sehr irreführend ist http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SES.html#sendEmail-property – Santthosh