Using SES sendEmail to deliver HTML formatted emails


I'm using the AWS SDK for PHP and when I compose and send an email, they always arrive in plain text format rather than the HTML format provided. I provide both the HTML and Text attributes for the Body. The documentation indicates that you can provide one or the other or both, but leaving off the Text attribute results in a validation error.

I've sent emails to two different recipient systems, and both display the plain text content.

What am I missing?

asked a year ago261 views
1 Answer


The following document shows how to use the AWS SDK for PHP to send an email through Amazon SES:

The code in this tutorial was tested using PHP 7.2.7. This code sample sends the email in both the formats – HTML and plain text. When you use both formats to send the same content in a single message, the recipient's email client decides which to display, based upon its capabilities as discussed here:

You may send the email in only HTML format by modifying the Body attribute as follows:

'Body' => [
              'Html' => [
                  'Charset' => $char_set,
                  'Data' => $html_body,

Also to view the email in HTML format, please ensure that you use HTML-enabled email clients.

answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions