aboutsummaryrefslogtreecommitdiffstats
path: root/config/freeswitch/freeswitch_mailto.tmp
diff options
context:
space:
mode:
Diffstat (limited to 'config/freeswitch/freeswitch_mailto.tmp')
-rw-r--r--config/freeswitch/freeswitch_mailto.tmp243
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