Как отправить почту в php в назначенное время? - PullRequest
3 голосов
/ 26 декабря 2010

Я хочу создать приложение, которое позволит пользователям планировать отправку писем в любое время.просто напишите сообщение электронной почты и запланируйте его так, чтобы сервер отправлял его в указанное времяЯ использую Zend Framework.Как это сделать в php?Можно ли это сделать с помощью cron?Если да, то каковы недостатки использования cron?

Ответы [ 2 ]

3 голосов
/ 27 декабря 2010

это можно сделать с помощью заданий cron?

Cron - это планировщик заданий на основе времени в Unix-подобных компьютерных операционных системах.Название cron происходит от слова «chronos», что в переводе с греческого означает «время». 1 Cron позволяет пользователям планировать выполнение заданий (команд или сценариев оболочки) периодически в определенное время или даты.Он обычно используется для автоматизации обслуживания или администрирования системы, хотя его универсальный характер означает, что он может использоваться для других целей, таких как подключение к Интернету и загрузка электронной почты.

http://ubuntuforums.org/showthread.php?t=586478

Я бы каждую минуту запускал работу cron и проверял, есть ли готовые письма, которые можно было бы запланировать.Цитата из темы форума ниже объясняет, как запускать cron каждую минуту.

crontab -e

, а затем установить вкладку, например

* * * * * /command

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

В случае, если вам станет понятнее, если вы хотите каждые 5 минут, это будет

*/5 * * * * /command/to/execute

А остальные звезды слева направо

минутный час деньмесячный месяц dayofweek *

* 0 = воскресенье

Недостаткиcron?

если да, то в чем недостатки использования cron

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

3 голосов
/ 26 декабря 2010

Я бы занялся этим с помощью задания cron.

Просто создайте скрипт, который проверяет сообщения для отправки в определенное время.Пользователь планирует, скажем, 1 вечера (используя базу данных, конечно), сценарий выполняется каждые 5 минут или около того, и он проверяет (дБ), есть ли какие-либо сообщения, чтобы выйти на текущее время?Если это так, он рассылает электронные письма, иначе он спит.

Чистый и простой способ справиться с этим.

Недостатки?

Я могу 'Это не то, для чего создан cron, выполняющий задачи в определенное время.

...