Я должен отправить электронное письмо сотруднику относительно его встреч до 12 часов времени встречи. Время встречи хранится в таблице mysql. Я должен отправить письмо с помощью PHP. Может кто-нибудь, пожалуйста, помогите мне с этим?
Да, сделать работу Cron, которая ищет каждую запись, требует времени.
Затем убедитесь, что (время — 43200) равно текущей отметке времени.
43200 секунд — это 12 часов.
if (($time_from_db - 43200) === time())
{
// send email
}
Если вы на Unix-подобной платформе, система at
очередь менее ресурсоемкая, чем обычная cron
работа. Просто запланируйте работу, когда вы добавите событие в базу данных:
echo "echo 'Subject: meeting at $date' | sendmail '$user'" |
at "$(date -d "12 hours before $date")"
(Подтверждение концепции; вы, вероятно, захотите сделать арифметику с датой на вашем хост-языке, даже если это PHP.)
Запишите номер очереди, чтобы вы могли удалить его, если событие было перемещено или отменено.