Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.11.2014, 14:32
Кандидат Javascript-наук
Отправить личное сообщение для aleks_lv Посмотреть профиль Найти все сообщения от aleks_lv
 
Регистрация: 23.04.2010
Сообщений: 105

двойная работа mail() php
почему то не отправляется два письма
первое идет -второе нет
в чем причина?
тела писем разные
<?php
if (file_exists('count_file.txt'))
{
    $fil = fopen('count_file.txt', r);
    $dat = fread($fil, filesize('count_file.txt'));
    fclose($fil);
    $fil = fopen('count_file.txt', w);
    fwrite($fil, $dat+1);
    $count=$dat+1;
}
else
{
    $fil = fopen('count_file.txt', w);
    fwrite($fil, 1);
    $count=1;
    fclose($fil);
}
$array_my=array(
    'tovar1'=>'Оригинальный Набор Rainbow loom',
    'tovar2'=>"Оригинальный Набор 'Rainbow loom'+2 пакета резиночек",
    'tovar3'=>"Пакет резиночек Зеленый",
    "tovar4"=>"Пакет резиночек Голубой",
    "tovar5"=>"Пакет резиночек Желтый",
    "tovar6"=>"Пакет резиночек Белый",
    "tovar7"=>"Пакет резиночек Синий",
    "tovar8"=>"Пакет резиночек Красный",
    "color1"=>"Пакет 1",
    "color2"=>"Пакет2"

);
//письмо менеджеру
function manager_mail($count){
    $mailto="";
    $mailfrom = isset($_POST['email']) ? $_POST['email'] : $mailto;
    $subject = 'Заявка !!!';
    $message = '    ';
    $success_url = './TH-PopUp.php';
    $error_url = '';
    $error = '';
    $eol = "\r\n";
    $max_filesize = isset($_POST['filesize']) ? $_POST['filesize'] * 1024 : 1024000;
    $boundary = md5(uniqid(time()));
    $header  = 'From: '.$mailfrom.$eol;
    $header .= 'Reply-To: '.$mailfrom.$eol;
    $header .= 'MIME-Version: 1.0'.$eol;
    $header .= 'Content-Type: multipart/mixed; boundary="'.$boundary.'"'.$eol;
    $header .= 'X-Mailer: PHP v'.phpversion().$eol;
    $internalfields = array ("submit", "reset", "send", "captcha_code");
    $message .= $eol;
    $message .= "IP Address : ";
    $message .= $_SERVER['REMOTE_ADDR'];
    $message .= $eol;
    $message.="Номер заявки :".$count.$eol;
    foreach ($_POST as $key => $value)
    {
        if($key=="data"){

            $obb=json_decode($value,true);
            $message .= " З А К А З". $eol;

            foreach($obb as $k=>$v){
                foreach($v as $kk=>$vv){
                    if($kk=="total")
                    {
                        $message .=  "Сумма заказа : " . $vv ." руб.". $eol;
                    }
                    else{
                        if($kk=="text"){
                            $p1=$vv;
                            $p2=$v['kol'];
                            $message .= $p1 ." : " . $p2 ." шт.". $eol;
                            if(isset($v['color1'])){
                                $message .="Пакет 1 : " . $v['color1']. $eol;
                                $message .="Пакет 2 : " . $v['color2']. $eol;
                            }
                        }
                    }
                }

            }
        }
        else{
            if (!in_array(strtolower($key), $internalfields))
            {
                if (!is_array($value))
                {
                    $message .= ucwords(str_replace("_", " ", $key)) . " : " . $value . $eol;
                }
                else
                {
                    $message .= ucwords(str_replace("_", " ", $key)) . " : " . implode(",", $value) . $eol;
                }
            }
        }
    }
    $body  = 'This is a multi-part message in MIME format.'.$eol.$eol;
    $body .= '--'.$boundary.$eol;
    $body .= 'Content-Type: text/plain; charset=UTF-8'.$eol;
    $body .= 'Content-Transfer-Encoding: 8bit'.$eol;
    $body .= $eol.stripslashes($message).$eol;
    if (!empty($_FILES))
    {
        foreach ($_FILES as $key => $value)
        {
            if ($_FILES[$key]['error'] == 0 && $_FILES[$key]['size'] <= $max_filesize)
            {
                $body .= '--'.$boundary.$eol;
                $body .= 'Content-Type: '.$_FILES[$key]['type'].'; name='.$_FILES[$key]['name'].$eol;
                $body .= 'Content-Transfer-Encoding: base64'.$eol;
                $body .= 'Content-Disposition: attachment; filename='.$_FILES[$key]['name'].$eol;
                $body .= $eol.chunk_split(base64_encode(file_get_contents($_FILES[$key]['tmp_name']))).$eol;
            }
        }
    }
    $body .= '--'.$boundary.'--'.$eol;
    if ($mailto != '')
    {
        mail($mailto, $subject, $body, $header);
        echo $count;
    }
}
//письмо клинту
function client_mail($count){

    $to=$_REQUEST['E-Mail'];

    $subject = 'Ваш заказ на сайте w';

    $eol = "\r\n";
    $mailto="";
    $mailfrom = isset($_POST['email']) ? $_POST['email'] : $mailto;

    $boundary = md5(uniqid(time()));

    $header  = 'MIME-Version: 1.0' . "\r\n";
    $header .= 'Content-type: text/html; charset=utf-8' . "\r\n";
    $header.='From:'.$mailfrom.$eol;
    $header.='Reply-To: '.$mailto.$eol;
    $header .= 'X-Mailer: PHP v'.phpversion().$eol;

    $name=$_REQUEST['Имя'];
    $phone=$_POST['Tel_'];

    $mes='<div  style="position:relative;width:600px;height:auto;text-align:center;z-index:2;margin:20px auto;">
        <div style="line-height:61px;"><span style="color:#000000;font-size:37px;">Уважаемый/ая, '.$name.',</span></div>
        <div style="line-height:39px;"><span style="color:#000000;font-size:20px;">Благодарим Вас за оформление заказа №'.$count.' <br>на www.</span></div>
        <div style="line-height:39px;"><span style="color:#000000;font-size:20px;">Для подтверждения заказа наш менеджер свяжется с Вами в ближайшее время.</span></div>
        <div style="line-height:39px;"><span style="color:#000000;font-size:20px;">Ожидайте звонка на номер '.$phone.' (указанный в форме выше)</span></div>
        <div><span style="color:#000000;font-size:20px;">С уважением,ru</span></div>
      </div>
  </div>';

    $mes.='--'.$boundary.'--'.$eol;

    mail($to, $subject, $mes, $header);

}

client_mail($count);
manager_mail($count);

?>
Ответить с цитированием
  #2 (permalink)  
Старый 16.11.2014, 17:23
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

а если местами отправку поменять?
менеджер может быть занят и ему не до приёма почты, поэтому проверь и приведи все получаемые на вход данные
Ответить с цитированием
  #3 (permalink)  
Старый 18.11.2014, 22:09
Кандидат Javascript-наук
Отправить личное сообщение для aleks_lv Посмотреть профиль Найти все сообщения от aleks_lv
 
Регистрация: 23.04.2010
Сообщений: 105

да не совсем то
короче времено помогла задержка
client_mail($count);
sleep(1);
manager_mail($count);

между отправками двух писем
а так то наверное надо подключить какой нибуть phpmailer
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с PHP Minify tyhur Серверные языки и технологии 2 13.06.2013 10:56
Работа с датой в PHP Severtain Серверные языки и технологии 10 02.08.2012 21:20
Работа php с запросами. Duda.Ml1986@gmail.com Серверные языки и технологии 16 07.01.2012 16:04
PHP работа с DOM(получить последний\первый элемент) bayah Серверные языки и технологии 5 14.02.2011 17:29
Работа js +php без обновления страницы Jekel Javascript под браузер 18 29.11.2009 20:17