Мой вопрос теоретический. У меня есть база данных с электронными письмами. Для каждого письма я сохраняю желаемое время отправки (как временную метку UNIX) и содержимое электронной почты (отправитель, получатель, субъект, тело и т. Д.). Планируется большое количество электронных писем. Вот как я хотел отправить электронные письма до сих пор: У меня был бы рабочий процесс или сервер, который периодически запрашивает базу данных для «просроченных» электронных писем на основе временных меток. Затем он отправляет эти сообщения электронной почты и, в конце концов, удаляет их из БД.Как отправлять запланированные электронные письма?
Я начал думать о двух вещах:
- Что делать, если работник умирает, когда он послал по электронной почте, но не удален из базы данных? Если я перезапущу работника, электронное письмо будет отправлено снова.
- Как это сделать, если у меня действительно большое количество сообщений электронной почты , и поэтому я запускаю нескольких сотрудников? Я могу отметить e-mail в базе данных как «отправляется», но как я могу начать отправку, если умирает ответственный работник ? Я имею в виду, что я не буду знать, умер ли рабочий или , это так медленно, что он по-прежнему отправляет сообщения. Я предполагаю, что не могу получить уведомление о том, что рабочий умер, поэтому я не могу повторно отправить электронные письма, которые он не смог отправить.
Я знаю, что отправка по электронной почте не такая серьезная вещь, как банковские операции, но я думаю, что для этого должно быть хорошим решением.
Как это делается?
Есть ли у кого-нибудь идеи? –