У меня есть сервер с SMTP, настроенный для исходящей электронной почты моего сайта. Чтобы не попасть в черный список, я бы хотел ограничить исходящие электронные письма произвольным порогом (скажем, 500 в час). Как лучше всего это реализовать?
Возможности, которые я вижу:
1) Какое-то регулирование исходящего трафика на виртуальном SMTP-сервере (не уверен, возможно ли это, если не на полноценном сервере Exchange)
2) Создайте службу Windows, которая опрашивает таблицу базы данных для электронных писем, обрабатывает результаты TOP N и затем спит в течение X минут.
3) Возможно обработка этого с помощью запланированной хранимой процедуры
Любой из них лучший подход?
1) Эта функция недоступна без Exchange Server.
2 и 3) Это действительно зависит от того, на чем вы предпочитаете писать программы. Лично я предпочитаю VS.Net IDE написанию хранимых процедур.
Я искал различные почтовые серверы, которые были дешевле, чем Exchange, поддерживающий регулирование. hMailServer - нет, MailEnable - нет. Это выглядело как Почтовый сервер IceWarp (/ Merak) может ... вы можете загрузить для этого пробную версию и посмотреть, есть ли какие-либо настройки SMTP для этого, прежде чем писать свои собственные. Только компонент почтового сервера стоит 312 долларов.