Я пытаюсь отправить электронную почту HTML через AWS SES с помощью API sendEmail.Как отправить html-почту с помощью AWS SES sendEmail API
Он отлично работает, если я удаляю заголовок типа содержимого.
#!/bin/bash
TO="[email protected]"
FROM="[email protected]"
SUBJECT="test subject"
MESSAGE="<B>Test Message</B><br /> test message"
date="$(date -R)"
access_key="<aws key>"
priv_key="secret key>"
signature="$(echo -n "$date" | openssl dgst -sha256 -hmac "$priv_key" -binary | base64 -w 0)"
auth_header="X-Amzn-Authorization: AWS3-HTTPS AWSAccessKeyId=$access_key, Algorithm=HmacSHA256, Signature=$signature"
endpoint="https://email.us-west-2.amazonaws.com/"
content_type="Content-Type: text/html"
mime_version="MIME-Version: 1.0"
action="Action=SendEmail"
source="Source=$FROM"
to="Destination.ToAddresses.member.1=$TO"
subject="Message.Subject.Data=$SUBJECT"
message="Message.Body.Text.Data=$MESSAGE"
curl -v -X POST -H "$auth_header" -H "Date: $date" -H "$content_type" -H "$mime_version" -H "Content-Length: 50" --data-urlencode "$message" --data-urlencode "$to" --data-urlencode "$source" --data-urlencode "$action" --data-urlencode "$subject" "$endpoint"
Но с типом контента, установленным в текст/html Я получаю эту ошибку
<AccessDeniedException>
<Message>Unable to determine service/operation name to be authorized</Message>
</AccessDeniedException>
Пожалуйста, помогите.
Не ответ на ваш вопрос, но вы можете сделать жизнь проще для себя, если вы использовали CLS AWS :) См. Http://docs.aws.amazon.com/cli/latest/reference/ses/send-raw -email.html – mickzer