diff options
Diffstat (limited to 'config/freeswitch/freeswitch_mailto.tmp')
-rw-r--r-- | config/freeswitch/freeswitch_mailto.tmp | 243 |
1 files changed, 0 insertions, 243 deletions
diff --git a/config/freeswitch/freeswitch_mailto.tmp b/config/freeswitch/freeswitch_mailto.tmp deleted file mode 100644 index fa27ff68..00000000 --- a/config/freeswitch/freeswitch_mailto.tmp +++ /dev/null @@ -1,243 +0,0 @@ -<?php -/* $Id$ */ -/* - freeswitch_mailto.php - Copyright (C) 2008 Mark J Crane - All rights reserved. - - FreeSWITCH (TM) - http://www.freeswitch.org/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. -*/ - -require_once("/etc/inc/config.inc"); -require_once("/usr/local/pkg/freeswitch.inc"); -global $config; - -$tmp_smtphost = $config['installedpackages']['freeswitchsettings']['config'][0]['smtphost']; -$tmp_smtpsecure = $config['installedpackages']['freeswitchsettings']['config'][0]['smtpsecure']; //options "", "TLS", "SSL" -$tmp_smtpsecure = strtolower($tmp_smtpsecure); -$tmp_smtpauth = $config['installedpackages']['freeswitchsettings']['config'][0]['smtpauth']; // SMTP authentication: true or false -$tmp_smtpusername = $config['installedpackages']['freeswitchsettings']['config'][0]['smtpusername']; -$tmp_smtppassword = $config['installedpackages']['freeswitchsettings']['config'][0]['smtppassword']; -$tmp_smtpfrom = $config['installedpackages']['freeswitchsettings']['config'][0]['smtpfrom']; -$tmp_smtpfromname = $config['installedpackages']['freeswitchsettings']['config'][0]['smtpfromname']; - - -ini_set(max_execution_time,900); //15 minutes -ini_set('memory_limit', '96M'); -$fd = fopen("php://stdin", "r"); - -$email = file_get_contents ("php://stdin"); - -fclose($fd); - -if($fd){ - $fp = fopen("/tmp/voicemailtoemail.txt", "w"); -} - - -ob_end_clean(); -ob_start(); - - -//get main header and body - $tmparray = split("\n\n", $email); - $mainheader = $tmparray[0]; - $maincontent = substr($email, strlen($mainheader), strlen($email)); - -//get the boundary - $tmparray = split("\n", $mainheader); - $contenttmp = $tmparray[1]; //Content-Type: multipart/mixed; boundary="XXXX_boundary_XXXX" - $tmparray = split('; ', $contenttmp); //boundary="XXXX_boundary_XXXX" - $contenttmp = $tmparray[1]; - $tmparray = split('=', $contenttmp); //"XXXX_boundary_XXXX" - $boundary = $tmparray[1]; - $boundary = trim($boundary,'"'); - //echo "boundary: $boundary\n"; - -//put the main headers into an array - $mainheaderarray = split("\n", $mainheader); - //print_r($mainheaderarray); - foreach ($mainheaderarray as $val) { - $tmparray = split(': ', $val); - //print_r($tmparray); - $var[$tmparray[0]] = trim($tmparray[1]); - } - - $var['To'] = str_replace("<", "", $var['To']); - $var['To'] = str_replace(">", "", $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 "/usr/local/www/packages/freeswitch/class.phpmailer.php"; - include "/usr/local/www/packages/freeswitch/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 - if ($tmp_smtpauth == "true") { - $mail->SMTPAuth = $tmp_smtpauth; // turn on/off SMTP authentication - } - $mail->Host = $tmp_smtphost; - if (strlen($tmp_smtpsecure)>0) { - $mail->SMTPSecure = $tmp_smtpsecure; - } - if ($tmp_smtpusername) { - $mail->Username = $tmp_smtpusername; - $mail->Password = $tmp_smtppassword; - } - $mail->SMTPDebug = 2; - - - $mail->From = $tmp_smtpfrom; - $mail->FromName = $tmp_smtpfromname; - $mail->Subject = $var['Subject']; - $mail->AltBody = $textplain; // optional, comment out and test - $mail->MsgHTML($texthtml); - - - $tmp_to = $var['To']; - $tmp_to = str_replace(";", ",", $tmp_to); - $tmp_to_array = split(",", $tmp_to); - foreach($tmp_to_array as $tmp_to_row) { - if (strlen($tmp_to_row) > 0) { - $mail->AddAddress($tmp_to_row); - } - } - - 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); - -?>
\ No newline at end of file |