Назад | Перейти на главную страницу

Postfix mailq - отправлять каждые x минут

На моем веб-сайте около 2000 клиентов подписались на нашу рассылку. В прошлом я использовал Swift Mailer, но он работал не так, как предполагалось.

Мне интересно, есть ли способ, которым Postfix может хранить электронные письма в mailq (если одновременно отправляется много писем) и отправлять блоки по 20-30 писем каждые 10-20 минут. Таким образом, наш сервер не попадает в черный список.

Любые предложения будут признательны.

Если я правильно понял вопрос, вы можете сделать это с помощью default_destination_rate_delay и default_destination_recipient_limit параметры.

  • default_destination_rate_delay указывает задержку между доставками. Вы должны установить это на 10-20 минут.
  • default_destination_recipient_limit указывает количество получателей для отправки электронной почты в одной доставке. Предполагая, что вы отправляете одно сообщение нескольким получателям, вы должны установить это значение в 20-30 в соответствии с вашим вопросом.

Вы ограничены использованием постфикса? Это можно сделать с помощью Exim.

Входящий exim установлен только в очередь, настроить исходящий exim, cron exim -bpu | grep '<' | head -20 | awk '{print $3}' | xargs exim -Mc каждые 10 минут или что-то в этом роде

Это своего рода уродливый взлом, но вы можете использовать очередь Postfix HOLD и выпускать пакеты сообщений usng. postsuper -H через задание cron.

Вам понадобится какая-то карта доступа smtpd, которая идентифицирует рассылку писем, которую нужно приостановить.