Работа с массивом

Discussion in 'PHP' started by winston14, 16 Feb 2016.

  1. winston14

    winston14 New Member

    Joined:
    12 Feb 2016
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Доброго времени суток. Помогите советом или мануалом в решении следующей проблемы.
    Есть массив с данными из БД (почтовые ящики), надо организовать рассылку с помощью функции mail() Как мне сделать так что бы данные из массива передавались в переменную $mailto (кому) и сделать задержку во времени между каждым письмом. Текст письма и отправитель для всех получателей один.
     
  2. Waki

    Waki Member

    Joined:
    9 Oct 2015
    Messages:
    55
    Likes Received:
    31
    Reputations:
    10
    winston14 likes this.
  3. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,414
    Likes Received:
    911
    Reputations:
    863
    Задержку письма можно в цикле sleep'ом сделать, а массив данных, как пример хотя-бы одну запись надо увидеть, в каком формате массив
     
    _________________________
  4. winston14

    winston14 New Member

    Joined:
    12 Feb 2016
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Ну вот например по совету Waki
    <?
    $freq=date("N");

    //get email address's

    $result = mysql_query("SELECT * FROM email_list ");

    while($row = mysql_fetch_array($result))
    {

    if($row['period']=="daily"){
    $to=$row['name']." <".$row['email'].">\r\n";
    $subject="Your exchange rate update";
    $headers = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    $headers .="To: ".$row['name']." <".$row['email'].">\r\n";
    $headers .= "From: ME <[email protected]>" . "\r\n";
    mail($to, $subject, $email, $headers);
    }
    if($row['period']==$freq){
    $to=$row['name']." <".$row['email'].">\r\n";
    $subject="Your exchange rate update";
    $headers = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    $headers .="To: ".$row['name']." <".$row['email'].">\r\n";
    $headers .= "From: name <[email protected]>" . "\r\n";
    mail($to, $subject, $email, $headers);
    }

    }
    ?>
    Только вот не пойму что значит эта строка if($row['period']=="daily"){ а именно - "daily"?
     
  5. winston14

    winston14 New Member

    Joined:
    12 Feb 2016
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Упростил я немного код, письма уходят нормально. Может кому пригодится.
    <?
    $host='localhost';
    $database='база';
    $user='юзер';
    $pswd='пароль';

    mysql_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL.");
    mysql_select_db($database) or die("Не могу подключиться к базе.");

    $freq=date("N");
    $result = mysql_query("SELECT * FROM TABLE1");

    while($row = mysql_fetch_array($result))
    {
    $emailto = $row['email'];

    $subject = "Поздравляем!"; //тема сообщения
    $message = "ТЕКСТ СООБЩЕНИЯ";
    $emailfrom = "от_кого@mail.com";
    $chek = mail($emailto, $subject, $message, "From:".$emailfrom);
    if($chek) echo "Ваше письмо успешно отправлено!))))))))))))))))))))))))))))))))))))";
    else echo "Ваше письмо не отправлено!(((";
    }
    ?>