]> git.mxchange.org Git - friendica.git/blobdiff - src/Object/Email.php
Merge pull request #12591 from MrPetovan/task/2023-licence
[friendica.git] / src / Object / Email.php
index 96a7ad88cb18f9e3af33d80ac74e7bbe3cf41a03..f6a72985231af6b58c42518f5664a5069fc1edc4 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2020, Friendica
+ * @copyright Copyright (C) 2010-2023, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
@@ -47,14 +47,14 @@ class Email implements IEmail
        /** @var string */
        private $msgText;
 
-       /** @var string */
-       private $additionalMailHeader = '';
+       /** @var string[][] */
+       private $additionalMailHeader;
        /** @var int|null */
-       private $toUid = null;
+       private $toUid;
 
        public function __construct(string $fromName, string $fromAddress, string $replyTo, string $toAddress,
                                    string $subject, string $msgHtml, string $msgText,
-                                   string $additionalMailHeader = '', int $toUid = null)
+                                   array $additionalMailHeader = [], int $toUid = null)
        {
                $this->fromName             = $fromName;
                $this->fromAddress          = $fromAddress;
@@ -110,12 +110,12 @@ class Email implements IEmail
        /**
         * {@inheritDoc}
         */
-       public function getMessage(bool $plain = false)
+       public function getMessage(bool $plain = false): string
        {
                if ($plain) {
                        return $this->msgText;
                } else {
-                       return $this->msgHtml;
+                       return $this->msgHtml ?? '';
                }
        }
 
@@ -127,6 +127,26 @@ class Email implements IEmail
                return $this->additionalMailHeader;
        }
 
+       /**
+        * {@inheritDoc}
+        */
+       public function getAdditionalMailHeaderString()
+       {
+               $headerString = '';
+
+               foreach ($this->additionalMailHeader as $name => $values) {
+                       if (!is_array($values)) {
+                               $values = [$values];
+                       }
+
+                       foreach ($values as $value) {
+                               $headerString .= "$name: $value\r\n";
+                       }
+               }
+
+               return $headerString;
+       }
+
        /**
         * {@inheritDoc}
         */
@@ -180,6 +200,7 @@ class Email implements IEmail
        /**
         * @inheritDoc
         */
+       #[\ReturnTypeWillChange]
        public function jsonSerialize()
        {
                return $this->toArray();