X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2FEmailer.php;h=d0568f600128a4f447fbaf4f2561865f613292bd;hb=e5a6d91cc4dc8f8546580c656ed6acc7016d4a28;hp=535a0542893dc3b88dcceda64551264295b41ca0;hpb=e767e2d750585da48c913cc1b09f17a785ccfe8c;p=friendica.git diff --git a/include/Emailer.php b/include/Emailer.php index 535a054289..d0568f6001 100644 --- a/include/Emailer.php +++ b/include/Emailer.php @@ -14,16 +14,24 @@ class Emailer { * @param htmlVersion html version of the message * @param textVersion text only version of the message * @param additionalMailHeader additions to the smtp mail header + * @param optional uid user id of the destination user */ static public function send($params) { + call_hooks('emailer_send_prepare', $params); + + $email_textonly = False; + if (x($params,"uid")) { + $email_textonly = get_pconfig($params['uid'], "system", "email_textonly"); + } + $fromName = email_header_encode(html_entity_decode($params['fromName'],ENT_QUOTES,'UTF-8'),'UTF-8'); $messageSubject = email_header_encode(html_entity_decode($params['messageSubject'],ENT_QUOTES,'UTF-8'),'UTF-8'); // generate a mime boundary $mimeBoundary =rand(0,9)."-" - .rand(10000000000,9999999999)."-" - .rand(10000000000,9999999999)."=:" + .rand(10000000000,99999999999)."-" + .rand(10000000000,99999999999)."=:" .rand(10000,99999); // generate a multipart/alternative message header @@ -41,19 +49,32 @@ class Emailer { "--" . $mimeBoundary . "\n" . // plain text section "Content-Type: text/plain; charset=UTF-8\n" . "Content-Transfer-Encoding: base64\n\n" . - $textBody . "\n" . - "--" . $mimeBoundary . "\n" . // text/html section - "Content-Type: text/html; charset=UTF-8\n" . - "Content-Transfer-Encoding: base64\n\n" . - $htmlBody . "\n" . + $textBody . "\n"; + + if (!$email_textonly && !is_null($params['htmlVersion'])){ + $multipartMessageBody .= + "--" . $mimeBoundary . "\n" . // text/html section + "Content-Type: text/html; charset=UTF-8\n" . + "Content-Transfer-Encoding: base64\n\n" . + $htmlBody . "\n"; + } + $multipartMessageBody .= "--" . $mimeBoundary . "--\n"; // message ending // send the message + $hookdata = array( + 'to' => $params['toEmail'], + 'subject' => $messageSubject, + 'body' => $multipartMessageBody, + 'headers' => $messageHeader + ); + //echo "
"; var_dump($hookdata); killme();
+		call_hooks("emailer_send", $hookdata);
 		$res = mail(
-			$params['toEmail'],	 									// send to address
-			$messageSubject,								// subject
-			$multipartMessageBody,	 						// message body
-			$messageHeader									// message headers
+			$hookdata['to'],							// send to address
+			$hookdata['subject'],						// subject
+			$hookdata['body'], 	 						// message body
+			$hookdata['headers']						// message headers
 		);
 		logger("header " . 'To: ' . $params['toEmail'] . "\n" . $messageHeader, LOGGER_DEBUG);
 		logger("return value " . (($res)?"true":"false"), LOGGER_DEBUG);