<?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;
}
?>