Как я могу использовать AT команду Linux из PHP?

Возможный дубликат:
Создание очереди электронной почты в PHP?

Мой PHP-скрипт отправляет сотни писем. И я хочу установить промежуток между этими рассылками в 5 минут. Я имею в виду, что время перехода между каждыми 2 электронными письмами должно составлять 5 минут. Как один должен быть отправлен в 12:45 утра, второй 12:50 утра и так далее.

Для этого я попытался из командной строки:

at 08:10am Dec 19
echo "Welcome" | mail -s "Hello world" abc@abc.com

Так что это работает нормально, почта отправляется в 8:10 утра. Но как я могу сделать то же самое из PHP? Как я могу использовать AT команду Linux из PHP?

Или есть какой-то другой легкий способ?

1 ответ

Чтобы ответить на ваш вопрос:

Вызов внешней программы из PHP может быть выполнен с использованием многих подходов. Один из них - passthru() и дает ему ту же полную командную строку, которую вы написали бы вручную.

Другие функции, которые вы можете использовать для этого:

popen() // Opens process file pointer
exec() // Execute an external program
system() // Execute an external program and display the output
passthru() //- Execute an external program and display raw output
pcntl_exec() // Executes specified program in current process space
`at` // backtick operator

В качестве побочного вопроса:

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

Другие вопросы по тегам