From e491e3a5948a0c4448125c02fd350de6eb0e63d3 Mon Sep 17 00:00:00 2001 From: Emirald Mateli Date: Fri, 16 Aug 2019 21:42:36 +0200 Subject: [PATCH] [Mime] Trim and remove line breaks from NamedAddress name arg --- src/Symfony/Component/Mime/Address.php | 6 +++--- src/Symfony/Component/Mime/NamedAddress.php | 2 +- .../Component/Mime/Tests/NamedAddressTest.php | 15 +++++++++++++++ 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Component/Mime/Address.php b/src/Symfony/Component/Mime/Address.php index 86a80426db970..be1ca760a7f13 100644 --- a/src/Symfony/Component/Mime/Address.php +++ b/src/Symfony/Component/Mime/Address.php @@ -40,11 +40,11 @@ public function __construct(string $address) self::$validator = new EmailValidator(); } - if (!self::$validator->isValid($address, new RFCValidation())) { + $this->address = trim($address); + + if (!self::$validator->isValid($this->address, new RFCValidation())) { throw new RfcComplianceException(sprintf('Email "%s" does not comply with addr-spec of RFC 2822.', $address)); } - - $this->address = $address; } public function getAddress(): string diff --git a/src/Symfony/Component/Mime/NamedAddress.php b/src/Symfony/Component/Mime/NamedAddress.php index 0d58708a1cb7b..b13fd73526d5f 100644 --- a/src/Symfony/Component/Mime/NamedAddress.php +++ b/src/Symfony/Component/Mime/NamedAddress.php @@ -24,7 +24,7 @@ public function __construct(string $address, string $name) { parent::__construct($address); - $this->name = $name; + $this->name = trim(str_replace(["\n", "\r"], '', $name)); } public function getName(): string diff --git a/src/Symfony/Component/Mime/Tests/NamedAddressTest.php b/src/Symfony/Component/Mime/Tests/NamedAddressTest.php index 72840191d5af3..b793cbbaf843d 100644 --- a/src/Symfony/Component/Mime/Tests/NamedAddressTest.php +++ b/src/Symfony/Component/Mime/Tests/NamedAddressTest.php @@ -24,4 +24,19 @@ public function testConstructor() $this->assertEquals('Fabien ', $a->toString()); $this->assertEquals('fabien@xn--symfon-nwa.com', $a->getEncodedAddress()); } + + public function nameEmptyDataProvider(): array + { + return [[''], [' '], [" \r\n "]]; + } + + /** + * @dataProvider nameEmptyDataProvider + */ + public function testNameEmpty(string $name) + { + $mail = 'mail@example.org'; + + $this->assertSame($mail, (new NamedAddress($mail, $name))->getEncodedNamedAddress()); + } } 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