Python 亚马逊SES:SendEmail操作出错:地址非法

Python 亚马逊SES:SendEmail操作出错:地址非法,python,amazon-web-services,Python,Amazon Web Services,我正在尝试通过发送电子邮件,但收到以下错误: botocore.exceptions.ClientError: An error occurred (InvalidParameterValue) when calling the SendEmail operation: Illegal address 我已经验证了我发送的电子邮件。 这是我的代码: import boto3 client = boto3.client( 'ses', aws_access_key_id=AWS

我正在尝试通过发送电子邮件,但收到以下错误:

botocore.exceptions.ClientError: An error occurred (InvalidParameterValue) when calling the SendEmail operation: Illegal address
我已经验证了我发送的电子邮件。 这是我的代码:

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': [
            'xxx@xxx.com',
        ],
    },
    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='xxx@xxx.com',
    SourceArn='',
)
导入boto3
client=boto3.client(
“ses”,
aws\u访问密钥\u id=aws\u访问密钥,
aws_secret_access_key=aws_secret_key
)
响应=client.send_电子邮件(
目的地={
“ToAddresss”:[
'xxx@xxx.com',
],
},
信息={
“身体”:{
“Html”:{
“字符集”:“UTF-8”,
“数据”:“此邮件正文包含HTML格式。例如,它可以包含如下链接:”,
},
“文本”:{
“字符集”:“UTF-8”,
“数据”:“这是文本格式的邮件正文。”,
},
},
“主题”:{
“字符集”:“UTF-8”,
“数据”:“测试电子邮件”,
},
},
答复地址=[
],
ReturnPath=“”,
ReturnPathArn='',
资料来源:xxx@xxx.com',
SourceArn='',
)

如何修复此问题?

请尝试删除以下内容:

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

显然他们不可能是空的

虽然它不适用于这个问题,但在我的例子中,我试图同时向多个地址发送电子邮件

在这里有一个单一的电子邮件地址会有所帮助

'ToAddresses': [
            'xxx@xxx.com',
        ],

尽管电子邮件地址可能是“有效”(有效),但其格式可能不为SES所接受。只有7位ASCII码可以在没有编码的情况下使用。地址中的代码点是否有高于127的unicode字符(例如
é
ñ
)?为我节省了大量时间,AWS修复了他们的文档,这是一个非常误导人的答案,非常有用。如果文档不是完全错误就好了。我也遇到了完全相同的问题,但使用的是Java SDK!(
com.amazonaws:aws-java-sdk-ses:1.11.271
)。在这个错误、错误文档和错误消息上花了这么长时间,我感到很尴尬!谢谢你的帮助!