Система пользовательских списков рассылки
На нашем сайте мы используем таблицу MySQL, которая содержит всех пользователей. Некоторые пользователи должны иметь возможность отправлять письма всем пользователям. К сожалению, у меня нет правильного представления о том, как реализовать такую систему.
Мой текущий дизайн:
- Привилегированный пользователь пишет письмо
users@website.com
используя его личную почтовую программу. - Сервер ожидает входящих писем.
- Как только он получает письмо, он сопоставляет поле "От" с базой данных.
- Если пользователь не найден или не имеет специального флага, откажитесь от почты.
- Переслать почту всем пользователям (почтовые адреса сохраняются в базе данных)
- Отправьте отправителю письмо с подтверждением.
Как я могу реализовать такую систему? Я не обязан придерживаться определенного языка программирования, хотя C++, PHP или Node.JS предпочтительнее.
1 ответ
В качестве отправной точки загляните в IMAP/SMTP. Вы можете на любом языке войти в почтовый ящик, получить электронные письма, прочитать их и т. Д. И т. Д. И т. Д. Настройте свой почтовый ящик с учетной записью users@website.com
который получает законные электронные письма. Затем настройте задание cron, которое проверяет почтовый ящик каждые 5 минут или около того. Если письма не найдены, значит, все готово. Если там есть электронное письмо, обработайте его, запустите проверку по вашей БД, затем отправьте его по SMTP, а затем отправьте подтверждение пользователю.
Если обработка IMAP слишком сложна, вы можете просто создать на своем веб-сайте форму, которую смогут использовать привилегированные пользователи, которая будет отправлять электронные письма пользователям.