]> git.mxchange.org Git - friendica.git/blobdiff - src/Util/Emailer.php
Remove unused dependency
[friendica.git] / src / Util / Emailer.php
index 9490b5c31ad1c7f01070b218da44442f72b68fe6..ed4ea4d87c5606ee0c69297e1df1556384d17284 100644 (file)
@@ -7,10 +7,12 @@ namespace Friendica\Util;
 use Friendica\App;
 use Friendica\Core\Config\IConfig;
 use Friendica\Core\Hook;
+use Friendica\Core\L10n;
 use Friendica\Core\PConfig\IPConfig;
 use Friendica\Network\HTTPException\InternalServerErrorException;
 use Friendica\Object\EMail\IEmail;
 use Friendica\Protocol\Email;
+use Friendica\Util\EMailer\SystemMailBuilder;
 use Psr\Log\LoggerInterface;
 
 /**
@@ -35,6 +37,18 @@ class Emailer
                $this->baseUrl     = $baseURL;
        }
 
+       /**
+        * Creates a new system email
+        *
+        * @param L10n $l10n The chosen language for the new email
+        *
+        * @return SystemMailBuilder
+        */
+       public function newSystemMail(L10n $l10n)
+       {
+               return new SystemMailBuilder($l10n, $this->baseUrl, $this->config);
+       }
+
        /**
         * Send a multipart/alternative message with Text and HTML versions
         *
@@ -45,11 +59,9 @@ class Emailer
         */
        public function send(IEmail $email)
        {
-               $params['sent'] = false;
-
-               Hook::callAll('emailer_send_prepare', $params);
+               Hook::callAll('emailer_send_prepare', $email);
 
-               if ($params['sent']) {
+               if (empty($email)) {
                        return true;
                }
 
@@ -59,7 +71,7 @@ class Emailer
                }
 
                $fromName       = Email::encodeHeader(html_entity_decode($email->getFromName(), ENT_QUOTES, 'UTF-8'), 'UTF-8');
-               $fromEmail      = $email->getFromEmail();
+               $fromAddress      = $email->getFromAddress();
                $replyTo        = $email->getReplyTo();
                $messageSubject = Email::encodeHeader(html_entity_decode($email->getSubject(), ENT_QUOTES, 'UTF-8'), 'UTF-8');
 
@@ -71,14 +83,14 @@ class Emailer
 
                // generate a multipart/alternative message header
                $messageHeader = $email->getAdditionalMailHeader() .
-                                "From: $fromName <{$fromEmail}>\n" .
+                                "From: $fromName <{$fromAddress}>\n" .
                                 "Reply-To: $fromName <{$replyTo}>\n" .
                                 "MIME-Version: 1.0\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()));
-               $htmlBody             = chunk_split(base64_encode($email->getMessage(true)));
+               $textBody             = chunk_split(base64_encode($email->getMessage(true)));
+               $htmlBody             = chunk_split(base64_encode($email->getMessage()));
                $multipartMessageBody = "--" . $mimeBoundary . "\n" .                    // plain text section
                                        "Content-Type: text/plain; charset=UTF-8\n" .
                                        "Content-Transfer-Encoding: base64\n\n" .
@@ -95,14 +107,14 @@ class Emailer
                        "--" . $mimeBoundary . "--\n";                    // message ending
 
                if ($this->config->get('system', 'sendmail_params', true)) {
-                       $sendmail_params = '-f ' . $fromEmail;
+                       $sendmail_params = '-f ' . $fromAddress;
                } else {
                        $sendmail_params = null;
                }
 
                // send the message
                $hookdata = [
-                       'to'         => $email->getToEmail(),
+                       'to'         => $email->getToAddress(),
                        'subject'    => $messageSubject,
                        'body'       => $multipartMessageBody,
                        'headers'    => $messageHeader,
@@ -123,7 +135,7 @@ class Emailer
                        $hookdata['headers'],
                        $hookdata['parameters']
                );
-               $this->logger->debug('header ' . 'To: ' . $email->getToEmail() . '\n' . $messageHeader);
+               $this->logger->debug('header ' . 'To: ' . $email->getToAddress() . '\n' . $messageHeader);
                $this->logger->debug('return value ' . (($res) ? 'true' : 'false'));
                return $res;
        }