X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FUtil%2FEmailer.php;h=1accc574c302aec70e906062cf0bc67720d761f5;hb=d4a5a8051ad34a7be72238967afb3e6b140afdc8;hp=d1973237d12cc2bd5d60777e429b019b0ba62f49;hpb=4faf08c0643d3e6bbe2a0a77be2ff8c1dbea4d5c;p=friendica.git diff --git a/src/Util/Emailer.php b/src/Util/Emailer.php index d1973237d1..1accc574c3 100644 --- a/src/Util/Emailer.php +++ b/src/Util/Emailer.php @@ -65,7 +65,7 @@ class Emailer $this->siteEmailAddress = $this->config->get('config', 'sender_email'); if (empty($this->siteEmailAddress)) { - $hostname = $this->baseUrl->getHostname(); + $hostname = $this->baseUrl->getHost(); if (strpos($hostname, ':')) { $hostname = substr($hostname, 0, strpos($hostname, ':')); } @@ -126,7 +126,7 @@ class Emailer * @return bool * @throws InternalServerErrorException */ - public function send(IEmail $email) + public function send(IEmail $email): bool { Hook::callAll('emailer_send_prepare', $email); @@ -151,7 +151,7 @@ class Emailer } $fromName = Email::encodeHeader(html_entity_decode($email->getFromName(), ENT_QUOTES, 'UTF-8'), 'UTF-8'); - $fromAddress = $email->getFromAddress(); + $fromAddress = $email->getFromAddress(); $replyTo = $email->getReplyTo(); $messageSubject = Email::encodeHeader(html_entity_decode($email->getSubject(), ENT_QUOTES, 'UTF-8'), 'UTF-8'); @@ -161,12 +161,17 @@ class Emailer . rand(100000000, 999999999) . '=:' . rand(10000, 99999); + $messageHeader = $email->getAdditionalMailHeaderString(); + if ($countMessageId === 0) { + $messageHeader .= 'Message-ID: baseUrl->getHost() . '>' . "\r\n"; + } + // generate a multipart/alternative message header - $messageHeader = $email->getAdditionalMailHeaderString() . - "From: $fromName <{$fromAddress}>\r\n" . - "Reply-To: $fromName <{$replyTo}>\r\n" . - "MIME-Version: 1.0\r\n" . - "Content-Type: multipart/alternative; boundary=\"{$mimeBoundary}\""; + $messageHeader .= + "From: $fromName <{$fromAddress}>\r\n" . + "Reply-To: $fromName <{$replyTo}>\r\n" . + "MIME-Version: 1.0\r\n" . + "Content-Type: multipart/alternative; boundary=\"{$mimeBoundary}\""; // assemble the final multipart message body with the text and html types included $textBody = chunk_split(base64_encode($email->getMessage(true)));