2017-04-01 18 views
10

Tôi đang cố gắng để gửi email thông qua AWS SES, nhưng tôi nhận được lỗi này:Lỗi trên amazon SES: hoạt động SendEmail: địa chỉ bất hợp pháp

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

Tôi đã xác nhận email tôi gửi đến và đi từ . Đây là mã của tôi:

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

Làm cách nào để khắc phục sự cố này?

+0

Mặc dù địa chỉ email có thể "hợp lệ" (hoạt động), nhưng nó có thể không ở định dạng được SES chấp nhận. Chỉ có thể sử dụng ASCII 7 bit mà không cần mã hóa. Có các ký tự unicode tại các điểm mã cao hơn 127 trong địa chỉ (ví dụ như 'é' hoặc' ñ') không? –

Trả lời

25

Cố gắng loại bỏ những điều sau đây:

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

Rõ ràng họ không thể để trống!

+1

Đã dành cho tôi rất nhiều thời gian, AWS đã sửa chữa tài liệu của họ, http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SES.html#sendEmail-property rất gây hiểu lầm của nó – Santthosh

Các vấn đề liên quan