отправка электронной почты до 12 часов указанного времени

Я должен отправить электронное письмо сотруднику относительно его встреч до 12 часов времени встречи. Время встречи хранится в таблице mysql. Я должен отправить письмо с помощью PHP. Может кто-нибудь, пожалуйста, помогите мне с этим?

1

Решение

Да, сделать работу Cron, которая ищет каждую запись, требует времени.

Затем убедитесь, что (время — 43200) равно текущей отметке времени.
43200 секунд — это 12 часов.

if (($time_from_db - 43200) === time())
{
// send email
}
0

Другие решения

Если вы на Unix-подобной платформе, система at очередь менее ресурсоемкая, чем обычная cron работа. Просто запланируйте работу, когда вы добавите событие в базу данных:

echo "echo 'Subject: meeting at $date' | sendmail '$user'" |
at "$(date -d "12 hours before $date")"

(Подтверждение концепции; вы, вероятно, захотите сделать арифметику с датой на вашем хост-языке, даже если это PHP.)

Запишите номер очереди, чтобы вы могли удалить его, если событие было перемещено или отменено.

0

По вопросам рекламы [email protected]