Как отправить HTML-письмо с помощью Amazon SES в Stack Overflow

Я полный нуб в AWS. Я настроил AWS SES сегодня, и теперь я могу отправить электронное письмо получателю, используя этот код.

<?php

// Replace sender@example.com with your "From" address.
// This address must be verified with Amazon SES.
define('SENDER', 'sender email');

// Replace recipient@example.com with a "To" address. If your account
// is still in the sandbox, this address must be verified.
define('RECIPIENT', 'recipient email');

// Replace smtp_username with your Amazon SES SMTP user name.
define('USERNAME','my username');

// Replace smtp_password with your Amazon SES SMTP password.
define('PASSWORD','my password');

// If you're using Amazon SES in a region other than US West (Oregon),
// replace email-smtp.us-west-2.amazonaws.com with the Amazon SES SMTP
// endpoint in the appropriate region.
define('HOST', 'email-smtp.us-west-2.amazonaws.com');

// The port you will connect to on the Amazon SES SMTP endpoint.
define('PORT', '587');

// Other message information
define('SUBJECT','Hello from Driffle!');
define('BODY','Test Email');

require_once 'Mail.php';

$headers = array (
'From' => SENDER,
'To' => RECIPIENT,
'Subject' => SUBJECT);

$smtpParams = array (
'host' => HOST,
'port' => PORT,
'auth' => true,
'username' => USERNAME,
'password' => PASSWORD
);

// Create an SMTP client.
$mail = Mail::factory('smtp', $smtpParams);

// Send the email.
$result = $mail->send(RECIPIENT, $headers, BODY);

if (PEAR::isError($result)) {
echo("Email not sent. " .$result->getMessage() ."\n");
} else {
echo("Email sent!"."\n");
}

?>

Но когда я пытаюсь отправить письмо в формате HTML. Выходное письмо возвращает простой текст. Ищите решение для отправки html-писем через Amazon SES.

0

Решение

Нашел это. Я делал это немного неправильно, но это работает …

Добавьте эти заголовки:

‘Mime-Version’ => ‘1.0’,
‘Content-Type’ => ‘text / html; кодировка = «ISO-8859-1″»,

Затем отправьте тело в виде HTML-разметки (для начала сделайте его максимально простым — оно не обязательно должно быть «страницей»).

ЬН

0

Другие решения

добавлен тип контента в $ заголовках. У меня сработало

require_once 'Mail.php';

$headers = array (
'Content-Type' => "text/html; charset=UTF-8",  // <- add this line
'From' => SENDER,
'To' => RECIPIENT,
'Subject' => SUBJECT);
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector