From c3c75c216b73be7d8df51ef8f06f408740540a76 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Wed, 15 May 2024 00:22:38 +0200 Subject: [PATCH] Resolve #1580 --- .../v/0.0.0/app/libraries/RainLoop/Actions.php | 13 +++++++------ .../0.0.0/app/libraries/RainLoop/Model/Account.php | 4 ++-- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php index 4fab2dcfc..1b3464040 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php @@ -264,14 +264,15 @@ class Actions } if ($oAccount) { - $oDomain = $oAccount->Domain(); $sLine = \str_replace('{imap:login}', $oAccount->ImapUser(), $sLine); - $sLine = \str_replace('{imap:host}', $oDomain->ImapSettings()->host, $sLine); - $sLine = \str_replace('{imap:port}', $oDomain->ImapSettings()->port, $sLine); - $sLine = \str_replace('{smtp:login}', $oAccount->SmtpUser(), $sLine); - $sLine = \str_replace('{smtp:host}', $oDomain->SmtpSettings()->host, $sLine); - $sLine = \str_replace('{smtp:port}', $oDomain->SmtpSettings()->port, $sLine); + $oDomain = $oAccount->Domain(); + if ($oDomain) { + $sLine = \str_replace('{imap:host}', $oDomain->ImapSettings()->host, $sLine); + $sLine = \str_replace('{imap:port}', $oDomain->ImapSettings()->port, $sLine); + $sLine = \str_replace('{smtp:host}', $oDomain->SmtpSettings()->host, $sLine); + $sLine = \str_replace('{smtp:port}', $oDomain->SmtpSettings()->port, $sLine); + } } $aClear['/\{imap:([^}]*)\}/i'] = 'imap'; diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Model/Account.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Model/Account.php index dcf3d1763..bd4b7ed82 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/Model/Account.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Model/Account.php @@ -21,7 +21,7 @@ abstract class Account implements \JsonSerializable private ?SensitiveString $oSmtpPass = null; - private Domain $oDomain; + private ?Domain $oDomain = null; public function Email() : string { @@ -49,7 +49,7 @@ abstract class Account implements \JsonSerializable // return $this->sSmtpUser ?: $this->sEmail ?: $this->sImapUser; } - public function Domain() : Domain + public function Domain() : ?Domain { return $this->oDomain; }