Система пользовательских списков рассылки

На нашем сайте мы используем таблицу MySQL, которая содержит всех пользователей. Некоторые пользователи должны иметь возможность отправлять письма всем пользователям. К сожалению, у меня нет правильного представления о том, как реализовать такую ​​систему.

Мой текущий дизайн:

  • Привилегированный пользователь пишет письмо users@website.com используя его личную почтовую программу.
  • Сервер ожидает входящих писем.
  • Как только он получает письмо, он сопоставляет поле "От" с базой данных.
    • Если пользователь не найден или не имеет специального флага, откажитесь от почты.
  • Переслать почту всем пользователям (почтовые адреса сохраняются в базе данных)
  • Отправьте отправителю письмо с подтверждением.

Как я могу реализовать такую ​​систему? Я не обязан придерживаться определенного языка программирования, хотя C++, PHP или Node.JS предпочтительнее.

1 ответ

В качестве отправной точки загляните в IMAP/SMTP. Вы можете на любом языке войти в почтовый ящик, получить электронные письма, прочитать их и т. Д. И т. Д. И т. Д. Настройте свой почтовый ящик с учетной записью users@website.com который получает законные электронные письма. Затем настройте задание cron, которое проверяет почтовый ящик каждые 5 минут или около того. Если письма не найдены, значит, все готово. Если там есть электронное письмо, обработайте его, запустите проверку по вашей БД, затем отправьте его по SMTP, а затем отправьте подтверждение пользователю.

Если обработка IMAP слишком сложна, вы можете просто создать на своем веб-сайте форму, которую смогут использовать привилегированные пользователи, которая будет отправлять электронные письма пользователям.

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