<?php class EmailNotification { /** * Send a multipart/alternative message with Text and HTML versions * * @param fromName name of the sender * @param fromEmail email fo the sender * @param replyTo replyTo address to direct responses * @param toEmail destination email address * @param messageSubject subject of the message * @param htmlVersion html version of the message * @param textVersion text only version of the message */ static public function sendTextHtmlEmail($fromName,$fromEmail,$replyTo,$toEmail,$messageSubject,$htmlVersion,$textVersion) { logger("sendTextHtmlEmail: BEGIN"); logger("fromName: " . $fromName); logger("fromEmail: " . $fromEmail); logger("replyTo: " . $replyTo); logger("toEmail: " . $toEmail); logger("messageSubject: " . $messageSubject); //logger("htmlVersion: " . $htmlVersion); //logger("textVersion: " . $textVersion); // generate a mime boundary $mimeBoundary =rand(0,9)."-" .rand(10000000000,9999999999)."-" .rand(10000000000,9999999999)."=:" .rand(10000,99999); // generate a multipart/alternative message header $messageHeader = "From: {$fromName} <{$fromEmail}>\n" . "Reply-To: {$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($textVersion)); $htmlBody = chunk_split(base64_encode($htmlVersion)); $multipartMessageBody = "--" . $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" . "--" . $mimeBoundary . "--\n"; // message ending // send the message $res = mail( $toEmail, // send to address $messageSubject, // subject $multipartMessageBody, // message body $messageHeader // message headers ); logger("sendTextHtmlEmail: END"); } } ?>