Мы создали систему электронной почты с использованием Swiftmailer и Mandrill. Он отлично работает, но теперь мы хотим интегрировать веб-камеры для запуска предупреждений об ошибках/сбоях/...Symfony2, Swiftmailer, Mandrill получить ответ
В этот момент мы добавляем пользовательский заголовок с уникальным идентификатором для каждого отправленного сообщения и находим наш путь назад, когда триггеры webhook.
Он работает хорошо, но mandrill уже использует _id, который мы могли бы использовать, чтобы мы не добавляли «другой» уникальный идентификатор поверх этого.
Mandrill отвечает что-то вроде:
[
{
"email": "[email protected]",
"status": "sent",
"reject_reason": "hard-bounce",
"_id": "abc123abc123abc123abc123abc123"
}
]
Есть ли способ в Swiftmailer, чтобы получить этот ответ обратно в Symfony? (Чтобы мы могли читать и хранить это _id
для последующего использования)
Я знаю, что мы могли бы использовать Mandrill php SDK, но желательно, чтобы мы продолжали использовать Swiftmailer.
EDIT Мы используем SMTP Транспорт с основным экземпляром SwiftMailer, как описаны here
<?php
include_once "swift_required.php";
$subject = 'Hello from Mandrill, PHP!';
$from = array('[email protected]' =>'Your Name');
$to = array(
'[email protected]' => 'Recipient1 Name',
'[email protected]' => 'Recipient2 Name'
);
$text = "Mandrill speaks plaintext";
$html = "<em>Mandrill speaks <strong>HTML</strong></em>";
$transport = Swift_SmtpTransport::newInstance('smtp.mandrillapp.com', 587);
$transport->setUsername('MANDRILL_USERNAME');
$transport->setPassword('MANDRILL_PASSWORD');
$swift = Swift_Mailer::newInstance($transport);
$message = new Swift_Message($subject);
$message->setFrom($from);
$message->setBody($html, 'text/html');
$message->setTo($to);
$message->addPart($text, 'text/plain');
if ($recipients = $swift->send($message, $failures))
{
echo 'Message successfully sent!';
} else {
echo "There was an error:\n";
print_r($failures);
}
?>
Следует упомянуть, что вы используете для отправки сообщений от swiftmailer с использованием Mand rill, так как ответ, вероятно, лежит где-то в этом пакете. –