From d50447220680c79d4e2ccfd4dc6036d0cd06b791 Mon Sep 17 00:00:00 2001 From: Alexandre Dupuy Date: Tue, 16 May 2017 14:51:02 +0200 Subject: [PATCH] fix: named addresses must be surrounded by double quotes (#349) * fix: named addresses must be surrounded by double quotes Due to your recent API update, named addresses with special chars (like parentheses) are now rejected if they are surrounded by simple quotes They must be surrounded by double quotes 'Whoever (SomeCompany)' is no longer valid and will be rejected by your API "Whoever (SomeCompany)" is valid and will be OK * sprintf instaead of old school concatenation --- src/Mailgun/Messages/MessageBuilder.php | 2 +- tests/Messages/BatchMessageTest.php | 8 ++++---- tests/Messages/MessageBuilderTest.php | 10 +++++----- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/Mailgun/Messages/MessageBuilder.php b/src/Mailgun/Messages/MessageBuilder.php index f63f183..ca7714c 100644 --- a/src/Mailgun/Messages/MessageBuilder.php +++ b/src/Mailgun/Messages/MessageBuilder.php @@ -102,7 +102,7 @@ class MessageBuilder } $fullName = $this->getFullName($variables); if ($fullName != null) { - return "'$fullName' <$address>"; + return sprintf('"%s" <%s>', $fullName, $address); } return $address; diff --git a/tests/Messages/BatchMessageTest.php b/tests/Messages/BatchMessageTest.php index d086b1e..7edf6b2 100644 --- a/tests/Messages/BatchMessageTest.php +++ b/tests/Messages/BatchMessageTest.php @@ -32,7 +32,7 @@ class BatchMessageTest extends \Mailgun\Tests\MailgunTestCase $message = $this->client->BatchMessage($this->sampleDomain); $message->addToRecipient('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']); $messageObj = $message->getMessage(); - $this->assertEquals(['to' => ["'Test User' "]], $messageObj); + $this->assertEquals(['to' => ['"Test User" ']], $messageObj); $reflectionClass = new \ReflectionClass(get_class($message)); $property = $reflectionClass->getProperty('counters'); @@ -60,7 +60,7 @@ class BatchMessageTest extends \Mailgun\Tests\MailgunTestCase $message = $this->client->BatchMessage($this->sampleDomain); $message->addToRecipient('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']); $messageObj = $message->getMessage(); - $this->assertEquals(['to' => ["'Test User' "]], $messageObj); + $this->assertEquals(['to' => ['"Test User" ']], $messageObj); $reflectionClass = new \ReflectionClass(get_class($message)); $property = $reflectionClass->getProperty('batchRecipientAttributes'); @@ -75,7 +75,7 @@ class BatchMessageTest extends \Mailgun\Tests\MailgunTestCase $message = $this->client->BatchMessage($this->sampleDomain); $message->addCcRecipient('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']); $messageObj = $message->getMessage(); - $this->assertEquals(['cc' => ["'Test User' "]], $messageObj); + $this->assertEquals(['cc' => ['"Test User" ']], $messageObj); $reflectionClass = new \ReflectionClass(get_class($message)); $property = $reflectionClass->getProperty('batchRecipientAttributes'); @@ -90,7 +90,7 @@ class BatchMessageTest extends \Mailgun\Tests\MailgunTestCase $message = $this->client->BatchMessage($this->sampleDomain); $message->addBccRecipient('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']); $messageObj = $message->getMessage(); - $this->assertEquals(['bcc' => ["'Test User' "]], $messageObj); + $this->assertEquals(['bcc' => ['"Test User" ']], $messageObj); $reflectionClass = new \ReflectionClass(get_class($message)); $property = $reflectionClass->getProperty('batchRecipientAttributes'); diff --git a/tests/Messages/MessageBuilderTest.php b/tests/Messages/MessageBuilderTest.php index 6efadde..cd058ed 100644 --- a/tests/Messages/MessageBuilderTest.php +++ b/tests/Messages/MessageBuilderTest.php @@ -48,7 +48,7 @@ class MessageBuilderTest extends \Mailgun\Tests\MailgunTestCase $message = $this->client->MessageBuilder(); $message->addToRecipient('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']); $messageObj = $message->getMessage(); - $this->assertEquals(['to' => ["'Test User' "]], $messageObj); + $this->assertEquals(['to' => ['"Test User" ']], $messageObj); } public function testAddCcRecipient() @@ -56,7 +56,7 @@ class MessageBuilderTest extends \Mailgun\Tests\MailgunTestCase $message = $this->client->MessageBuilder(); $message->addCcRecipient('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']); $messageObj = $message->getMessage(); - $this->assertEquals(['cc' => ["'Test User' "]], $messageObj); + $this->assertEquals(['cc' => ['"Test User" ']], $messageObj); } public function testAddBccRecipient() @@ -64,7 +64,7 @@ class MessageBuilderTest extends \Mailgun\Tests\MailgunTestCase $message = $this->client->MessageBuilder(); $message->addBccRecipient('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']); $messageObj = $message->getMessage(); - $this->assertEquals(['bcc' => ["'Test User' "]], $messageObj); + $this->assertEquals(['bcc' => ['"Test User" ']], $messageObj); } public function testToRecipientCount() @@ -108,7 +108,7 @@ class MessageBuilderTest extends \Mailgun\Tests\MailgunTestCase $message = $this->client->MessageBuilder(); $message->setFromAddress('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']); $messageObj = $message->getMessage(); - $this->assertEquals(['from' => ["'Test User' "]], $messageObj); + $this->assertEquals(['from' => ['"Test User" ']], $messageObj); } public function testSetReplyTo() @@ -117,7 +117,7 @@ class MessageBuilderTest extends \Mailgun\Tests\MailgunTestCase $message->setReplyToAddress('overwritten@samples.mailgun.org'); $message->setReplyToAddress('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']); $messageObj = $message->getMessage(); - $this->assertEquals(['h:reply-to' => "'Test User' "], $messageObj); + $this->assertEquals(['h:reply-to' => '"Test User" '], $messageObj); } public function testSetSubject()