Skip to content

SESv2: CreateEmailIdentity should include extra DkimAttributes #9771

@sxflynn

Description

@sxflynn

I am running motoserver in Docker, version 5.1.21.

Here is what I expect would happen when calling these aws commands. This is against aws cloud:

aws sesv2 create-email-identity --email-identity myemail@mac.com
{
    "IdentityType": "EMAIL_ADDRESS",
    "VerifiedForSendingStatus": false
}
aws sesv2 get-email-identity --email-identity myemail@mac.com
{
    "IdentityType": "EMAIL_ADDRESS",
    "FeedbackForwardingStatus": true,
    "VerifiedForSendingStatus": false,
    "DkimAttributes": {
        "SigningEnabled": false,
        "Status": "NOT_STARTED",
        "SigningAttributesOrigin": "AWS_SES",
        "NextSigningKeyLength": "RSA_1024_BIT"
    },
    "MailFromAttributes": {
        "BehaviorOnMxFailure": "USE_DEFAULT_VALUE"
    },
    "Policies": {},
    "Tags": [],
    "VerificationStatus": "PENDING",
    "VerificationInfo": {}
}
aws sesv2 list-email-identities
{
    "EmailIdentities": [
        {
            "IdentityType": "EMAIL_ADDRESS",
            "IdentityName": "myemail@mac.com",
            "SendingEnabled": false,
            "VerificationStatus": "PENDING"
        }
    ]
}

Here is what is happening when using the local moto server.

reset moto just to start fresh

curl -X POST http://localhost:5001/moto-api/reset
{"status": "ok"}
aws sesv2 create-email-identity --email-identity myemail@mac.com --endpoint http://localhost:5001
{
    "IdentityType": "EMAIL_ADDRESS",
    "VerifiedForSendingStatus": false,
    "DkimAttributes": {
        "SigningEnabled": false,
        "Status": "NOT_STARTED"
    }
}
aws sesv2 get-email-identity --email-identity myemail@mac.com --endpoint http://localhost:5001

An error occurred (NotFoundException) when calling the GetEmailIdentity operation: myemail%40mac.com
 aws sesv2 list-email-identities --endpoint http://localhost:5001
{
    "EmailIdentities": [
        {
            "IdentityType": "EMAIL_ADDRESS",
            "IdentityName": "myemail@mac.com",
            "SendingEnabled": true,
            "VerificationStatus": "SUCCESS"
        }
    ]
}

So to summarize:

Big issue: get-email-identity fails with a NotFoundException

Minor issue: create-email-identity should include extra DkimAttributes present in the standard AWS response for that specific call

The issue might be with how the @ is encoded? When I use aws to get an email identity that doesn't exist:

aws sesv2 get-email-identity --email-identity nonexistenant@mac.com

An error occurred (NotFoundException) when calling the GetEmailIdentity operation: Email identity < nonexistenant@mac.com> does not exist.

I get the same exception. So it might just a simple encoding issue in your sesv2 implementation.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions