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)' <some@address.com> is no longer valid and will be rejected by your API
"Whoever (SomeCompany)" <some@address.com> is valid and will be OK

* sprintf instaead of old school concatenation
This commit is contained in:
Alexandre Dupuy 2017-05-16 14:51:02 +02:00 committed by Tobias Nyholm
parent 089f32d746
commit d504472206
3 changed files with 10 additions and 10 deletions

View File

@ -102,7 +102,7 @@ class MessageBuilder
} }
$fullName = $this->getFullName($variables); $fullName = $this->getFullName($variables);
if ($fullName != null) { if ($fullName != null) {
return "'$fullName' <$address>"; return sprintf('"%s" <%s>', $fullName, $address);
} }
return $address; return $address;

View File

@ -32,7 +32,7 @@ class BatchMessageTest extends \Mailgun\Tests\MailgunTestCase
$message = $this->client->BatchMessage($this->sampleDomain); $message = $this->client->BatchMessage($this->sampleDomain);
$message->addToRecipient('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']); $message->addToRecipient('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']);
$messageObj = $message->getMessage(); $messageObj = $message->getMessage();
$this->assertEquals(['to' => ["'Test User' <test@samples.mailgun.org>"]], $messageObj); $this->assertEquals(['to' => ['"Test User" <test@samples.mailgun.org>']], $messageObj);
$reflectionClass = new \ReflectionClass(get_class($message)); $reflectionClass = new \ReflectionClass(get_class($message));
$property = $reflectionClass->getProperty('counters'); $property = $reflectionClass->getProperty('counters');
@ -60,7 +60,7 @@ class BatchMessageTest extends \Mailgun\Tests\MailgunTestCase
$message = $this->client->BatchMessage($this->sampleDomain); $message = $this->client->BatchMessage($this->sampleDomain);
$message->addToRecipient('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']); $message->addToRecipient('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']);
$messageObj = $message->getMessage(); $messageObj = $message->getMessage();
$this->assertEquals(['to' => ["'Test User' <test@samples.mailgun.org>"]], $messageObj); $this->assertEquals(['to' => ['"Test User" <test@samples.mailgun.org>']], $messageObj);
$reflectionClass = new \ReflectionClass(get_class($message)); $reflectionClass = new \ReflectionClass(get_class($message));
$property = $reflectionClass->getProperty('batchRecipientAttributes'); $property = $reflectionClass->getProperty('batchRecipientAttributes');
@ -75,7 +75,7 @@ class BatchMessageTest extends \Mailgun\Tests\MailgunTestCase
$message = $this->client->BatchMessage($this->sampleDomain); $message = $this->client->BatchMessage($this->sampleDomain);
$message->addCcRecipient('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']); $message->addCcRecipient('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']);
$messageObj = $message->getMessage(); $messageObj = $message->getMessage();
$this->assertEquals(['cc' => ["'Test User' <test@samples.mailgun.org>"]], $messageObj); $this->assertEquals(['cc' => ['"Test User" <test@samples.mailgun.org>']], $messageObj);
$reflectionClass = new \ReflectionClass(get_class($message)); $reflectionClass = new \ReflectionClass(get_class($message));
$property = $reflectionClass->getProperty('batchRecipientAttributes'); $property = $reflectionClass->getProperty('batchRecipientAttributes');
@ -90,7 +90,7 @@ class BatchMessageTest extends \Mailgun\Tests\MailgunTestCase
$message = $this->client->BatchMessage($this->sampleDomain); $message = $this->client->BatchMessage($this->sampleDomain);
$message->addBccRecipient('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']); $message->addBccRecipient('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']);
$messageObj = $message->getMessage(); $messageObj = $message->getMessage();
$this->assertEquals(['bcc' => ["'Test User' <test@samples.mailgun.org>"]], $messageObj); $this->assertEquals(['bcc' => ['"Test User" <test@samples.mailgun.org>']], $messageObj);
$reflectionClass = new \ReflectionClass(get_class($message)); $reflectionClass = new \ReflectionClass(get_class($message));
$property = $reflectionClass->getProperty('batchRecipientAttributes'); $property = $reflectionClass->getProperty('batchRecipientAttributes');

View File

@ -48,7 +48,7 @@ class MessageBuilderTest extends \Mailgun\Tests\MailgunTestCase
$message = $this->client->MessageBuilder(); $message = $this->client->MessageBuilder();
$message->addToRecipient('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']); $message->addToRecipient('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']);
$messageObj = $message->getMessage(); $messageObj = $message->getMessage();
$this->assertEquals(['to' => ["'Test User' <test@samples.mailgun.org>"]], $messageObj); $this->assertEquals(['to' => ['"Test User" <test@samples.mailgun.org>']], $messageObj);
} }
public function testAddCcRecipient() public function testAddCcRecipient()
@ -56,7 +56,7 @@ class MessageBuilderTest extends \Mailgun\Tests\MailgunTestCase
$message = $this->client->MessageBuilder(); $message = $this->client->MessageBuilder();
$message->addCcRecipient('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']); $message->addCcRecipient('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']);
$messageObj = $message->getMessage(); $messageObj = $message->getMessage();
$this->assertEquals(['cc' => ["'Test User' <test@samples.mailgun.org>"]], $messageObj); $this->assertEquals(['cc' => ['"Test User" <test@samples.mailgun.org>']], $messageObj);
} }
public function testAddBccRecipient() public function testAddBccRecipient()
@ -64,7 +64,7 @@ class MessageBuilderTest extends \Mailgun\Tests\MailgunTestCase
$message = $this->client->MessageBuilder(); $message = $this->client->MessageBuilder();
$message->addBccRecipient('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']); $message->addBccRecipient('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']);
$messageObj = $message->getMessage(); $messageObj = $message->getMessage();
$this->assertEquals(['bcc' => ["'Test User' <test@samples.mailgun.org>"]], $messageObj); $this->assertEquals(['bcc' => ['"Test User" <test@samples.mailgun.org>']], $messageObj);
} }
public function testToRecipientCount() public function testToRecipientCount()
@ -108,7 +108,7 @@ class MessageBuilderTest extends \Mailgun\Tests\MailgunTestCase
$message = $this->client->MessageBuilder(); $message = $this->client->MessageBuilder();
$message->setFromAddress('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']); $message->setFromAddress('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']);
$messageObj = $message->getMessage(); $messageObj = $message->getMessage();
$this->assertEquals(['from' => ["'Test User' <test@samples.mailgun.org>"]], $messageObj); $this->assertEquals(['from' => ['"Test User" <test@samples.mailgun.org>']], $messageObj);
} }
public function testSetReplyTo() public function testSetReplyTo()
@ -117,7 +117,7 @@ class MessageBuilderTest extends \Mailgun\Tests\MailgunTestCase
$message->setReplyToAddress('overwritten@samples.mailgun.org'); $message->setReplyToAddress('overwritten@samples.mailgun.org');
$message->setReplyToAddress('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']); $message->setReplyToAddress('test@samples.mailgun.org', ['first' => 'Test', 'last' => 'User']);
$messageObj = $message->getMessage(); $messageObj = $message->getMessage();
$this->assertEquals(['h:reply-to' => "'Test User' <test@samples.mailgun.org>"], $messageObj); $this->assertEquals(['h:reply-to' => '"Test User" <test@samples.mailgun.org>'], $messageObj);
} }
public function testSetSubject() public function testSetSubject()