'; echo $msg; echo '

<- Go to previous page>'; echo ''; } function ShowMessageRef($msg) { echo '
'; echo $msg; echo '

<- Go to previous page>'; echo '
'; } function SMTPmail($server, $login, $password, $emailto, $subject, $message, $from) { function get_data($smtp_conn) { $data=""; while($str = @fgets($smtp_conn,515)) { $data .= $str; if(substr($str,3,1) == " ") { break; } } return $data; } $headers = "To: $emailto\nFrom: $from\nSubject: $subject\nX-Mailer: The Bat! (v3.99.3) Professional\n"; $smtp_conn = @fsockopen($server, 25, &$errno, &$errstr, 30); if (!$smtp_conn) { return "Server $server. Connection failed: $errno"; } $data = get_data($smtp_conn); $serverdomainarray = explode('.', $server); $serverdomainarraycount = count($serverdomainarray); $serverdomain = $serverdomainarray[$serverdomainarraycount - 2].".".$serverdomainarray[$serverdomainarraycount - 1]; fputs($smtp_conn,"HELO $serverdomain\r\n"); $data = get_data($smtp_conn); if($data != 250) {fclose($smtp_conn); return 'SMTP server HELO command error.';} fputs($smtp_conn,"AUTH LOGIN\r\n"); $data = get_data($smtp_conn); if($data != 334) {fclose($smtp_conn); return 'SMTP server AUTH command error.';} fputs($smtp_conn,base64_encode($login)."\r\n"); $data = get_data($smtp_conn); if($data != 334) {fclose($smtp_conn); return 'SMTP server login failed.';} fputs($smtp_conn,base64_encode($password)."\r\n"); $data = get_data($smtp_conn); if($data != 235) {fclose($smtp_conn); return 'SMTP server incorrect password.';} fputs($smtp_conn,"MAIL FROM: $login@$serverdomain\r\n"); $data = get_data($smtp_conn); if($data != 250) {fclose($smtp_conn); return 'SMTP server MAILFROM command error.';} fputs($smtp_conn,"RCPT TO: $emailto\r\n"); $data = get_data($smtp_conn); if($data != 250) {fclose($smtp_conn); return 'SMTP server RCPT TO command error.';} fputs($smtp_conn,"DATA\r\n"); $code = substr(get_data($smtp_conn),0,3); if($code != 354) {fclose($smtp_conn); return 'SMTP server DATA sending error.';} fputs($smtp_conn,$headers."\r\n".$message."\r\n.\r\n"); $code = substr(get_data($smtp_conn),0,3); if($code != 250) {fclose($smtp_conn); return 'SMTP server HEADER sending error.';} fputs($smtp_conn,"\n.\nQUIT\n"); $data = get_data($smtp_conn); fclose($smtp_conn); return 'OK'; } // PHPMailer function CallPHPMailer($sendmethod) { global $gTestCaptcha; if (($gTestCaptcha == true)&&(empty($_POST['captcha']) || ($_POST['captcha'] != $_SESSION['random_number']))) { ShowMessage('ERROR!
Verification code is incorrect.'); exit(); } if (empty($_POST['cname'])) { ShowMessage('ERROR!
Enter correct name.'); exit(); } if (empty($_POST['email']) || !preg_match("/^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$/", $_POST['email'])) { ShowMessage('ERROR!
Enter correct email.'); exit(); } $cname = substr($_POST['cname'], 0, 50); $cname = trim($cname); $cname = htmlspecialchars(stripslashes($cname)); $email = substr($_POST['email'], 0, 50); $email = trim($email); $email = htmlspecialchars(stripslashes($email)); $subject = substr($_POST['subject'], 0, 50); $subject = trim($subject); $subject = htmlspecialchars(stripslashes($subject)); $message = substr($_POST['message'], 0, 4096); $message = trim($message); $message = htmlspecialchars(stripslashes($message)); global $gSMTPServer, $gSMTPLogin, $gSMTPPassword, $gEmailto, $gOKMessage; if ($sendmethod == 'sendmail') { if (mail($gEmailto, $subject, $message, 'From: "'.$cname.'" <'.$email.'>')) { ShowMessageRef($gOKMessage); } else { ShowMessageRef('Error during message sending.'); } } else if ($sendmethod == 'SMTP') { $result = SMTPmail($gSMTPServer, $gSMTPLogin, $gSMTPPassword, $gEmailto, $subject, $message, 'From: "'.$cname.'" <'.$email.'>'); if ($result == 'OK') { ShowMessageRef($gOKMessage); } else { ShowMessageRef($result); } } } // AjaxMailer function CallAJAXMailer($sendmethod) { function MakeExit($vsStatus, $vsErrors) { header('Content-Type: text/xml'); echo ''; echo ''; echo ''.$vsStatus.''; if ($vsErrors <> '') { echo ''.$vsErrors.''; } echo ''; exit(); } function cleanPosUrl ($str) { $nStr = $str; $nStr = str_replace("**am**","&",$nStr); $nStr = str_replace("**pl**","+",$nStr); $nStr = str_replace("**eq**","=",$nStr); return stripslashes($nStr); } $cname = substr(cleanPosUrl($_POST['posName']), 0, 50); $cname = trim($cname); $cname = htmlspecialchars(stripslashes($cname)); $email = substr(cleanPosUrl($_POST['posEmail']), 0, 50); $email = trim($email); $email = htmlspecialchars(stripslashes($email)); $subject = substr(cleanPosUrl($_POST['posSubject']), 0, 50); $subject = trim($subject); $subject = htmlspecialchars(stripslashes($subject)); $message = substr(cleanPosUrl($_POST['posMessage']), 0, 4096); $message = trim($message); //$message = htmlspecialchars(stripslashes($message)); $message = stripslashes($message); $captcha = substr(cleanPosUrl($_POST['posCaptcha']), 0, 50); $captcha = trim($captcha); $captcha = htmlspecialchars(stripslashes($captcha)); $posErrors = ''; global $gTestCaptcha; if (($gTestCaptcha == true)&&(empty($captcha) || ($captcha != $_SESSION['random_number']))) { $posErrors .= '
  • Verification code is incorrect!
  • '; $posErrors = ''; MakeExit('CAPTCHAERROR', $posErrors); } if (empty($cname)) { $posErrors .= '
  • Enter correct name
  • '; } if (empty($email) || !preg_match("/^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$/", $email)) { $posErrors .= '
  • Enter correct email
  • '; } if ($posErrors <> '') $posErrors = ''; if ($posErrors <> '') MakeExit('ERRORS', $posErrors); global $gSMTPServer, $gSMTPLogin, $gSMTPPassword, $gEmailto; if ($sendmethod == 'sendmail') { $Type = "Content-Transfer-Encoding: 8bit\n\r" . "Content-Type: text/html; charset=UTF-8\n\r"; $From = "From:"."=?UTF-8?B?".base64_encode($cname)."?=<".$email.">"; $Header = $Type.$From; if (mail($gEmailto, "=?UTF-8?B?".base64_encode($subject)."?=", nl2br($message), $Header)) { MakeExit('OK', ''); } else { MakeExit('NOTOK', ''); } } else if ($sendmethod == 'SMTP') { $result = SMTPmail($gSMTPServer, $gSMTPLogin, $gSMTPPassword, $gEmailto, $subject, $message, 'From: "'.$cname.'" <'.$email.'>'); if ($result == 'OK') { MakeExit('OK', ''); } else { MakeExit('ERRORS', ''.$result.']]>'); } } } // Main if (isset($_GET['action'])) if ($_GET['action'] == 'getCaptcha') { header('Pragma: no-cache'); header('Expires: -1'); header('Cache-control: no-cache'); $_SESSION['random_number']=rand(1000, 9999); $number=$_SESSION['random_number']; header ("Content-type: image/png"); $im = @imagecreatetruecolor(60, 19) or die("Cannot Initialize new GD image stream"); $text_color = imagecolorallocate($im, 199, 224, 212); $text_color1 = imagecolorallocate($im, 0, 0, 0); $background = imagecolorallocate($im, 121, 179, 11); $e=imagefilledrectangle ( $im, 0, 0,100, 50, $background); imagestring($im, 8, 2, 2, $number, $text_color); imagestring($im, 8, 4, 4, $number, $text_color1); imagegif($im); imagedestroy($im); exit(); } if (isset($_GET['tech']) && isset($_GET['method'])) { if ($_GET['tech'] == 'php') { CallPHPMailer($_GET['method']); } else if ($_GET['tech'] == 'ajax') { CallAJAXMailer($_GET['method']); } } ?>