diff options
author | Christoph Wurst <christoph@winzerhof-wurst.at> | 2021-02-17 12:02:40 +0300 |
---|---|---|
committer | Christoph Wurst <christoph@winzerhof-wurst.at> | 2021-02-18 17:50:44 +0300 |
commit | d03f30e7f0b91e2544ee7bd6316a7fe1ae3191f9 (patch) | |
tree | 61f6c93c5a7e7412fdc9e5e9b3994033808a6e1f /lib | |
parent | 194bb01e706b2e4f716837ab3a262dea0e9dfef0 (diff) |
Avoid usage of Horde header query as it causes issues with php8
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/IMAP/MessageMapper.php | 6 | ||||
-rw-r--r-- | lib/Model/IMAPMessage.php | 13 | ||||
-rw-r--r-- | lib/Service/MailTransmission.php | 20 |
3 files changed, 19 insertions, 20 deletions
diff --git a/lib/IMAP/MessageMapper.php b/lib/IMAP/MessageMapper.php index 96fdb2255..b5a7fe6d5 100644 --- a/lib/IMAP/MessageMapper.php +++ b/lib/IMAP/MessageMapper.php @@ -201,11 +201,7 @@ class MessageMapper { $query->flags(); $query->uid(); $query->imapDate(); - $query->headers( - 'references', - [ - 'references', - ], + $query->headerText( [ 'cache' => true, 'peek' => true, diff --git a/lib/Model/IMAPMessage.php b/lib/Model/IMAPMessage.php index 1841d1cb2..46f00da08 100644 --- a/lib/Model/IMAPMessage.php +++ b/lib/Model/IMAPMessage.php @@ -166,7 +166,7 @@ class IMAPMessage implements IMessage, JsonSerializable { private function getRawReferences(): string { /** @var Horde_Mime_Headers $headers */ - $headers = $this->fetch->getHeaders('references', Horde_Imap_Client_Data_Fetch::HEADER_PARSE); + $headers = $this->fetch->getHeaderText('0', Horde_Imap_Client_Data_Fetch::HEADER_PARSE); $header = $headers->getHeader('references'); if ($header === null) { return ''; @@ -180,7 +180,7 @@ class IMAPMessage implements IMessage, JsonSerializable { public function getDispositionNotificationTo(): string { /** @var Horde_Mime_Headers $headers */ - $headers = $this->fetch->getHeaders('mdn', Horde_Imap_Client_Data_Fetch::HEADER_PARSE); + $headers = $this->fetch->getHeaderText('0', Horde_Imap_Client_Data_Fetch::HEADER_PARSE); $header = $headers->getHeader('disposition-notification-to'); if ($header === null) { return ''; @@ -345,11 +345,10 @@ class IMAPMessage implements IMessage, JsonSerializable { $fetch_query->flags(); $fetch_query->size(); $fetch_query->imapDate(); - $fetch_query->headers( - 'mdn', - ['disposition-notification-to'], - ['cache' => true, 'peek' => true] - ); + $fetch_query->headerText([ + 'cache' => true, + 'peek' => true, + ]); // $list is an array of Horde_Imap_Client_Data_Fetch objects. $ids = new Horde_Imap_Client_Ids($this->messageId); diff --git a/lib/Service/MailTransmission.php b/lib/Service/MailTransmission.php index 35c63dafc..7b1081c72 100644 --- a/lib/Service/MailTransmission.php +++ b/lib/Service/MailTransmission.php @@ -26,6 +26,7 @@ namespace OCA\Mail\Service; use Horde_Exception; use Horde_Imap_Client; use Horde_Imap_Client_Data_Fetch; +use Horde_Imap_Client_DateTime; use Horde_Imap_Client_Fetch_Query; use Horde_Imap_Client_Ids; use Horde_Mail_Transport_Null; @@ -434,12 +435,12 @@ class MailTransmission implements IMailTransmission { $query->flags(); $query->uid(); $query->imapDate(); - $query->headers( - 'mdn', - ['disposition-notification-to', 'original-recipient'], - ['cache' => true, 'peek' => true] - ); + $query->headerText([ + 'cache' => true, + 'peek' => true, + ]); + /** @var Horde_Imap_Client_Data_Fetch[] $fetchResults */ $fetchResults = iterator_to_array($imapClient->fetch($mailbox->getName(), $query, [ 'ids' => new Horde_Imap_Client_Ids([$message->getUid()]), ]), false); @@ -448,10 +449,10 @@ class MailTransmission implements IMailTransmission { throw new ServiceException('Message "' .$message->getId() . '" not found.'); } - /** @var \Horde_Imap_Client_DateTime $imapDate */ + /** @var Horde_Imap_Client_DateTime $imapDate */ $imapDate = $fetchResults[0]->getImapDate(); /** @var Horde_Mime_Headers $headers */ - $mdnHeaders = $fetchResults[0]->getHeaders('mdn', Horde_Imap_Client_Data_Fetch::HEADER_PARSE); + $mdnHeaders = $fetchResults[0]->getHeaderText('0', Horde_Imap_Client_Data_Fetch::HEADER_PARSE); /** @var Horde_Mime_Headers_Addresses|null $dispositionNotificationTo */ $dispositionNotificationTo = $mdnHeaders->getHeader('disposition-notification-to'); /** @var Horde_Mime_Headers_Addresses|null $originalRecipient */ @@ -484,7 +485,10 @@ class MailTransmission implements IMailTransmission { 'displayed', $account->getMailAccount()->getOutboundHost(), $smtpClient, - ['from_addr' => $account->getEMailAddress()] + [ + 'from_addr' => $account->getEMailAddress(), + 'charset' => 'UTF-8', + ] ); } catch (Horde_Mime_Exception $e) { throw new ServiceException('Unable to send mdn for message "' . $message->getId() . '" caused by: ' . $e->getMessage(), 0, $e); |