diff options
-rw-r--r-- | lib/private/Mail/Mailer.php | 8 | ||||
-rw-r--r-- | tests/lib/Mail/MailerTest.php | 43 |
2 files changed, 29 insertions, 22 deletions
diff --git a/lib/private/Mail/Mailer.php b/lib/private/Mail/Mailer.php index 9c38794a5c7..9b7b3cf117b 100644 --- a/lib/private/Mail/Mailer.php +++ b/lib/private/Mail/Mailer.php @@ -272,7 +272,7 @@ class Mailer implements IMailer { // either null or true - if nothing is passed, let the symfony mailer figure out the configuration by itself $mailSmtpsecure = ($this->config->getSystemValue('mail_smtpsecure', null) === 'ssl') ? true : null; $transport = new EsmtpTransport( - $this->config->getSystemValue('mail_smtphost', '127.0.0.1'), + $this->config->getSystemValueString('mail_smtphost', '127.0.0.1'), $this->config->getSystemValueInt('mail_smtpport', 25), $mailSmtpsecure, null, @@ -281,11 +281,11 @@ class Mailer implements IMailer { /** @var SocketStream $stream */ $stream = $transport->getStream(); /** @psalm-suppress InternalMethod */ - $stream->setTimeout($this->config->getSystemValue('mail_smtptimeout', 10)); + $stream->setTimeout($this->config->getSystemValueInt('mail_smtptimeout', 10)); if ($this->config->getSystemValueBool('mail_smtpauth', false)) { - $transport->setUsername($this->config->getSystemValue('mail_smtpname', '')); - $transport->setPassword($this->config->getSystemValue('mail_smtppassword', '')); + $transport->setUsername($this->config->getSystemValueString('mail_smtpname', '')); + $transport->setPassword($this->config->getSystemValueString('mail_smtppassword', '')); } $streamingOptions = $this->config->getSystemValue('mail_smtpstreamoptions', []); diff --git a/tests/lib/Mail/MailerTest.php b/tests/lib/Mail/MailerTest.php index ba1d52f4baf..5ffba939284 100644 --- a/tests/lib/Mail/MailerTest.php +++ b/tests/lib/Mail/MailerTest.php @@ -240,14 +240,17 @@ class MailerTest extends TestCase { $this->config->method('getSystemValue') ->willReturnMap([ ['mail_smtpstreamoptions', [], ['foo' => 1]], - ['mail_smtphost', '127.0.0.1', '127.0.0.1'], - ['mail_smtpport', 25, 25], - ['mail_smtptimeout', 10, 10], ]); $this->config->method('getSystemValueString') ->willReturnMap([ ['mail_smtpmode', 'smtp', 'smtp'], ['overwrite.cli.url', '', ''], + ['mail_smtphost', '127.0.0.1', '127.0.0.1'], + ]); + $this->config->method('getSystemValueInt') + ->willReturnMap([ + ['mail_smtpport', 25, 25], + ['mail_smtptimeout', 10, 10], ]); $mailer = self::invokePrivate($this->mailer, 'getInstance'); /** @var EsmtpTransport $transport */ @@ -261,15 +264,19 @@ class MailerTest extends TestCase { $this->config->method('getSystemValue') ->willReturnMap([ ['mail_smtpstreamoptions', [], 'bar'], - ['mail_smtphost', '127.0.0.1', '127.0.0.1'], - ['mail_smtpport', 25, 25], - ['mail_smtptimeout', 10, 10], ]); $this->config->method('getSystemValueString') ->willReturnMap([ ['mail_smtpmode', 'smtp', 'smtp'], ['overwrite.cli.url', '', ''], + ['mail_smtphost', '127.0.0.1', '127.0.0.1'], + ]); + $this->config->method('getSystemValueInt') + ->willReturnMap([ + ['mail_smtpport', 25, 25], + ['mail_smtptimeout', 10, 10], ]); + $mailer = self::invokePrivate($this->mailer, 'getInstance'); /** @var EsmtpTransport $transport */ $transport = self::invokePrivate($mailer, 'transport'); @@ -278,16 +285,16 @@ class MailerTest extends TestCase { } public function testLocalDomain(): void { - $this->config->method('getSystemValue') - ->willReturnMap([ - ['mail_smtphost', '127.0.0.1', '127.0.0.1'], - ['mail_smtpport', 25, 25], - ['mail_smtptimeout', 10, 10], - ]); $this->config->method('getSystemValueString') ->willReturnMap([ ['mail_smtpmode', 'smtp', 'smtp'], ['overwrite.cli.url', '', 'https://some.valid.url.com:8080'], + ['mail_smtphost', '127.0.0.1', '127.0.0.1'], + ]); + $this->config->method('getSystemValueInt') + ->willReturnMap([ + ['mail_smtpport', 25, 25], + ['mail_smtptimeout', 10, 10], ]); /** @var SymfonyMailer $mailer */ @@ -301,16 +308,16 @@ class MailerTest extends TestCase { } public function testLocalDomainInvalidUrl(): void { - $this->config->method('getSystemValue') - ->willReturnMap([ - ['mail_smtpport', 25, 25], - ['mail_smtptimeout', 10, 10], - ['mail_smtphost', '127.0.0.1', '127.0.0.1'], - ]); $this->config->method('getSystemValueString') ->willReturnMap([ ['mail_smtpmode', 'smtp', 'smtp'], ['overwrite.cli.url', '', 'https:only.slash.does.not.work:8080'], + ['mail_smtphost', '127.0.0.1', '127.0.0.1'], + ]); + $this->config->method('getSystemValueInt') + ->willReturnMap([ + ['mail_smtpport', 25, 25], + ['mail_smtptimeout', 10, 10], ]); /** @var SymfonyMailer $mailer */ |