X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FUtil%2FEmailer.php;h=4fa5e290576df8c384377a9cb55d66c52f5f2a7e;hb=2c8c803d6487c0ed2d00f148eb4c9ad6fa564aef;hp=ec37204000b3b8d0a42f5275037006cb40dfc674;hpb=e90b0748aaa879bc5dfbffb12083c26f1d377342;p=friendica.git diff --git a/src/Util/Emailer.php b/src/Util/Emailer.php index ec37204000..4fa5e29057 100644 --- a/src/Util/Emailer.php +++ b/src/Util/Emailer.php @@ -4,6 +4,8 @@ */ namespace Friendica\Util; +use Friendica\Core\Addon; +use Friendica\Core\Config; use Friendica\Core\PConfig; use Friendica\Protocol\Email; @@ -30,15 +32,15 @@ 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")) { $email_textonly = PConfig::get($params['uid'], "system", "email_textonly"); } - $fromName = Email::emailHeaderEncode(html_entity_decode($params['fromName'], ENT_QUOTES, 'UTF-8'), 'UTF-8'); - $messageSubject = Email::emailHeaderEncode(html_entity_decode($params['messageSubject'], ENT_QUOTES, 'UTF-8'), 'UTF-8'); + $fromName = Email::encodeHeader(html_entity_decode($params['fromName'], ENT_QUOTES, 'UTF-8'), 'UTF-8'); + $messageSubject = Email::encodeHeader(html_entity_decode($params['messageSubject'], ENT_QUOTES, 'UTF-8'), 'UTF-8'); // generate a mime boundary $mimeBoundary =rand(0, 9)."-" @@ -71,20 +73,28 @@ 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 "
"; 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);