", "", $var['To']); echo "To: ".$var['To']."\n"; echo "From: ".$var['From']."\n"; echo "Subject: ".$var['Subject']."\n"; //print_r($var); echo "\n\n"; // split mime type multi-part into each part $maincontent = str_replace($boundary."--", $boundary, $maincontent); $tmparray = split("--".$boundary, $maincontent); // loop through each mime part $i=0; foreach ($tmparray as $mimepart) { $mimearray = split("\n\n", $mimepart); $subheader = $mimearray[0]; $headermimearray = split("\n", trim($subheader)); $x=0; foreach ($headermimearray as $val) { if(stristr($val, ':') === FALSE) { $tmparray = split('=', $val); //':' not found if (trim($tmparray[0]) == "boundary") { $subboundary = $tmparray[1]; $subboundary = trim($subboundary,'"'); //echo "subboundary: ".$subboundary."\n"; } } else { $tmparray = split(':', $val); //':' found } //print_r($tmparray); $var[trim($tmparray[0])] = trim($tmparray[1]); } //print_r($var); $contenttypearray = split(' ', $headermimearray[0]); if ($contenttypearray[0] == "Content-Type:") { $contenttype = trim($contenttypearray[1]); switch ($contenttype) { case "multipart/alternative;": //echo "type: ".$contenttype."\n"; $content = trim(substr($mimepart, strlen($subheader), strlen($mimepart))); $content = str_replace($subboundary."--", $subboundary, $content); $tmpsubarray = split("--".$subboundary, $content); foreach ($tmpsubarray as $mimesubsubpart) { $mimesubsubarray = split("\n\n", $mimesubsubpart); $subsubheader = $mimesubsubarray[0]; $headersubsubmimeearray = split("\n", trim($subsubheader)); $subsubcontenttypearray = split(' ', $headersubsubmimeearray[0]); //echo "subsubcontenttypearray[0] ".$subsubcontenttypearray[0]."\n"; if ($subsubcontenttypearray[0] == "Content-Type:") { $subsubcontenttype = trim($subsubcontenttypearray[1]); switch ($subsubcontenttype) { case "text/plain;": $textplain = trim(substr($mimesubsubpart, strlen($subsubheader), strlen($mimesubsubpart))); //echo "text/plain: $textplain\n"; break; case "text/html;": $texthtml = trim(substr($mimesubsubpart, strlen($subsubheader), strlen($mimesubsubpart))); //echo "text/html: $texthtml\n"; break; } } //end if } //end foreach break; case "audio/wav;": //echo "type: ".$contenttype."\n"; $strwav = trim(substr($mimepart, strlen($subheader), strlen($mimepart))); //echo "\n*** begin wav ***\n".$strwav."\n*** end wav ***\n"; break; }//end switch } //end if $i++; } //end foreach //send the email include "class.phpmailer.php"; include "class.smtp.php"; ; // optional, gets called from within class.phpmailer.php if not already loaded $mail = new PHPMailer(); $mail->IsSMTP(); // set mailer to use SMTP $mail->SMTPAuth = $tmp_smtpauth; // turn on/off SMTP authentication $mail->Host = $tmp_smtphost; if (strlen($tmp_smtpsecure)>0) { $mail->SMTPSecure = $tmp_smtpsecure; } if ($tmp_smtpauth) { $mail->Username = $tmp_smtpusername; $mail->Password = $tmp_smtppassword; } $mail->From = $tmp_smtpfrom; $mail->FromName = $var['From']; $mail->Subject = $var['Subject']; $mail->AltBody = $textplain; // optional, comment out and test $mail->MsgHTML($texthtml); $mail->AddAddress($var['To']); if (strlen($strwav) > 0) { //$mail->AddAttachment("/usr/local/freeswitch/data/domain/example.wav"); // attachment $filename='voicemail.wav'; $encoding = "base64"; $type = "audio/wav"; $mail->AddStringAttachment(base64_decode($strwav),$filename,$encoding,$type); } unset($strwav); if(!$mail->Send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; } $content = ob_get_contents(); //get the output from the buffer ob_end_clean(); //clean the buffer fwrite($fp, $content); fclose($fp); ?>