<?
function setLogEmail($from , $to, $subj, $text, $rez,$msg){
    //ЛОгирование отправки формы на почту
    $clearText = str_replace("<br>", "\r\n", $text);
    $clearText = str_replace("<br />", "\r\n", $clearText);
    $message = date("d-m-Y H:i:s",  time())." : ".$msg."\r\n";
    $message .= "Результат: ".$rez."\r\n";
    $message .= "Исходные данные: \r\n";
    $message .= "От: ".$from."\r\n";
    $message .= "Куда: ".$to."\r\n";
    $message .= "Тема: ".$subj."\r\n";
    $message .= "Текст: ".$clearText."\r\n";
    $message .= "-----------------------------------------------------\r\n\r\n\r\n\r\n";
    file_put_contents($_SERVER['DOCUMENT_ROOT']."/baform/showrezulthtml/log_email.txt", $message);
}
function imTranslite2($str){

        static $tbl= array(
            'а'=>'a', 'б'=>'b', 'в'=>'v', 'г'=>'g', 'д'=>'d', 'е'=>'e', 'ж'=>'g', 'з'=>'z',
            'и'=>'i', 'й'=>'y', 'к'=>'k', 'л'=>'l', 'м'=>'m', 'н'=>'n', 'о'=>'o', 'п'=>'p',
            'р'=>'r', 'с'=>'s', 'т'=>'t', 'у'=>'u', 'ф'=>'f', 'ы'=>'y', 'э'=>'e', 'А'=>'A',
            'Б'=>'B', 'В'=>'V', 'Г'=>'G', 'Д'=>'D', 'Е'=>'E', 'Ж'=>'G', 'З'=>'Z', 'И'=>'I',
            'Й'=>'Y', 'К'=>'K', 'Л'=>'L', 'М'=>'M', 'Н'=>'N', 'О'=>'O', 'П'=>'P', 'Р'=>'R',
            'С'=>'S', 'Т'=>'T', 'У'=>'U', 'Ф'=>'F', 'Ы'=>'Y', 'Э'=>'E', 'ё'=>"yo", 'х'=>"h",
            'ц'=>"ts", 'ч'=>"ch", 'ш'=>"sh", 'щ'=>"shch", 'ъ'=>"", 'ь'=>"", 'ю'=>"yu", 'я'=>"ya",
            'Ё'=>"YO", 'Х'=>"H", 'Ц'=>"TS", 'Ч'=>"CH", 'Ш'=>"SH", 'Щ'=>"SHCH", 'Ъ'=>"", 'Ь'=>"",
            'Ю'=>"YU", 'Я'=>"YA", ' '=>"_", '№'=>"", '«'=>"<", '»'=>">", '—'=>"-"
        );
        // Убираю спецсиволы и укорачиваю.
        //Добавляю случ Символ
        $wwz = strtolower(strtr($str, $tbl));
        $wwz = preg_replace('[\?|\<|\>|\"|{|}|\(|\)|\[|\]|;|:|,|\&|/|\*|`|\~|\'|\^|%|\#|\$|!|\s|]','',$wwz);
        if(strlen($wwz)>40){
            $wwz = substr($wwz,0,40);
        }
        $wwz = str_replace(" ", "_", $wwz);
        $wwz = str_replace(".", "_", $wwz);
        $wwz = str_replace('/', '_', $wwz);
        $wwz = str_replace("\\", "_", $wwz);
        $wwz = str_replace("'", "_", $wwz);
        $wwz = str_replace('"', '_', $wwz);
        $wwz = str_replace("%", "_", $wwz);
        $wwz = str_replace("`", "_", $wwz);
        $wwz = str_replace("~", "_", $wwz);
        $wwz = str_replace("@", "_", $wwz);
        $wwz = str_replace("^", "_", $wwz);
        $wwz = str_replace("&", "_", $wwz);
        $wwz = str_replace("*", "_", $wwz);
        $wwz = str_replace(")", "_", $wwz);
        $wwz = str_replace("(", "_", $wwz);
        $wwz = str_replace("+", "_", $wwz);
        $wwz = str_replace(":", "_", $wwz);
        $wwz = str_replace(",", "_", $wwz);
        $wwz = str_replace("?", "_", $wwz);
        $wwz = str_replace("!", "_", $wwz);
        $wwz = str_replace(";", "_", $wwz);
        $wwz = str_replace("#", "_", $wwz);
        $wwz = str_replace("№", "_", $wwz);
        $wwz = str_replace("[", "_", $wwz);
        $wwz = str_replace("]", "_", $wwz);
        $wwz = str_replace("{", "_", $wwz);
        $wwz = str_replace("}", "_", $wwz);
        $wwz = str_replace("\n\r", "", $wwz);
        $wwz = str_replace("\n", "", $wwz);
        $wwz = str_replace("\r", "", $wwz);
        $wwz = str_replace("\x09", "", $wwz);
        $wwz = str_replace("\x0A", "", $wwz);
        $wwz = str_replace("\xA0", "", $wwz);
        $wwz = str_replace("|", "", $wwz);
        $wwz = str_replace("\x00", "", $wwz);
        return $wwz."".str_replace(",","", str_replace(".", "", microtime()));
    }
$ms = $_REQUEST;
if(!empty($ms['main_message'])){
    setLogEmail($from , $toUser, $subjUser, $text, $rez,"Отправлено SPAM1");
    echo "SPAM1";
    die;
}
$isSpam = 1;
if(!empty($ms['fromEmail'])){
    if($ms['fromEmail'] == "-DATA_EMAIL_FROM-"){
        $isSpam = 0;
    }
}
if($isSpam == 1 ){
    setLogEmail($from , $toUser, $subjUser, $text, $rez,"Отправлено SPAM2");
    echo "SPAM2";
    die;
}
$arrFiles=Array();
if(!empty($_FILES)){
    foreach($_FILES as $key=>$val){
            if(!empty($val['tmp_name'])){
                $path_parts = pathinfo($val['full_path']);
                if(!empty($path_parts['extension'])){
                    $newNameFile = $key.".".$path_parts['extension'];
                }else{
                    $newNameFile = $key;
                }
                $newNameFile = imTranslite2($val['name'])."_".$newNameFile;
                $arrFiles[] = array(
                    "full_tmp_puth" => $val['tmp_name'],
                    "name" => $newNameFile,
                    "content"=>file_get_contents($val['tmp_name']),
                );
            }

    }
}
$bodyHtml = $ms['message'];
$bodyText = str_replace("<br>", "\r\n", $ms['message']);
$bodyText = str_replace("<br />", "\r\n", $bodyText);

function XMail( $from, $to, $subj, $text, $files, $arrFiles, $formatTYpe){
    $EOL_0 = "1";
    if($EOL_0 == 1){
        $EOL = "\r\n";
    }else{
        $EOL = "\n";
    }
    $un = strtoupper(uniqid(time()));
    $head = "From: ".$from.$EOL;
    //$head .= "To: ".$to.$EOL;

    $encoded_subject = mb_encode_mimeheader($subj, 'UTF-8', 'Q');

    $head .= "Subject: ".$encoded_subject.$EOL;
    $head .= "X-Mailer: PHPMail Tool".$EOL;
    $head .= "Reply-To: ".$from.$EOL;
    $head .= "Mime-Version: 1.0".$EOL;
    $head .= "Content-Type:multipart/mixed;";
    $head .= "boundary=\"----------".$un."\"".$EOL.$EOL;
    $zag = "------------".$un."\nContent-Type:".$formatTYpe.";".$EOL;
    $zag .= "Content-Transfer-Encoding: 8bit".$EOL.$EOL.$text.$EOL.$EOL;
    foreach($arrFiles as $key=>$value) {
        if(!empty($value['content'])){
            $zag .= "------------".$un.$EOL;
            $zag .= "Content-Type: application/octet-stream;";
            $zag .= "name=\"".$value['name']."\"".$EOL;
            $zag .= "Content-Transfer-Encoding:base64".$EOL;
            $zag .= "Content-Disposition:attachment;";
            $zag .= "filename=\"".$value['name']."\"".$EOL.$EOL;
            $zag .= chunk_split(base64_encode($value['content'])).$EOL;
        }
    }

    if (mail($to, $subj, $zag, $head)){
        return 1;
    }else{
        return 0;
    }
}

$from = "admin@defolt.local";
$to = "";
$subj = "";
$subjUser = "";
$sendToUser = "N";

$flHtml = 0;//0-В текстовом Формате, 1-в html формате

If($flHtml === 0){
    $text = $bodyText;
    $formatTYpe = "text/plain";
}else{
    $text = $bodyHtml;
    $formatTYpe = "text/html";
}
$rez =false;
/*-!!!-here insert code for test e-mail only on online sevice*/
if(!empty($ms['main_message'])){
    setLogEmail($from , $to, $subj, $text, "Spam","Попытка отправить админу");
    echo "SPAM";
}else{
    $rez = XMail($from, $to, $subj, $text, array(), $arrFiles, $formatTYpe);
    setLogEmail($from, $to, $subj, $text, $rez, "Отправлено Админу");//Логирование отправки формы админу
    if($sendToUser == "Y"){//Дополнительное письмо пользователю, если это необходимо
        $userEmailKeyField = "";
        $userPhoneKeyField = "";
        if(!empty($userEmailKeyField)){
            if(!empty($ms[$userEmailKeyField])){
                $toUser = $ms[$userEmailKeyField];
                $rez = false;
                $rez = XMail($from, $toUser, $subjUser, $text, array(), $arrFiles, $formatTYpe);
                setLogEmail($from, $toUser, $subjUser, $text, $rez, "Отправлено посетителю");//Логирование отправки формы посетителю
            }
        }
    }
    if($rez){
        echo "OK";
    }else{
        echo "ERROR";
    }
}





?>