Club-life
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.


Все дороги ведут в Club-life
 
ФорумПорталГалереяПоискПоследние изображенияРегистрацияВход
Последние темы
» создание сайтов
Почтовые функции в РНР Icon_minitime1Ср Фев 03, 2010 9:59 am автор modyamak

» jumpstyle leren
Почтовые функции в РНР Icon_minitime1Ср Окт 01, 2008 5:17 pm автор Techno Jumper

» patrick jumpen bij Arke stadion
Почтовые функции в РНР Icon_minitime1Ср Окт 01, 2008 5:16 pm автор Techno Jumper

» Patrick Jumpen - The Secret (Official jumpstyle music video)
Почтовые функции в РНР Icon_minitime1Ср Окт 01, 2008 5:16 pm автор Techno Jumper

» Patrick Jumpen - Holiday (The official Jumpstyle music video
Почтовые функции в РНР Icon_minitime1Ср Окт 01, 2008 5:15 pm автор Techno Jumper

» patrick jumpen Met een geest
Почтовые функции в РНР Icon_minitime1Ср Окт 01, 2008 5:14 pm автор Techno Jumper

» Киев – дэнс 2008
Почтовые функции в РНР Icon_minitime1Ср Окт 01, 2008 5:12 pm автор Techno Jumper

» Armin van Buuren “Imagine”
Почтовые функции в РНР Icon_minitime1Сб Сен 27, 2008 8:02 am автор shuzik

» 1 - HBL - Hardjump - Leganes - eeL cOmieenZo
Почтовые функции в РНР Icon_minitime1Пт Сен 26, 2008 2:06 am автор Techno Jumper

Ваша реклама
Место сдаёться в аренду
Реклама
Друзя Портала
www.popularsite.ru
Опрос
Как Вам наш форум?
Просто бомба
Почтовые функции в РНР I_vote_lcap50%Почтовые функции в РНР I_vote_rcap
 50% [ 3 ]
Нормалёк
Почтовые функции в РНР I_vote_lcap33%Почтовые функции в РНР I_vote_rcap
 33% [ 2 ]
Пойдет
Почтовые функции в РНР I_vote_lcap0%Почтовые функции в РНР I_vote_rcap
 0% [ 0 ]
Бывало и похуже
Почтовые функции в РНР I_vote_lcap0%Почтовые функции в РНР I_vote_rcap
 0% [ 0 ]
С этим надо что-то делать
Почтовые функции в РНР I_vote_lcap0%Почтовые функции в РНР I_vote_rcap
 0% [ 0 ]
Кошмар
Почтовые функции в РНР I_vote_lcap0%Почтовые функции в РНР I_vote_rcap
 0% [ 0 ]
Я в хужей жопе не бывал
Почтовые функции в РНР I_vote_lcap0%Почтовые функции в РНР I_vote_rcap
 0% [ 0 ]
Отцтой
Почтовые функции в РНР I_vote_lcap17%Почтовые функции в РНР I_vote_rcap
 17% [ 1 ]
Всего проголосовало : 6
Самые активные пользователи
Techno Jumper (426)
Почтовые функции в РНР I_vote_lcapПочтовые функции в РНР I_voting_barПочтовые функции в РНР I_vote_rcap 
shuzik (352)
Почтовые функции в РНР I_vote_lcapПочтовые функции в РНР I_voting_barПочтовые функции в РНР I_vote_rcap 
Dark rain (3)
Почтовые функции в РНР I_vote_lcapПочтовые функции в РНР I_voting_barПочтовые функции в РНР I_vote_rcap 
Elenka (1)
Почтовые функции в РНР I_vote_lcapПочтовые функции в РНР I_voting_barПочтовые функции в РНР I_vote_rcap 
P1nGv1n_22 (1)
Почтовые функции в РНР I_vote_lcapПочтовые функции в РНР I_voting_barПочтовые функции в РНР I_vote_rcap 
modyamak (1)
Почтовые функции в РНР I_vote_lcapПочтовые функции в РНР I_voting_barПочтовые функции в РНР I_vote_rcap 
Кто сейчас на форуме
Сейчас посетителей на форуме: 6, из них зарегистрированных: 0, скрытых: 0 и гостей: 6 :: 1 поисковая система

Нет

Больше всего посетителей (208) здесь было Пт Июл 28, 2017 9:07 pm
Галерея
Почтовые функции в РНР Empty
Проигрователь



Копилка Портала
На Розкрутку
Почтовые функции в РНР Bottom-defaultЯндексЯндекс. ДеньгиХочу такую же кнопку
Киев – дэнс 2008
Почтовые функции в РНР Icon_minitime1Ср Окт 01, 2008 5:12 pm автор Techno Jumper
Почтовые функции в РНР A_f87b9ed0

Киев – дэнс 2008
24-25 октября в МВЦ,
если покупаешь билет до 1 октября цена
160 грн - 260 грн (фан сектор) - 360(Вип)
с 1октября до 20 октября 180 - 280 - 380
20-25 200-300-400
Биллет на 2 дня

Line up
LCD Soundsystem
Audio Bullys
Cassius
Rank 1 (Live)
Timo Maas
Kasheen
Hernan Cattaneo
Josh Gabriel
Chris Liebing
Scazi Valentino Kanzyani
Woody Van Eyden
Alex MORPH
Gorchitza Sunchase
Prolix
Optical
Cyb_ORC
Tapolskiy
Конь
Сухарь
НАГГАНО

По поводу заказов билетов обращаться:
icq 386679025
Моб.80633445552
Спросить Сашу

Комментарии: 0
BASS FORCE @ Cinema Club, 25.09
Почтовые функции в РНР Icon_minitime1Сб Сен 13, 2008 5:34 pm автор Techno Jumper
Почтовые функции в РНР A_edb8f57e


Время и место
Город: Киев, Украина
Адрес: Энтузиастов, 1. (М. Левобережная)
Начало: 25 сен 2008 в 23:00
Окончание: 26 сен 2008 в 7:00


Ukrainian Hardstylerz & SLS Promo представляют! 25 сентября. Лучший Андеграунд клуб страны – Cinema!
Сумасшедшая хард вечеринка – Bass Force!

Мы сделаем все, что бы в эту ночь вы получили настоящий эмоциональный экстаз! Мы сделаем все, что бы вы просто стали счастливее!
Bass Force – это 2 разрывных танцпола, это сразу 2 вечеринки, которые заставят ваши сердца биться в 3 раза сильнее!
Bass Force – это отборный Hardcore, Hardstyle, Drum & Bass, Jumpstyle и Dancecore!
И все это в одну ночь, и все это от лучших диджеев, которые приедут со всех уголков Украины для того, что бы подарить вам незабываемый праздник!

Радовать ваши уши мощнейшими звуками харда на «Hard Bass» танцполе будут – лучший Hardcore DJ страны - DJ Belkin, лучшие Hardstyle DJ’s страны - Doctor Tunez, …

[ Полное чтение ]
Комментарии: 0

 

 Почтовые функции в РНР

Перейти вниз 
АвторСообщение
Techno Jumper
Admin
Techno Jumper


Мужчина
Количество сообщений : 426
Возраст : 32
Географическое положение : Украина
Дата регистрации : 2008-09-05

Лист персонажа
Усталость:
Почтовые функции в РНР Left_bar_bleue50/50Почтовые функции в РНР Empty_bar_bleue  (50/50)
Жизниная энергия:
Почтовые функции в РНР Left_bar_bleue100/100Почтовые функции в РНР Empty_bar_bleue  (100/100)
Сытость:
Почтовые функции в РНР Left_bar_bleue100/100Почтовые функции в РНР Empty_bar_bleue  (100/100)

Почтовые функции в РНР Empty
СообщениеТема: Почтовые функции в РНР   Почтовые функции в РНР Icon_minitime1Сб Сен 13, 2008 11:17 pm

Одним из возможных применений imap функций является создание почтового демона, который будет управлять подпиской и отпиской пользователей от вашей почтовой рассылки. Для реализации этой задачи, обычно в рассылках используются два метода. Первый предполагает, что пользователь должен зайти на некую страницу и подтвердить свои действия, второй требует отправки письма. Второй так же требует, чтобы скрипт-обработчик регулярно запускался cron daemon?om. Из-за этого он не настолько популярен как первый способ.

Но, как можно заметить, наиболее серьезные рассылки используют второй способ. Поэтому, если у вас есть возможность использования crond, воспользуйтесь им.

Собственно, разобраться в функциях не так сложно. Человек, который раньше работал на РНР, без труда поймет, как с ними работать. Некоторые затруднения могут возникнуть с разбором заголовков писем, которые будет обрабатывать скрипт.

Алгоритм работы самого скрипта придумать несложно. Демон устанавливает соединение с почтовым сервером, и проверяет наличие на нем писем. В случае если писем нет, работа скрипта прекращается.

Если письма есть, то происходит разбор заголовков первого письма. Просматривается поля from и subject. Если поле subject содержит один из двух допустимых вариантов заголовка (подписка или отписка), то запись, которой соответствует значение поля from либо становится активной (подтвержденной), либо удаляется из таблицы. В обоих случаях на адрес, указанный в поле from посылается соответствующее извещение о действиях скрипта. После этого письмо помечается для удаления. В случае если subject не содержит допустимых тем, посылается уведомление об ошибке, и письмо так же помечается для удаления. Затем скрипт переходит к следующему письму. Закончив разбор всех писем, он очищает ящик.

Не буду утомлять читателя блок-схемами, так что сразу перейдем к делу. Для открытия ящика используется функция imap_open. Поскольку РНР поддерживает работу с несколькими протоколами, то необходимо явно указать, какой протокол используется для работы с ящиком. В нашем случае это POP3 на 110 порту (стандарт). Присваиваем результат выполнения скрипта переменной $my_box.
$my_box = imap_open("{you.pop.host/pop3:110}", "login", "password");

В дальнейшем вы увидите, что эта переменная будет использоваться пратически во всех imap функциях. Далее проверяем ящик на наличие писем. Проверку выполняет функция imap_num_msg.
$n = imap_num_msg($my_box);

В результате переменная $n будет содержать количество писем в ящике. Число это может быть или больше нуля, или равно ему (если ящик пуст).
Если письма есть, то в цикле while выполняем разбор писем, последовательно увеличивая номер письма на единицу. Обратите внимание, что первое письмо в ящике будет иметь номер 0, как, и первый элемент массива.
Для увеличения номера письма, присваиваем переменной $m значение 0, а потом в условиях выполнения цикла увеличиваем ее на единицу $m++.

Для разбора интересующих нас заголовков достаточно двух функций: imap_header и imap_fetch_overview. Для выполнения каждой из их, помимо ящика, нужно указывать номер письма. В нашем случае, внутри цикла он будет равен переменной $m. Imap_header возвращает в результате выполнения объект, содержащий исчерпывающую информацию о заголовке письма. Среди всего прочего, этот объект содержит массив from, в котором содержаться четыре значения. Это personal, adl, mailbox и host. Нас из них интересуют только mailbox и host. Подставляя их, мы получим адрес, с которого было отправлено письмо.

PHP код:
$h = imap_header($my_box, $m);
$h = $h->from;

foreach ($h as $k => $v) {
$mailbox = $v->mailbox;
$host = $v->host;
$personal = $v->personal;
$email = $mailbox . «@» . $host;


imap_fetch_overview — позволит нам узнать тему письма. Для этих же целей можно было бы использовать и imap_header но по ряду причин это, иногда может не сработать. Из массива, который возвращает эта функция, нам нужно только поле subject
PHP код:

$s = imap_fetch_overview($my_box, $m);
foreach ($s as $k => $v) {
$subj = $v->subject;
}


Дальнейшие наши действия сводятся к тому, чтобы вытащить email из базы, и в случае наличия его там, пометить всю строку с этой записью как «проверенную», либо удалить. Предположим, что после заполнения формы рассылки на сайте, подписчику присваивается статус 0, а после подтверждения подписки он меняется на 1.
PHP код:

if ($subj == "SUBSCRIBE") {
mysql_query("UPDATE subscribe SET stat=1 WHERE email=$my_email");
$del = imap_delete($my_box, $m);
mail($email, $add_sbj, $add_text, $headers);
}
elseif ($subj == "UNSUBSCRIBE") {
mysql_query("DELETE FROM subscribe WHERE email = $my_email");
$del = imap_delete($my_box, $m);
mail($email, $del_sbj, $del_text, $headers);
}
else {
$del = imap_delete($my_box, $m);
mail($email, $err_sbj, $err_text, $headers);
}


как уже говорилось выше, после выполнения всех действий скрипт очищает ящик.
$clear = imap_expunge($my_box);

Данная простейшая программа, лишь демонстрация того, что на РНР можно писать не только динамически изменяющиеся сайты, но и сервисы, которые пользователю вообще не видны. Конечно, по части написания скриптов для shell, рнр неприменим, в отличие от своего конкурента Perl, но тем не менее…

Листинг всей программы за исключением параметров соединения с базой (db.php):
PHP код:

include "db.php";
$my_box = imap_open("{you.pop.host/pop3:110}", "login", "password");
$n = imap_num_msg($my_box);

В листинг отсутствуют некоторые детали, например возможное конвертирование из win в koi, перепроверка почтового ящика отправителя и т.д. Это уже функциональные излишества, которые каждый может добавить по мере необходимости.
$m = 0;
$add_text = "

Спасибо за подтверждение вашей подписки ";
$add_sbj = "You added!";
$del_text = "

Вы были удалены из списка рассылки. ";
$del_sbj = "Delete from list";
$err_text = "

Извините но этот почтовый ящик используетсятолько для администрирования рассылки";
$err_sbj = "Error";
$headers = "From: Subscribe Robot &ly;You@mail.box>
X-mailer: PHP4
Content-type: text/plain; charset=windows-1251
";
if($n != 0) {
while($m++ from;
foreach ($h as $k =>$v) {
$mailbox = $v->mailbox;
$host = $v->host;
$personal = $v->personal;
$email = $mailbox . "@" . $host;
$my_email = mysql_escape_string($email);
}
foreach ($s as $k =>$v) {
$subj = $v->subject;
}
if ($subj == "SUBSCRIBE") {
mysql_query("UPDATE table SET stat=1 WHERE email=$my_email");
//print mysql_error();
$del = imap_delete($my_box, $m);
mail($email, $add_sbj, $add_text, $headers);
}
elseif ($subj == "UNSUBSCRIBE") {
mysql_query("DELETE FROM table WHERE email = $my_email");
$del = imap_delete($my_box, $m);
mail($email, $del_sbj, $del_text, $headers);
}
else {
$del = imap_delete($open_box, $m);
mail($email, $err_sbj, $err_text, $headers);
}
}
$clear = imap_expunge($my_box);
}
?>


В листинг отсутствуют некоторые детали, например возможное конвертирование из win в koi, перепроверка почтового ящика отправителя и т.д. Это уже функциональные излишества, которые каждый может добавить по мере необходимости.
Вернуться к началу Перейти вниз
https://club-life.forum2x2.ru
 
Почтовые функции в РНР
Вернуться к началу 
Страница 1 из 1

Права доступа к этому форуму:Вы не можете отвечать на сообщения
Club-life :: Программирование :: PHP-
Перейти:  
Почтовые функции в РНР Club-life.online-talkGainings.biz - каталог сайтов интернета! Rambler's Top100 МЕТА - Украина. Рейтинг сайтов Счётчик:
хостов сегодня | хитов сегодня
хитов всего Украина онлайн Рейтинг сайтов TraffikClub.org Создать форум на Forum2x2 | ©phpBB | Бесплатный форум поддержки | Сообщить о нарушении | Последние обсуждения