Forums.Avtograd.Ru: Поздравление на PHP - Forums.Avtograd.Ru

Перейти к содержимому

  • (3 Страниц)
  • +
  • 1
  • 2
  • 3
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Поздравление на PHP Автоматизация отсылки на E-Mail

#1 Пользователь офлайн   Vaso

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 149
  • Регистрация: 21 Ноябрь 08

Иконки сообщения  Отправлено 04 Апрель 2009 - 22:02

Народ,помогите кто знает. Нужно сделать следующую задачу. Человек есть в БД MySQL(а именно его День Рождения ну и другие данные), когда наступает день его рождения нужно отправить ему поздравления посредством E-Mail при помощи PHP кода...
Жду помощи...)))
0


  • (3 Страниц)
  • +
  • 1
  • 2
  • 3
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Другие ответы в этой теме

#21 Пользователь офлайн   Девять-Золотых-Уток

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 23
  • Регистрация: 02 Апрель 09

Отправлено 07 Апрель 2009 - 04:27

берется asp.net и мутится служба, всего делов :)
Если ты представляешь закон, готов-ли ты его переступить ?
Сила в Правде, а не в деньгах (с) Фильм "Брат"
Попрешь против FireShot ?
0

#22 Пользователь офлайн   Vaso

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 149
  • Регистрация: 21 Ноябрь 08

Иконки сообщения  Отправлено 07 Апрель 2009 - 21:39

Просмотр сообщенияLesha (5.4.2009, 20:59):

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


А почему она в полночь активируется???
0

#23 Пользователь офлайн   Lesha

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 729
  • Регистрация: 25 Июнь 08

Отправлено 07 Апрель 2009 - 22:55

Просмотр сообщенияVaso (7.4.2009, 22:39):

А почему она в полночь активируется???

ну как, новый день в полночь наступает. Поэтому начиная с полуночи заглушка ждет первого посетителя чтоб запустить систему рассылки.
tlt-image.homeip.net очень скоро......
0

#24 Пользователь офлайн   Alex Z. Saver

  • Старожил
  • PipPipPipPipPip
  • Группа: Модераторы
  • Сообщений: 3 891
  • Регистрация: 01 Ноябрь 07

Отправлено 08 Апрель 2009 - 04:07

Часовой пояс только нужно учитывать.
0

#25 Пользователь офлайн   Saray

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 2 388
  • Регистрация: 31 Январь 08

Отправлено 08 Апрель 2009 - 06:55

Просмотр сообщенияLesha (7.4.2009, 23:55):

ну как, новый день в полночь наступает. Поэтому начиная с полуночи заглушка ждет первого посетителя чтоб запустить систему рассылки.

А если не будет посетителей? :unsure:
какая то, извините, убогая реализация..
Просто заглушка активизируется апачем, который запускает ПХП и сам же отбивает по таймауту этот процесс. Надо запустить скрипт из операционной, тогда цикл будет болтаться вечно :P
Если женщина не права, нужно извиниться и замолчать.
0

#26 Пользователь офлайн   Lesha

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 729
  • Регистрация: 25 Июнь 08

Отправлено 08 Апрель 2009 - 07:54

Просмотр сообщенияSaray (8.4.2009, 7:55):

А если не будет посетителей? :unsure:
какая то, извините, убогая реализация..
Просто заглушка активизируется апачем, который запускает ПХП и сам же отбивает по таймауту этот процесс. Надо запустить скрипт из операционной, тогда цикл будет болтаться вечно :P

что значит не будет посетителей? Ресурс такой убогий что никто не заходит? Например если на этом форуме по алгоритму ajax-php организовать то 100 пудов за день все письма разошлет будь здоров.
tlt-image.homeip.net очень скоро......
0

#27 Пользователь офлайн   Saray

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 2 388
  • Регистрация: 31 Январь 08

Отправлено 08 Апрель 2009 - 08:30

Просмотр сообщенияLesha (8.4.2009, 8:54):

что значит не будет посетителей? Ресурс такой убогий что никто не заходит? Например если на этом форуме по алгоритму ajax-php организовать то 100 пудов за день все письма разошлет будь здоров.

дык оно у тебя один посетитель - одно письмо, а если посетителей будет меньше, чем именниников сам будешь посещать пока все письма не отправятся :lol: ?
вообще убого привязывать почтовый сервис к такому внешнему событию, как посещение определенной страницы. Как правило такие связки являются самым слабым звеном в системе и изрядно доставляют тем, кто будет смотреть на этот шедевр после тебя.

http://lurkmore.ru/%D0%98%D0%BD%D0%B4%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9_% D0%BA%D0%BE%D0%B4:

Индусский код (в среде программистов 80х также известен как Gletch) — в самом общем случае, это криво написанный код. Однако на самом деле, под индусским кодом подразумевают код, написанный наиболее неочевидным и неестественным из всех возможных способов. Именно этим он и отличается от быдлокода, который хотя бы капельку очевиден.

По другой трактовке, индусский код — жаргонное нарицательное название для программного кода крайне низкого качества, использующего простые, но порочные принципы «copy-paste», «главное завалить — а там запинаем», «шапкозакидательство». Так же известен как «write only», или (в пику принципу «написано однажды — читается везде») — «написанное однажды — лучше не читать»

Если женщина не права, нужно извиниться и замолчать.
0

#28 Пользователь офлайн   Lesha

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 729
  • Регистрация: 25 Июнь 08

Отправлено 08 Апрель 2009 - 09:16

Просмотр сообщенияSaray (8.4.2009, 9:30):

дык оно у тебя один посетитель - одно письмо, а если посетителей будет меньше, чем именниников сам будешь посещать пока все письма не отправятся :lol: ?
вообще убого привязывать почтовый сервис к такому внешнему событию, как посещение определенной страницы. Как правило такие связки являются самым слабым звеном в системе и изрядно доставляют тем, кто будет смотреть на этот шедевр после тебя.

я и не спорю с тобой что это туповато так организовывать. Я просто пока не вижу другого метода именно на php.

Мне интересно как этот форум всё успевает? ведь он тоже использует свяску апатч-пхп-мускул, откуда почта то :) ?
кто ответит?

ХА! щас скачал phpbb форум. И что вы думаете. Не может сервак сам письма отсылать! ему нянька нужна!

при уставке требуется указать адреса SMTP серваков и их пароли ну вы меня понимаете.

ЛАдно с настройками почты все ясно.

остается вопрос как форум рассылает пачки писем
tlt-image.homeip.net очень скоро......
0

#29 Пользователь офлайн   Saray

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 2 388
  • Регистрация: 31 Январь 08

Отправлено 08 Апрель 2009 - 09:26

Просмотр сообщенияLesha (8.4.2009, 10:16):

я и не спорю с тобой что это туповато так организовывать. Я просто пока не вижу другого метода именно на php.

Мне интересно как этот форум всё успевает? ведь он тоже использует свяску апатч-пхп-мускул, откуда почта то :) ?
кто ответит?

дык я ж написал: попробуй запустить скрипт из операционнки, а не из апача
Если женщина не права, нужно извиниться и замолчать.
0

#30 Пользователь офлайн   Vaso

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 149
  • Регистрация: 21 Ноябрь 08

Отправлено 08 Апрель 2009 - 10:50

Народ! Вопрос не в тему но потеме)))
Короче есть таблтца us_bd в ней поля id user email dob(date of birthday). Так вот поумолчанию в мускуле забивается дата как YYYY-MM-DD. Люди при регистрации указывают дату своего рождения... И наступает день их рождения скажем сегодня 08.04.2009. Как поменять местами DD с MM это понятно, но вот с годом проблема.... Как сделать запрос что бы он вытаскивал из таблицы только день и месяц???
HELP...
0

#31 Пользователь офлайн   Девять-Золотых-Уток

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 23
  • Регистрация: 02 Апрель 09

Отправлено 08 Апрель 2009 - 12:46

в мануале по Мускулю все это есть, смотри функции по работе с датами.
Если ты представляешь закон, готов-ли ты его переступить ?
Сила в Правде, а не в деньгах (с) Фильм "Брат"
Попрешь против FireShot ?
0

#32 Пользователь офлайн   Vaso

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 149
  • Регистрация: 21 Ноябрь 08

Отправлено 08 Апрель 2009 - 12:54

Я вот как сделал...
select * from us_bd where DATE_FORMAT(dob, '%m-%d')=DATE_FORMAT(now(), '%m-%d');
0

#33 Пользователь офлайн   Lesha

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 729
  • Регистрация: 25 Июнь 08

Отправлено 09 Апрель 2009 - 18:43

пока конечно я это делать не умею. Однако есть идея.
Предлагаю схему авто запуска сриптов на php. Пишется прога цель которой проверять раз в 10 мин указанные пользователем текстовые файлы на наличие новых инструкций.
Инструкции пишет конечно php.

Если новая инструкция есть выполняется возбуждающий http запрос типа httр://server/df.php?d=3

по этому адресу находится скрипт который согласно присланному запросу выполнит то что требуется, а также обновиляет список инструкций в txt. Получаем автоматизированную систему которая может выполнять что угодно и когда угодно и требуемое количесвто раз.

вопрос относительно этой программы. Не изобрету ли я велосипед?
tlt-image.homeip.net очень скоро......
0

#34 Пользователь офлайн   Saray

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 2 388
  • Регистрация: 31 Январь 08

Отправлено 09 Апрель 2009 - 20:27

Угу уже изобрел, причем с квадратными колесами :lol:
если есть программа, регулярно и с удовольствием возбуждающая апач HTTP - запросами, который запускает PHP скрипт,
а не проще ли напрямую из этой программы выполнять запрос к БД и слать почту?
и второй момент - вопрос с 30 сек лимитом на выполнение скрипта так и не решен ?
Если женщина не права, нужно извиниться и замолчать.
0

#35 Пользователь офлайн   Lesha

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 729
  • Регистрация: 25 Июнь 08

Отправлено 09 Апрель 2009 - 21:05

Просмотр сообщенияSaray (9.4.2009, 21:27):

второй момент - вопрос с 30 сек лимитом на выполнение скрипта так и не решен ?

он решается регулярными,кратковременными "возбуждениями" скрипта. Поэтому ищу что нибудь, что способно такое делать.
tlt-image.homeip.net очень скоро......
0

#36 Пользователь офлайн   Saray

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 2 388
  • Регистрация: 31 Январь 08

Отправлено 09 Апрель 2009 - 21:13

Просмотр сообщенияLesha (9.4.2009, 21:05):

он решается регулярными,кратковременными "возбуждениями" скрипта. Поэтому ищу что нибудь, что способно такое делать.

нее, это все "затычки", попробуй запустить php-скрипт из операционки, а не из апача, сдается мне именно он задает лимит и рубит скрипт
Если женщина не права, нужно извиниться и замолчать.
0

#37 Пользователь офлайн   Lesha

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 729
  • Регистрация: 25 Июнь 08

Отправлено 09 Апрель 2009 - 21:16

Просмотр сообщенияSaray (9.4.2009, 22:13):

нее, это все "затычки", попробуй запустить php-скрипт из операционки, а не из апача, сдается мне именно он задает лимит и рубит скрипт

localhost?
tlt-image.homeip.net очень скоро......
0

#38 Пользователь офлайн   Saray

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 2 388
  • Регистрация: 31 Январь 08

Отправлено 10 Апрель 2009 - 07:21

я разбанил тебя в гугле...
сцылкъ
Список опций, доступный при запуске PHP из командной строки, может быть получен в любой момент путем запуска PHP с ключом -h:

Usage: php [options] [-f] <file> [args...]
	   php [options] -r <code> [args...]
	   php [options] [-- args...]
  -s			   Отображает исходный код с цветной подсветкой
  -w			   Отображает исходный текст без комментариев и пробелов
  -f <file>		Исполняет <file>
  -v			   Выводит информацию о версии PHP
  -c <path>|<file> Ищет файл php.ini в указанной директории
  -a			   Интерактивный запуск
  -d foo[=bar]	 Установить конфигурационную опцию foo значением 'bar'
  -e			   Генерация дополнительной информации для отладчика и профайлера
  -z <file>		Загрузить Zend-расширение <file>.
  -l			   Проверить синтаксис
  -m			   Показать подключенные модули
  -i			   Выводит информацию о PHP
  -r <code>		Запустить PHP-код без использования <?..?>
  -h			   Текущая справка

  args...		  Аргументы, передаваемые скрипту. Используйте -- args в случае, если 
				   первый аргумент начинается с '-' или сам скрипт читается из потока STDIN.

Если женщина не права, нужно извиниться и замолчать.
0

#39 Пользователь офлайн   Lesha

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 729
  • Регистрация: 25 Июнь 08

Отправлено 10 Апрель 2009 - 11:38

спасибо. А теперь ответ на последний ворос. Как автоматизировать запуск скритов?

Я прогу cron нашел под Windows. Из нее запускать скрипт как делать нечего.

краткое описание:

для работы потребуется cron.

версия для windows cronNN

крон представляет собой порт линуксового планировщика задач.
Программа консольная.

чтобы работала настройки не требуются. Единственно что нужно так это написать в файле cron.tab
список задач с указаниями времени.

я например написал:
* * * * * Z:\usr\bin\php.exe -f Z:\home\server\a\tt.php

звездочки означают это операция выполняется каждую минуту.

если поставить

*/4 * * * * то выпонение будет каждые 4 мин и тп. Подробнее об этом в справке самого крона.

ВАЖНО!
денвер апатч и тд должно быть включено, иначе отправка писем, например, не состоится.
php по прежнему блокирует скрипт по тайм ауту, поэтому за раз нужно отправлять 1-3 писем.

так как крон сам следит за актуальностью своего файла cron.tab. Поэтому можно с помощью php его редактировать дабы участить импульсы или замедлить. Вопщем на сколько фантазии хватит. :D
tlt-image.homeip.net очень скоро......
0

#40 Пользователь офлайн   Saray

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 2 388
  • Регистрация: 31 Январь 08

Отправлено 10 Апрель 2009 - 13:12

ну кронн достаточно замороченный планировщик со своим встроенным языком, который нужен по большей части одминам.
А у погроммистов все языковые навороты спрятаны внутри самого PHP скрипта, так что тебе достаточно стандартного планировщика виндовз. Но запускать скрипт по несколько тысяч раз в день планировщиком (чтобы гарантировано отправить все письма) как то коряво, я бы запускал расово-верный вечный цикл однократно, прям из автозагрузки системы (только скрипт должен быть дебилоустойчивым, дабы не подвис)
Для повышения отказоустойчивости можно намутить еще один скрипт, который проверяет результаты действия первого, или к премеру первый после отсылки письма апдейтит время в служебной таблице, а второй при отсутствии признаков жизни киляет и перезапускает его.
Если женщина не права, нужно извиниться и замолчать.
0

  • (3 Страниц)
  • +
  • 1
  • 2
  • 3
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей