Skip to content

Commit bfb0eeb

Browse files
committed
[Mailer] Fix SES Message Id retrieval
1 parent 03b34da commit bfb0eeb

File tree

4 files changed

+10
-6
lines changed

4 files changed

+10
-6
lines changed

Amazon/Transport/SesApiTransport.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,17 @@ protected function doSendApi(SentMessage $sentMessage, Email $email, Envelope $e
6060
'Date' => $date,
6161
'Content-Type' => 'application/x-www-form-urlencoded',
6262
],
63-
'body' => $this->getPayload($email, $envelope),
63+
'body' => $payload = $this->getPayload($email, $envelope),
6464
]);
6565

6666
$result = new \SimpleXMLElement($response->getContent(false));
6767
if (200 !== $response->getStatusCode()) {
6868
throw new HttpTransportException(sprintf('Unable to send an email: %s (code %s).', $result->Error->Message, $result->Error->Code), $response);
6969
}
7070

71-
$sentMessage->setMessageId($result->SendEmailResult->MessageId);
71+
$property = $payload['Action'].'Result';
72+
73+
$sentMessage->setMessageId($result->{$property}->MessageId);
7274

7375
return $response;
7476
}

Amazon/Transport/SesHttpTransport.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ protected function doSendHttp(SentMessage $message): ResponseInterface
6868
throw new HttpTransportException(sprintf('Unable to send an email: %s (code %s).', $result->Error->Message, $result->Error->Code), $response);
6969
}
7070

71-
$message->setMessageId($result->SendEmailResult->MessageId);
71+
$message->setMessageId($result->SendRawEmailResult->MessageId);
7272

7373
return $response;
7474
}

SesApiTransport.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,17 @@ protected function doSendApi(SentMessage $sentMessage, Email $email, Envelope $e
6060
'Date' => $date,
6161
'Content-Type' => 'application/x-www-form-urlencoded',
6262
],
63-
'body' => $this->getPayload($email, $envelope),
63+
'body' => $payload = $this->getPayload($email, $envelope),
6464
]);
6565

6666
$result = new \SimpleXMLElement($response->getContent(false));
6767
if (200 !== $response->getStatusCode()) {
6868
throw new HttpTransportException(sprintf('Unable to send an email: %s (code %s).', $result->Error->Message, $result->Error->Code), $response);
6969
}
7070

71-
$sentMessage->setMessageId($result->SendEmailResult->MessageId);
71+
$property = $payload['Action'].'Result';
72+
73+
$sentMessage->setMessageId($result->{$property}->MessageId);
7274

7375
return $response;
7476
}

SesHttpTransport.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ protected function doSendHttp(SentMessage $message): ResponseInterface
6868
throw new HttpTransportException(sprintf('Unable to send an email: %s (code %s).', $result->Error->Message, $result->Error->Code), $response);
6969
}
7070

71-
$message->setMessageId($result->SendEmailResult->MessageId);
71+
$message->setMessageId($result->SendRawEmailResult->MessageId);
7272

7373
return $response;
7474
}

0 commit comments

Comments
 (0)