Я недавно должен был построить систему, чтобы сделать это, вот решение, которое мы выбрали:
1- Система управления электронной почтой настраивает электронные письма и сохраняет их в базе данных.
2- Мы настраиваемучетная запись без ответа на нашем почтовом сервере, чтобы получить возвраты.
3- Мы создаем небольшой код на большой почтовой библиотеке swiftmailer (swiftmailer.org).
4- Мы запускаемскрипт, который мы создаем через cron и отправляем письма в пакетах по 50 в минуту (hotmail, скорее всего, будет помечать почту как спам, если слишком много писем отправляется с одного и того же адреса / сервера в одну и ту же минуту).Мы сохраняем каждый swiftId в почтовой базе данных
5- Во время выполнения сценария отправки почты мы проверяем наличие отказов или других ошибок в нашем почтовом ящике без ответа и соответствующим образом отмечаем наши сообщения в нашей почтовой таблице (статус: 1- успех, 2 - недействительный адрес электронной почты, 3 - отказы)
6 - Мы синхронизируем наши данные (после того, как пользователь получил доступ к разделу системы) в основной системе, когда они имеют статус и когда последнее изменение былосделано не менее 10 минут в прошлом, чтобы ограничить смену состояний в системе.(сценарий синхронизации может изменить состояние элемента в основной системе, но 10-минутная задержка снижает риск изменений)