Кодировка электронной почты с помощью Amazon SES sendRawEmail

Я пытаюсь отправить следующее необработанное сообщение электронной почты, сгенерированное PHPMailer 5.2.9 с использованием SES SDK 2.7 sendRawEmail метод:

Date: Tue, 28 Oct 2014 03:34:18 +0000
From: [email protected]
Reply-To: [email protected]
Message-ID: <c738074625a476ed8e2793323ad0b3b2@*.dev>
X-Priority: 3
X-Mailer: PHPMailer
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="b1_c738074625a476ed8e2793323ad0b3b2"Content-Transfer-Encoding: 8bit
To: [email protected]
Subject: Test subject (TID #1, SID #2)

--b1_c738074625a476ed8e2793323ad0b3b2
Content-Type: text/plain; charset=us-ascii

Test email for _Some One_!--b1_c738074625a476ed8e2793323ad0b3b2
Content-Type: text/html; charset=us-ascii

Test email for <i>Some One</i>!--b1_c738074625a476ed8e2793323ad0b3b2--

Вот код, используемый для генерации необработанного электронного письма и его отправки:

$mail = new PHPMailer();

$mail->addAddress($to);
$mail->setFrom($from);
$mail->Subject = $subject;
$mail->CharSet = $char_set;
$mail->AltBody = $text;
$mail->Body = $html;
$mail->isHTML(true);
$mail->addAttachment($attachment);

$mail->preSend();

$args = [
'Source'       => $from,
'Destinations' => [$to],
'RawMessage'   => [
'Data' => $mail->getSentMIMEMessage()
]
];

$aws = Aws\Common\Aws::factory(app_path() . '/config/aws.php');

$ses = $aws->get('ses');

$send_result = $ses->sendRawEmail($args);

Я не получаю ошибок в $send_resultпросто стандартные «MessageId» и «RequestId», как и при успешной отправке (и она действительно отправляет).

Я пробовал и с вложениями, и без них, но он все равно отправляет сообщение как искаженный беспорядок. Вот что получено:
http://prntscr.com/50ij42

Что я здесь не так делаю?

2

Решение

Вы забыли закодировать данные:

'RawMessage'   => [
'Data' => base64_encode( $mail->getSentMIMEMessage() )
]

От SDK документация:

— Контент должен быть закодирован в base64, если MIME этого требует.

1

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

Других решений пока нет …

По вопросам рекламы [email protected]