Помогите найти ошибки в скрипте

Discussion in 'PHP' started by smileface, 7 May 2012.

  1. smileface

    smileface New Member

    Joined:
    6 May 2012
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Пытаюсь написать скрипт для email рассылки.
    Рассылка по адресам из файла base.txt
    и чтоб скрипт на 20 секунд прерывал работу ,а потом автоматически отправлял на следующий адрес.
    Вот что получилось:
    В чем ошибка ,скрипт ни одного сообщения не отправляет. :confused:
    Помогите найти ошибки .
    Заране благодарен. :)
     
    #1 smileface, 7 May 2012
    Last edited: 7 May 2012
  2. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Не мешало бы сначала написать код в тегах пхп и привести в читабельный вид:

    PHP:
    <?php
    $base 
    =file('base.txt');
    $base fopen('base.txt','to');
    for(
    $to='1'$to<sizeof($base); $to++) 
        {
        
    $from ='[email protected]';
        
    $title ='тема';
        
    $mess ='Сообщение html';
        
    $to=$_POST['to'];
        
    $from=$_POST['from'];
        
    $title $_POST['title'];
        
    $mess=$_POST['mess'];
        
    $headers "From: ".$from." \r\n";
        
    $headers.= "Content-Type: text/html; charset=win-1251 ";
        
    $headers .= "MIME-Version: 1.0 ";
        echo 
    "<p class=error>";
        if (
    mail($to$title$mess$headers)) 
            {
            echo 
    " <center> <form method=post action='index.php?ok=ok'> </form> </center>";
            }
    echo 
    sleep(20);
        }
    fclose($base); ?>
    Проверь сначала пашет ли функция mail на сервере (может не настроен sendmail или другой почтовик вовсе).
     
    #2 -=lebed=-, 7 May 2012
    Last edited: 7 May 2012
  3. mironich

    mironich Elder - Старейшина

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    Сурово.
    Сервак mail поддерживает?
     
  4. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    первой строкой читаем содержимое файла и помещаем его в массив. Второй строкой открываем файл зачем? если все адреса получателей в массиве?
     
  5. skrutcher

    skrutcher New Member

    Joined:
    17 Jul 2011
    Messages:
    17
    Likes Received:
    1
    Reputations:
    0
    PHP:
    <?php 
    $base
    =file('base.txt'); 
    foreach(
    $base as $to){                  
        
    $from=$_POST['from'];     
        
    $title $_POST['title'];  
        
    $mess=$_POST['mess'];     
        
    $headers "From: ".$from." \r\n"
        
    $headers.= "Content-Type: text/html; charset=windows-1251 "
        
    $headers .= "MIME-Version: 1.0 "
        echo 
    "<p class=error>"
        
          if (
    mail($to$title$mess$headers))  { 
            echo 
    " <center> <form method=post action='index.php?ok=ok'> </form> </center>"
          } 
          
       
    sleep(20); 

    ?>
    может так?
     
    #5 skrutcher, 7 May 2012
    Last edited: 8 May 2012
  6. smileface

    smileface New Member

    Joined:
    6 May 2012
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Огромное спасибо за помощью!
    Выкладываю окончательный вариант, немного упростил скрипт.
    Теперь все работает.
    PHP:
    <?php
     $base
    =file('base.txt');
     foreach(
    $base as $to)

    $username " Петр ";
     
    $from "[email protected]"
    $title "Привет "
    $mess '<html> <head> </head> <body> </body> </html>';
     
    $headers .= "From: $username <$from>\r\n"
     
    $headers.= "Content-Type: text/html; charset=windows-1251 "
    $headers .= "MIME-Version: 1.0 ";
     echo 
    mail($to$title$mess$headers);
     echo 
    sleep(20); 

    ?>
     
    #6 smileface, 9 May 2012
    Last edited: 9 May 2012
  7. qaz

    qaz Elder - Старейшина

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    зачем тут
    PHP:
    echo  
    mail($to$title$mess$headers); 
     echo  
    sleep(20);
    echo ???????