<?php include('/opt/GoSMS/config.php'); $email = file_get_contents("php://stdin"); $lines = explode("\n", $email); $from = ""; $subject = ""; $to = ""; $orig = ""; $headers = ""; $message = ""; $splittingheaders = true; for ($i=0; $i < count($lines); $i++) { if ($splittingheaders) { $headers .= $lines[$i]."\n"; if (preg_match("/^Subject: (.*)/", $lines[$i], $matches)) { $subject = $matches[1]; } if (preg_match("/^From: (.*)/", $lines[$i], $matches)) { $from = $matches[1]; } if (preg_match("/^To: (.*)/", $lines[$i], $matches)) { $to = $matches[1]; } if (preg_match("/^X-Original-To: (.*)/", $lines[$i], $matches)){ $orig = $matches[1]; } } else { // not a header, but message $lines[$i] = str_replace("?rid=3D", "?rid=", $lines[$i]); if(substr($lines[$i], -1) == "="){ $message .= rtrim($lines[$i], "="); }else{ $message .= $lines[$i]."\n"; } } if (trim($lines[$i])=="") { $splittingheaders = false; } } // Got email and processed, time to send SMS... $orig = str_replace("@gophish.sms", "", $orig); $url = "https://api.twilio.com/2010-04-01/Accounts/$TwilioID/Messages.json"; $data = array ( 'From' => $SMSFrom, 'To' => $orig, 'StatusCallback' => $Callback, 'Body' => $message, ); $post = http_build_query($data); $auth = "$TwilioID:$AuthToken"; $response = SendSMS($url, $post, $auth); function SendSMS($url,$post=false,$auth=false,$timeout=30) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); if ($post) { curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); } if($auth) curl_setopt($ch, CURLOPT_USERPWD, $auth); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); curl_setopt($ch,CURLOPT_ENCODING , ""); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, FALSE); curl_setopt($ch, CURLOPT_HEADER, false); //debug curl_setopt($ch, CURLINFO_HEADER_OUT, true); // enable tracking DEBUG $output=curl_exec($ch); curl_close($ch); return $output; } ?>