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