Strict Standards: Resource ID#34 used as offset, casting to integer (34) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#36 used as offset, casting to integer (36) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#37 used as offset, casting to integer (37) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Как сделать рассылку с сайта пользователям [2]
ТвойWeb » Сайтостроительство » Форумы » Как сделать рассылку с сайта пользователям

Страниц (6): « 1 [2] 3 4 5 6 »
 

11. TvoyWeb - 18 Февраля, 2005 - 15:03:07 - перейти к сообщению
ita пишет:
ч желательно указывать set_time_limit("0"Подмигивание

Улыбка Ну до этого еще дело пока не дошло. Я имею в виду, что даже пока цикла не видать.
Пусть чел напишет скрипт, мы посмотрим поправим... как говорится всему свое время.
victor
Учись.
victor пишет:
Я и хотел из текстового файла брать адреса получателя.

Вот и напиши скрипт, который вытащит из текстового файла адреса, создаст массив и прокрутив массив в цикле отправь письма.
Выложи что ты написал и посмотрим.
А вообще для начала напиши код который будет выдергивать адреса из текстового файла. ИМХО это как домашнее задание тебе.
12. ita - 20 Февраля, 2005 - 07:24:24 - перейти к сообщению
Цитата:
Раскажи, пожалуста.

рассказую.. вобщем скрипт рассылки запускался из crontab в конкретное время.. а задачи для этого же crontab устанавливал другой скрипт. он считал кол-во подписчиков и в в зависимости от этого ставил определенное кол-во задач.. задачи отличались аргументами командной строки. по этим агрументам скрипт делал запрос к бд маскуль, выбирал подписчиков и отправлял им письмо.. делалось это раз в час 12 часов в сутки.. примерно так..
13. victor - 21 Февраля, 2005 - 05:11:08 - перейти к сообщению
Примерно так, я пропишу цикл просмотра файла:
CODE:
<?
int fopen ("mail.txt","r"); //Открываем файл в текущем каталоге

$file_array = file("mail.txt"); //Забирает по строчке из файла
if(!$file_aaray)

else
{
for (i=0; $i < count ($file_array); $i++)
{
print ("%s<BR>", $file_array[$i]);
}
}
int fclose ("mail.txt)
?>


Не судите строго, если что-то не так написал.

(Добавление)
Ой у меня там опечатка в 6 строке array
14. TvoyWeb - 21 Февраля, 2005 - 06:36:29 - перейти к сообщению
victor пишет:
int fopen ("mail.txt","r"Подмигивание; //Открываем файл в текущем каталоге

Зачем? Если
victor пишет:
$file_array = file("mail.txt"Подмигивание; //Забирает по строчке из файла

Вот смотри код....
CODE:
<?php
$file_array = file("mail.txt"); //Забирает по строчке из файла в массив
if(count ($file_array)){//если маасив не пуст то выводим построчно на экран
for ($i=0; $i < count ($file_array); $i++){
if (!empty($file_array[$i])){//если строка не пустая, обычно бывает что первая строка пуста, поэтому лучше проверить
printf ("%s<BR>", $file_array[$i]);//печатаем в данной строке именно printf а не print
// print'ом печатают так print $file_array[$i]."<BR>";
} else {
continue;
}
}
} else {
echo "В файле mail.txt нет записей";
}
?>
15. victor - 21 Февраля, 2005 - 11:25:10 - перейти к сообщению
Спасибо за науку.
Теперь мой файл будет выглядеть так:

CODE:
<?php
//Определяем необходимые переменные
$tomail = $file_array; //Кому
$subject = "Новости Регион45";//Тема сообщения
$messages = "ПРОВЕРКА";

/* Заголовок письма*/
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=windows-1251\r\n";
$headers .= "Content-transfer-encoding: 8bit\r\n";
$headers .= "Date: " . gmdate('D, d M Y H:i:s', time()) . " UT\r\n";
$headers .= "X-Priority: 3\r\n";
$headers .= "X-MSMail-Priority: Normal\r\n";
$headers .= "X-Mailer: PHP\r\n";
$headers .= "From: Администратор сайта <fonarik@zauralmedia.ru> \r\n";
$headers .= "Return-Path: <fonarik@zauralmedia.ru>\r\n";
$headers .= "Reply-To: Администратор сайта <fonarik@zauralmedia.ru>\r\n";

$file_array = file("mail.txt"); //Забирает по строчке из файла в массив
if(count ($file_array)){//если маасив не пуст то выводим построчно на экран
for ($i=0; $i < count ($file_array); $i++){
if (!empty($file_array[$i])){//если строка не пустая, обычно бывает что первая строка пуста, поэтому лучше проверить
printf ("%s<BR>", $file_array[$i]);//печатаем в данной строке именно printf а не print
} else {
continue;
}
}
} else {
echo "В файле mail.txt нет записей";
}

if(mail($tomail, $subject, $message, $headers)){//если функция mail() выполнена то выводим сообщение об успешной отправке
echo "Письмо успешно отправлено";
} else {//В противном случае, если возникли какие-то ошибки и письмо не было отправлено, выводим сообщение о неудачной отправке
echo "Во время отправки письма произошла ошибка<BR>Письмо не было отправлено!";
}
?>


Все правильно, или гдето допустил ошибку.
16. TvoyWeb - 21 Февраля, 2005 - 11:36:06 - перейти к сообщению
victor пишет:
Теперь мой файл будет выглядеть так:

А ты проверял его?
CODE:
$tomail = $file_array; //Кому

Что в этой строке есть $file_array ? Отвечу ничего!!! Мало того, PHP будет ругаться на неизвестную переменную.
Вобщем запусти скрипт и посмотри что выйдет.
17. victor - 21 Февраля, 2005 - 12:29:37 - перейти к сообщению
TvoyWeb
Не ругайся, у тебя же девиз: Я не волшебник, Я только учусь!
А у меня практика с этим дивизом.

А переменная
$file_array = NULL
Теперь правиль.
Потому что, ему надо придать первое значение 0, а потом он будет брать значение из файла. И еще как я понимаю эту строчку надо перенести
$tomail = $file_array; //Кому
и поставить перед:
if(mail($tomail, $subject, $message, $headers)

ЧТО ТЫ НА ЭТО СКАЖЕШЬ.
18. TvoyWeb - 21 Февраля, 2005 - 14:05:35 - перейти к сообщению
victor пишет:
эту строчку надо перенести

Вот....... мы уже малек продвигаемся..... Улыбка Есть контакт. Но все же скрипт абсолютно не верен.
Ты должен использовать функцию mail в твоем цикле for. А сейчас ты передаешь функции mail массив, что не верно. И потом зачем ты печатаешь на экране элементы массива (printf ("%s<br>", $file_array[$i])Подмигивание ? Для этого скрипта это не нужно.
19. victor - 21 Февраля, 2005 - 23:39:54 - перейти к сообщению
Но ведь mail состоит из четырех параметров.
Если внести функцию mail в цикл то она должна выглядеть так:
CODE:
<?php
//Определяем необходимые переменные
$file_array = NULL
$tomail = NULL
$subject = "Новости Регион45";//Тема сообщения
$messages = "ПРОВЕРКА";

/* Заголовок письма*/
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=windows-1251\r\n";
$headers .= "Content-transfer-encoding: 8bit\r\n";
$headers .= "Date: " . gmdate('D, d M Y H:i:s', time()) . " UT\r\n";
$headers .= "X-Priority: 3\r\n";
$headers .= "X-MSMail-Priority: Normal\r\n";
$headers .= "X-Mailer: PHP\r\n";
$headers .= "From: Администратор сайта <fonarik@zauralmedia.ru> \r\n";
$headers .= "Return-Path: <fonarik@zauralmedia.ru>\r\n";
$headers .= "Reply-To: Администратор сайта <fonarik@zauralmedia.ru>\r\n";

$file_array = file("mail.txt"); //Забирает по строчке из файла в массив
if(count ($file_array)){//если маасив не пуст то забираем построчно
for ($i=0; $i < count ($file_array); $i++){
if (!empty($file_array[$i])){//если строка не пустая, обычно бывает что первая строка пуста, поэтому лучше проверить
$file_array = $file_array[$i]

$tomail = $file_array;

(mail($tomail, $subject, $message, $headers)){
echo "Письмо успешно отправлено";
} else {
echo "Во время отправки письма произошла ошибка<BR>Письмо не было отправлено!";
}
} else {
continue;
}
}
} else {
echo "В файле mail.txt нет записей";
}
?>


ВОТ ТЕПЕРЬ ФУНКЦИЯ mail() в цикле. Или я опять что то перепутал.

(Добавление)
А в строке (mail($tomail, $subject, $message, $headers))
Надо указывать if


(Добавление)
туплю, надо
20. TvoyWeb - 22 Февраля, 2005 - 01:46:48 - перейти к сообщению
victor пишет:
Или я опять что то перепутал.

В принципе, если не счиать не проставленного if, ничего. Тоько есть лишние строки.
CODE:
<?php
//Определяем необходимые переменные
$file_array = NULL
$tomail = NULL
$subject = "Новости Регион45";//Тема сообщения
$messages = "ПРОВЕРКА";

/* Заголовок письма*/
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=windows-1251\r\n";
$headers .= "Content-transfer-encoding: 8bit\r\n";
$headers .= "Date: " . gmdate('D, d M Y H:i:s', time()) . " UT\r\n";
$headers .= "X-Priority: 3\r\n";
$headers .= "X-MSMail-Priority: Normal\r\n";
$headers .= "X-Mailer: PHP\r\n";
$headers .= "From: Администратор сайта <fonarik@zauralmedia.ru> \r\n";
$headers .= "Return-Path: <fonarik@zauralmedia.ru>\r\n";
$headers .= "Reply-To: Администратор сайта <fonarik@zauralmedia.ru>\r\n";

$file_array = file("mail.txt"); //Забирает по строчке из файла в массив
if(count ($file_array)){//если маасив не пуст то забираем построчно
for ($i=0; $i < count ($file_array); $i++){
if (!empty($file_array[$i])){//если строка не пустая, обычно бывает что первая строка пуста, поэтому лучше проверить
if(mail($file_array[$i], $subject, $message, $headers)){
echo "Адрес - ".$file_array[$i]." - статус ОК";
} else {
echo "Адрес - ".$file_array[$i]." - статус BAD";
}
} else {
continue;
}
}
} else {
echo "В файле mail.txt нет записей";
}
?>

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0336]     [ Gzipped ]