2017-04-01 13 views
10

próbuję wysłać wiadomość e-mail za pośrednictwem AWS SES, ale ja dostaję ten błąd:Błąd na Amazon SES: SendEmail operacja: Nielegalne podczas wizyty

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

już zweryfikowane email wyślę do iz . To jest mój kod:

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='', 
) 

Jak mogę rozwiązać ten problem?

+0

Chociaż adres e-mail może być "prawidłowy" (działający), może nie mieć formatu akceptowanego przez SES. Tylko 7-bitowy kod ASCII może być używany bez kodowania. Czy istnieją znaki Unicode w punktach kodowych wyższych niż 127 w adresie (na przykład 'é' lub' ñ')? –

Odpowiedz

25

Spróbuj usunąć następujące dane:

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

Najwyraźniej nie może być pusty!

+1

Zaoszczędź mnie mnóstwo czasu, AWS musi naprawić swoją dokumentację, bardzo mylącą http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SES.html#sendEmail-property – Santthosh

Powiązane problemy