Having spent some time this morning getting annoyed by Amazon's SES returning "535 Authentication Credentials Invalid" for what I knew were valid credentials when trying to send email via the SES SMTP interface, I am typing this up here to make sure that I remember it for the future.

Requirements for sending emails:

Create the user in the SES console, not the IAM console, even though the SES user will show in the IAM console once created. Because obviously.

Base64 encode the access key and secret key, but don't just do

echo myvoiceismyaccesskey | base64

because that is too obvious ;-) Better make it

echo -n myvoiceismyaccesskey | base64 -w 0

Fuck yeah option flags ;-)