]> git.mxchange.org Git - friendica.git/blobdiff - src/Util/Emailer.php
base64url calls
[friendica.git] / src / Util / Emailer.php
index 7d4205ac3346ec779a34b90024d9b94a4220dc08..42aab8f5f3ef625409d199d291c05a1e64986bb9 100644 (file)
@@ -4,6 +4,9 @@
  */
 namespace Friendica\Util;
 
+use Friendica\Core\Addon;
+use Friendica\Core\Config;
+use Friendica\Core\Logger;
 use Friendica\Core\PConfig;
 use Friendica\Protocol\Email;
 
@@ -30,7 +33,7 @@ class Emailer
         */
        public static function send($params)
        {
-               call_hooks('emailer_send_prepare', $params);
+               Addon::callHooks('emailer_send_prepare', $params);
 
                $email_textonly = false;
                if (x($params, "uid")) {
@@ -47,7 +50,7 @@ class Emailer
                                .rand(10000, 99999);
 
                // generate a multipart/alternative message header
-               $messageHeader = $params['additionalMailHeader'] .
+               $messageHeader = defaults($params, 'additionalMailHeader', '') .
                                                "From: $fromName <{$params['fromEmail']}>\n" .
                                                "Reply-To: $fromName <{$params['replyTo']}>\n" .
                                                "MIME-Version: 1.0\n" .
@@ -71,23 +74,31 @@ class Emailer
                $multipartMessageBody .=
                        "--" . $mimeBoundary . "--\n";                                  // message ending
 
+               if (Config::get("system", "sendmail_params", true)) {
+                       $sendmail_params = '-f ' . $params['fromEmail'];
+               } else {
+                       $sendmail_params = null;
+               }
+
                // send the message
-               $hookdata = array(
+               $hookdata = [
                        'to' => $params['toEmail'],
                        'subject' => $messageSubject,
                        'body' => $multipartMessageBody,
-                       'headers' => $messageHeader
-               );
+                       'headers' => $messageHeader,
+                       'parameters' => $sendmail_params
+               ];
                //echo "<pre>"; var_dump($hookdata); killme();
-               call_hooks("emailer_send", $hookdata);
+               Addon::callHooks("emailer_send", $hookdata);
                $res = mail(
-                       $hookdata['to'],                                                        // send to address
-                       $hookdata['subject'],                                           // subject
-                       $hookdata['body'],                                                      // message body
-                       $hookdata['headers']                                            // message headers
+                       $hookdata['to'],
+                       $hookdata['subject'],
+                       $hookdata['body'],
+                       $hookdata['headers'],
+                       $hookdata['parameters']
                );
-               logger("header " . 'To: ' . $params['toEmail'] . "\n" . $messageHeader, LOGGER_DEBUG);
-               logger("return value " . (($res)?"true":"false"), LOGGER_DEBUG);
+               Logger::log("header " . 'To: ' . $params['toEmail'] . "\n" . $messageHeader, Logger::DEBUG);
+               Logger::log("return value " . (($res)?"true":"false"), Logger::DEBUG);
                return $res;
        }
 }