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

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

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

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

1. victor - 17 Февраля, 2005 - 03:08:21 - перейти к сообщению
Подскажите, как это делается?
2. TvoyWeb - 17 Февраля, 2005 - 03:23:48 - перейти к сообщению
victor
Это не вопрос!!!Шёл бы ты!
С какого сайта? На каком хостинге? Платном, бесплатном, с поддержкой PHP или других языков.
Все телепаты форума в отпуске. Вот почитай здесь Шёл бы ты!
3. St.A.N. - 17 Февраля, 2005 - 06:48:06 - перейти к сообщению
victor
Ты бы и вправду, поподробнее описывал вопросы.
TvoyWeb
Может человек первый раз создал тему, а ты его факами...
А вдруг он теперь вешаться пойдёт.Не понял
4. Анна - 17 Февраля, 2005 - 07:14:21 - перейти к сообщению

TvoyWeb прав. Надо учиться корректно задавать вопросы.

victor, прочти здесь:
http://tvoyweb.ru/forums/topic.p...=3&topic=168
И ждем от тебя более подробного объяснения проблемы. Улыбка
5. Fermer - 17 Февраля, 2005 - 10:00:40 - перейти к сообщению
-Доктор! У меня какая-то болезнь.
-Хорошо, сейчас я дам вам какое то лекарство.

Улыбка
6. victor - 18 Февраля, 2005 - 01:48:31 - перейти к сообщению
TvoyWebу!!! Кто кто, а ты то телепат. Я тебе говорил, какя у меня проблема.TvoyWeb


(Добавление)
St.A.N.
Мне нужно создать автоматическую рассылку. Тело вроде бы я создал:

CODE:
<?php

function mail(){

/* recipients */
$file='/mail/mail.txt';
$mail_dir='/mail/';
$template='/frontend/tpl/mail.html'; // php-документ со вставками <?php print $to[0]['url'] ? > и т. д.
$to = $to[0]['url'];

/* subject */
$subject = "Новости Регион-45";

/* message */
$message = /frontend/resource/NewsPage.php'

/* To send HTML mail, you can set the Content-type header. */
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* additional headers */
$headers .= "To: Mary <mary@example.com>, Kelly <kelly@example.com>\r\n";
$headers .= "From: Birthday Reminder <birthday@example.com>\r\n";
$headers .= "Cc: birthdayarchive@example.com\r\n";
$headers .= "Bcc: birthdaycheck@example.com\r\n";

/* and now mail it */
mail($to, $subject, $message, $headers);
}
?>


Посмотри, есть ли тут ошибки на твой взгляд.
Я в PHP пока НОЛЬ.\n\n(Добавление)
Анна
Извините, леди. Мне дали работу на сайте. Его надо поправить.
Сделать более коректным. Но загвоздка оказалась в том, что я не знаю PHP-файлов. И приходится искать помощи? Вот

Передомной стоит задача, сделать автоматическую рассылку. Чтобы новости с сайта уходила на почтовый ящик к пользователю.
7. TvoyWeb - 18 Февраля, 2005 - 04:14:43 - перейти к сообщению
victor, во-первых давай уже нормально оформлять код на странице!

victor пишет:
Кто кто, а ты то телепат. Я тебе говорил, какя у меня проблема.TvoyWeb

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

Это одна сплошная ошибка!

Давай попробую объяснить.
Из твоего кода видно, что ты заглядывал в мануал по PHP.
Не знаю понял ты или нет как работает функция mail(), поэтому смотри:
mail(e-mail получателя, тема сообщения, текст сообщения, заголовки письма)
Из четырех аргументов этой функции хочу обратить твое внимание на четвертый «заголовки письма».
В нем содержится необходимая служебная информация.
Вот посмотри на этот заголовок :
CODE:
$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: $fromname <$frommail>\r\n";
$headers .= "Return-Path: $frommail\r\n";
$headers .= "Reply-To: $fromname <$frommail>\r\n";

В переменную $headers (заголовок письма) занесена вся необходимая служебная информация.
В этом заголовке есть (пока) неопределенные переменные:
$fromname – Имя отправителя, будет показываться в поле «От:» в письме
$frommail – e-mail отправителя, находится под именем отправителя в поле «От:» письма
Эти переменные можно определить выше по скрипту, либо сразу вместо них вписать в заголовок необходимые значения.
Например так:
CODE:
……………………
$headers .= "From: Администратор форума <admin@forum.ru>\r\n";
$headers .= "Return-Path: <admin@forum.ru> \r\n";
$headers .= "Reply-To: Администратор форума <admin@forum.ru>\r\n";

Будем считать что в своем скрипте ты именно так и поступишь (сразу пропишешь эти данные в заголовке - $headers).
После того как ты подготовил все данные в скрипте, ты должен вызвать функцию mail() чтобы отправить письмо.
Вызывается она примерно так: (примерно потому что переменные могут быть названы как угодно)
CODE:
mail($tomail, $subject, $message, $headers) ;

В этой функции есть уже знакомая нам переменная $headers, содержание которой мы определили выше.
Остались три неопределенных переменных:
$tomail – переменная с e-mail получателя и, если надо, то с именем получателя.
$subject – тема письма
$messages – собственно само содержание письма (текст сообщения, если угодно)
Вот эти переменные и нужно определить. Вот как это все будет выглядеть:
CODE:
<?php
//Определяем необходимые переменные
$tomail - 'tvoemilo@mail.ru';//Здесь можно написать и так: $tomail = 'victor <tvoemilo@mail.ru>';
$subject - 'Ответ на Ваш вопрос';//Тема сообщения
$messages - 'На Ваш вопрос на форуме, есть новое сообщение от TvoyWeb.';

//Определяем заголовок письма
$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: Администратор форума <admin@forum.ru>\r\n";
$headers .= "Return-Path: <admin@forum.ru>\r\n";
$headers .= "Reply-To: Администратор форума <admin@forum.ru>\r\n";
//Вызываем функцию mail(), отправляем письмо
if(mail($tomail, $subject, $message, $headers)){//если функция mail() выполнена то выводим сообщение об успешной отправке
echo "Письмо успешно отправлено";
} else {//В противном случае, если возникли какие-то ошибки и письмо не было отправлено, выводим сообщение о неудачной отправке
echo "Во время отправки письма произошла ошибка<BR>Письмо не было отправлено!";
}
?>


Вот тебе рабочий код отправки письма.
Но тебе нужно осуществить рассылку, то есть отправить письма по нескольким адресам.
Что для этого нужно?
1.База e-mail адресов (и имен получателей – не обязательно).
2.Получить в массив данные из этой базы
3.Прокрутить в цикле отправку письма, с заменой значения переменной $tomail. То есть при каждом прохождении в цикле подставлять в эту переменную новый e-mail адрес (и имя – не обязательно) получателя.
Как получить данные из базы в массив, зависит от того, как и где хранится эта база.
К примеру, если база хранится в файле, то в каком формате записаны данные?
Вот так вот.
8. victor - 18 Февраля, 2005 - 05:25:52 - перейти к сообщению
Спасибо за разъяснение.
Я и хотел из текстового файла брать адреса получателя.
Как их берет банер (Я его тебе описывал):

$file открывает его
$mail_dir работает с этим каталогом

string fgets (int file, int length)
А вот эту строчку можно заставить брать только одну строку из файла?

\n\n(Добавление)
Переменная $messages =
это у меня кодированный файл News.php\n\n(Добавление)
там создаются новости которые надо разослать
9. ita - 18 Февраля, 2005 - 07:29:08 - перейти к сообщению
Цитата:
Прокрутить в цикле отправку письма, с заменой значения переменной $tomail
вот тут есть один интересный момент - сколько подписчиков?
оч желательно указывать set_time_limit("0"Подмигивание - скрипт может прекратить выполнение до того, как вся почта будет отправлена.
потом насколько критично по времени когда чел получит новосить? когда я писал рассылку это было критично - нужно было отправдять кучу писем и все должны были быть отправлены в интрервале времени +- минута.. вот тут пришлось поизвращаться, если интересно - расскажу.
10. victor - 18 Февраля, 2005 - 07:38:43 - перейти к сообщению
ita
Раскажи, пожалуста.
А пользователи будут добавляться в txt файл, и сколько их там будет не известно. Они сами себя туда будут добавлять с интернет-страницы.
Но это потом. а сейчас их будет наверное 10. Пока на это число ориентируюсь.

Форум на AlfaSpace.NET


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

[Script Execution time: 0.0366]     [ Gzipped ]