X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2FEmailer.php;h=b0cdc3fe63b556ad6dc0a67a61efd427b0b4622b;hb=d49325d177cf03b97df250ca3cb081421c541049;hp=2baa279802bc28eee537e7bc74211f194f7c93a3;hpb=9a0c37eb47cde20f532d7dcac583ca95a8cd4d24;p=friendica.git diff --git a/include/Emailer.php b/include/Emailer.php index 2baa279802..b0cdc3fe63 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(100000000,999999999)."-" + .rand(100000000,999999999)."=:" .rand(10000,99999); // generate a multipart/alternative message header @@ -41,22 +49,36 @@ 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); + return $res; } } ?>