From add289ef14d3a45162aa1ca202c6b8cbcfe86df3 Mon Sep 17 00:00:00 2001 From: Nicolas DOUSSON Date: Mon, 17 Jun 2024 10:39:44 +0200 Subject: [PATCH] [Mailer][Infobip] Add trackClicks, trackOpens and trackingUrl as supported payload properties --- .../Mailer/Bridge/Infobip/CHANGELOG.md | 5 +++ .../Transport/InfobipApiTransportTest.php | 38 ++++++++++++++++++- .../Infobip/Transport/InfobipApiTransport.php | 3 ++ 3 files changed, 44 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/Mailer/Bridge/Infobip/CHANGELOG.md b/src/Symfony/Component/Mailer/Bridge/Infobip/CHANGELOG.md index ed73bbd4ba146..403fbe93c4bd8 100644 --- a/src/Symfony/Component/Mailer/Bridge/Infobip/CHANGELOG.md +++ b/src/Symfony/Component/Mailer/Bridge/Infobip/CHANGELOG.md @@ -1,6 +1,11 @@ CHANGELOG ========= +7.2 +--- + +* Add support of trackClicks, trackOpens and trackingUrl payload properties + 6.3 --- diff --git a/src/Symfony/Component/Mailer/Bridge/Infobip/Tests/Transport/InfobipApiTransportTest.php b/src/Symfony/Component/Mailer/Bridge/Infobip/Tests/Transport/InfobipApiTransportTest.php index 72ef3933b4177..b41ef0a2f252e 100644 --- a/src/Symfony/Component/Mailer/Bridge/Infobip/Tests/Transport/InfobipApiTransportTest.php +++ b/src/Symfony/Component/Mailer/Bridge/Infobip/Tests/Transport/InfobipApiTransportTest.php @@ -248,7 +248,11 @@ public function testSendEmailWithHeadersShouldCalledInfobipWithTheRightParameter ->addTextHeader('X-Infobip-IntermediateReport', 'true') ->addTextHeader('X-Infobip-NotifyUrl', 'https://foo.bar') ->addTextHeader('X-Infobip-NotifyContentType', 'application/json') - ->addTextHeader('X-Infobip-MessageId', 'RANDOM-CUSTOM-ID'); + ->addTextHeader('X-Infobip-MessageId', 'RANDOM-CUSTOM-ID') + ->addTextHeader('X-Infobip-Track', 'false') + ->addTextHeader('X-Infobip-TrackingUrl', 'https://bar.foo') + ->addTextHeader('X-Infobip-TrackClicks', 'true') + ->addTextHeader('X-Infobip-TrackOpens', 'true'); $this->transport->send($email); @@ -280,6 +284,30 @@ public function testSendEmailWithHeadersShouldCalledInfobipWithTheRightParameter Content-Disposition: form-data; name="messageId" RANDOM-CUSTOM-ID + --%s + Content-Type: text/plain; charset=utf-8 + Content-Transfer-Encoding: 8bit + Content-Disposition: form-data; name="track" + + false + --%s + Content-Type: text/plain; charset=utf-8 + Content-Transfer-Encoding: 8bit + Content-Disposition: form-data; name="trackingUrl" + + https://bar.foo + --%s + Content-Type: text/plain; charset=utf-8 + Content-Transfer-Encoding: 8bit + Content-Disposition: form-data; name="trackClicks" + + true + --%s + Content-Type: text/plain; charset=utf-8 + Content-Transfer-Encoding: 8bit + Content-Disposition: form-data; name="trackOpens" + + true --%s-- TXT, $options['body'] @@ -410,7 +438,10 @@ public function testSendEmailWithHeadersWithSuccess() ->addTextHeader('X-Infobip-NotifyUrl', 'https://foo.bar') ->addTextHeader('X-Infobip-NotifyContentType', 'application/json') ->addTextHeader('X-Infobip-MessageId', 'RANDOM-CUSTOM-ID') - ->addTextHeader('X-Infobip-Track', 'false'); + ->addTextHeader('X-Infobip-Track', 'false') + ->addTextHeader('X-Infobip-TrackingUrl', 'https://bar.foo') + ->addTextHeader('X-Infobip-TrackClicks', 'true') + ->addTextHeader('X-Infobip-TrackOpens', 'true'); $sentMessage = $this->transport->send($email); @@ -423,6 +454,9 @@ public function testSendEmailWithHeadersWithSuccess() X-Infobip-NotifyContentType: application/json X-Infobip-MessageId: RANDOM-CUSTOM-ID X-Infobip-Track: false + X-Infobip-TrackingUrl: https://bar.foo + X-Infobip-TrackClicks: true + X-Infobip-TrackOpens: true %a TXT, $sentMessage->toString() diff --git a/src/Symfony/Component/Mailer/Bridge/Infobip/Transport/InfobipApiTransport.php b/src/Symfony/Component/Mailer/Bridge/Infobip/Transport/InfobipApiTransport.php index 222e222d13081..8fe332e8f5649 100644 --- a/src/Symfony/Component/Mailer/Bridge/Infobip/Transport/InfobipApiTransport.php +++ b/src/Symfony/Component/Mailer/Bridge/Infobip/Transport/InfobipApiTransport.php @@ -39,6 +39,9 @@ final class InfobipApiTransport extends AbstractApiTransport 'X-Infobip-NotifyContentType' => 'notifyContentType', 'X-Infobip-MessageId' => 'messageId', 'X-Infobip-Track' => 'track', + 'X-Infobip-TrackingUrl' => 'trackingUrl', + 'X-Infobip-TrackClicks' => 'trackClicks', + 'X-Infobip-TrackOpens' => 'trackOpens', ]; public function __construct( pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy