2012-06-18 4 views
3

Это может быть простой вопрос, но я искал и искал и не могу найти ответ.Logging Amazon SES Идентификатор сообщения

Я хотел бы зарегистрировать идентификатор сообщения для каждого отправленного сообщения, чтобы я мог более точно выполнять обработку отказов.

Я использую AWS PHP SDK для отправки своих писем. Как я могу получить идентификатор сообщения после отправки электронного письма?

+0

Я думаю, что это невозможно, но U можно установить сообщение идентификатор вручную и сохранить, прежде чем отправить – Sergey

+1

Найден ответ ... Я могу получить MessageID из объекта ответа, который я получаю при отправке электронной почты с SES. $response->body->SendEmailResult->MessageId

+0

Если вы считаете, что ваш собственный ответ - лучший ответ здесь, пожалуйста, проверьте его. –

ответ

4

Найденный ответ ...

Я могу извлечь MessageID из объекта ответа я получаю при отправке по электронной почте с СЭС.

$response->body->SendEmailResult->MessageId

1

Amazon SES изменение MessageID см первый комментарий

+2

AWS изменяет Message-Id при отправке. следующие заголовки могут/будут изменены: Message-Id Дата Return-Path Отказы-To В настоящее время Amazon SES устанавливает Message-Id так, чтобы иметь возможность соотносить отправляемые письма с обратной связью, как отскоки и жалобы. Использование заголовка Message-Id гарантирует, что SAS Amazon может идентифицировать исходный запрос на отправку, в свою очередь, гарантирует, что ASA Amazon может идентифицировать вас как первоначального отправителя и перенаправить на него отказы. Я полагаю, что я мог бы добавить свой собственный Message-Id, который AWS будет продвигать, но это кажется пустой тратой, когда AWS уже это сделал. –

+0

@MattClements Создайте свой собственный пользовательский заголовок, например: MyHeaderId: , я установил свой собственный заголовок для обнаружения отскока сообщения. – Sergey

+0

@MattClements У меня есть проект с массовыми отправками по электронной почте, и мы будем использовать амазонку на следующей неделе. Если U нашел решение, пожалуйста, обновите Ur post – Sergey

1

Вы можете получить ответ от амазонки в переменную, а затем разобрать XML;

$res = $this->amazon_ses->send(); 
$xml = new SimpleXMLElement($res); 
$email_id = (string) $xml->SendEmailResult[0]->MessageId; 

Это хорошо работало для меня