Exim для массовой рассылки почты

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Stason
ефрейтор
Сообщения: 51
Зарегистрирован: 2009-04-28 13:15:04

Exim для массовой рассылки почты

Непрочитанное сообщение Stason » 2009-06-07 20:43:04

Добрый вечер.
Столкнулся с задачей настроить сервер для массовой рассылки - 10.000 - 15.000 тыс внешних получателей. Почтовик EXIM 4.69, ос Freebsd 7.1.
Причем уходить почта должна с моего сервака, а приходить отбивки должны на ящик на другом сервере, но в этом же домене (приоритет MX у него выше). Настройки моего сервера простые - нужно что бы почта уходила от системных пользователей. Настраивал по http://www.lissyara.su/?id=1181, поигрался с smtp_accept_max, с smtp_accept_max_per_connection, с smtp_accept_max_per_host, но не сильно помогло - уходит на 4000, на большее - очень много сообщений что не доставлено.
Прошу помощи в настройке EXIM у тех , кто сталкивался с данным вопросом.
Слышал, есть mailman, но пока не совсем получилось его настроить, да и не в нем проблема, а в самом EXIM.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Exim для массовой рассылки почты

Непрочитанное сообщение Laa » 2009-06-08 7:09:00

А как выглядят сообщения о недоставке??
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Stason
ефрейтор
Сообщения: 51
Зарегистрирован: 2009-04-28 13:15:04

Re: Exim для массовой рассылки почты

Непрочитанное сообщение Stason » 2009-06-08 10:46:40

Код: Выделить всё

May 18 23:58:15 lmex exim[35022]: 1M68yU-00096o-5P == <user_post>@rambler.ru R=dnslookup T=remote_smtp defer (-46): SMTP error from remote mail server after DATA: host imx2.rambler.ru [81.19.88.2]: 452 4.7.1 Try again later
May 18 23:59:56 lmex exim[36972]: 1M6904-0009cJ-Jo => <user_post>@yandex.ru R=dnslookup T=remote_smtp H=mx3.yandex.ru [213.180.204.89] C="250 2.0.0 Ok: queued as 653913008C"
May 19 00:04:08 lmex exim[40952]: 1M68Sr-0005Un-UB == <user_post>@toppersonal.org R=dnslookup T=remote_smtp defer (-53): retry time not reached for any host
May 19 00:04:08 lmex exim[40956]: 1M68yV-00097E-Hg == <user_post>@lianet.ru routing defer (-51): retry time not reached
<user_post> - локальная часть почты внешнего получателя
в очереди, которая растет, так и висят и все. Отправку писем делал с помощью виндовой программки Mass mailer.

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Exim для массовой рассылки почты

Непрочитанное сообщение Laa » 2009-06-08 11:20:43

Ну так это не связано с массовостью, они бы висели бы в очереди и без остальных пяти тысяч писем. Тут остается только ждать. Ну или по каждому логу делать выводы и действовать. Может какие-то почтовики блокируют доставку если с одного сервера одновременно больше Х писем валит одного и того же содержания, может надо на такие по одному за одну отправку слать и тд...

Удачи.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Stason
ефрейтор
Сообщения: 51
Зарегистрирован: 2009-04-28 13:15:04

Re: Exim для массовой рассылки почты

Непрочитанное сообщение Stason » 2009-06-08 12:01:25

Хм, странно.
Параллельно была вот какая проблема - поднял почтовый сервак по http://www.lissyara.su/?id=1453, Лисс там еще писал "Максимальное число одновременных подключений по SMTP. Рассчитывать надо исходя из нагрузки на сервер - smtp_accept_max = 50", из-за того, что юзеров у меня не много (80-90), но почты им приходит очень много, в середине дня, (первого дня запуска сервака) - почта остановилась вообще - ни изнутри, ни снаружи, и везде было "(-53): retry time not reached for any host", подправил как раз smtp_accept_max, smtp_accept_max_per_connection, smtp_accept_max_per_host вроде больше не висела. Но эти параметры в основном для входящей почты из вне?

Код: Выделить всё

smtp_accept_max = 240
smtp_accept_max_per_connection = 35
smtp_connect_backlog = 50
smtp_accept_max_per_host = ${lookup{$sender_host_address}iplsearch{/usr/local/etc/exim/max-per-host}}
smtp_ratelimit_hosts = *
# (от 03.06)
smtp_ratelimit_hosts = !+relay_from_hosts:*
# (65 секунд задержки на сотом)
smtp_ratelimit_mail = 2,0.5s,1.05,4m
# (5 секунд задержки на сотом)
smtp_ratelimit_rcpt = 4,0.25s,1.03,4m
smtp_receive_timeout = 5m
smtp_accept_reserve = 40
smtp_reserve_hosts = +relay_from_hosts
ну и remote_max_parallel = 10
# (добавлено 28.05 - внимание!!!)
#  ограничение на сообщение
recipients_max = 200
# отклонять сообщения у которых слишком много получателей
recipients_max_reject = true
КСТАТИ КТО ЗНАЕТ, ПОДСКАЖИТЕ - smtp_receive_timeout = 5m ЭТО ТОТ САМЫЙ TIMOUT КОТОРЫЙ СТАВИТЬСЯ, ЕСЛИ smtp_accept_max_per_host (>10) (в прочем он и так по defaultu 5m)?
max-per-host:

Код: Выделить всё

# Maximum number of simultaneous connections per host
# IP address/mask   max connections
127.0.0.1: 10
# default
#0.0.0.0/0: 10
# local network
172.16.1.0/24: 10
# ext ip
172.17.17.10: 10
# Our IP address
# Replace the x's with your IP address & other
  *: 10
Последний раз редактировалось Stason 2009-06-08 15:50:54, всего редактировалось 3 раза.

Stason
ефрейтор
Сообщения: 51
Зарегистрирован: 2009-04-28 13:15:04

Re: Exim для массовой рассылки почты

Непрочитанное сообщение Stason » 2009-06-08 12:04:45

Мне кажется для исходящей почты надо с очередями попробовать?

Код: Выделить всё

# при большом числе соединений, класть сообщения в очередь, не доставлять
# smtp_accept_queue = 30
# класть в очередь, при большом числе сообщений за одно соединение
# (вообще то и так по Defaultu 10) (потестить!!)
# smtp_accept_queue_per_connection = 10
Ни кто эти параметры не использовал?

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Exim для массовой рассылки почты

Непрочитанное сообщение Laa » 2009-06-08 21:43:29

Все эти параметры используют. Кто-то дефолтные, кто-то свои персональные.
Вы тестируйте, понимайте что как работает в ваших условиях и правьте эти значения. Что еще посоветовать?
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Exim для массовой рассылки почты

Непрочитанное сообщение Laa » 2009-06-08 21:59:40

Stason писал(а):Хм, странно.
Параллельно была вот какая проблема - поднял почтовый сервак по http://www.lissyara.su/?id=1453, Лисс там еще писал "Максимальное число одновременных подключений по SMTP. Рассчитывать надо исходя из нагрузки на сервер - smtp_accept_max = 50", из-за того, что юзеров у меня не много (80-90), но почты им приходит очень много, в середине дня, (первого дня запуска сервака) - почта остановилась вообще - ни изнутри, ни снаружи, и везде было "(-53): retry time not reached for any host", подправил как раз smtp_accept_max, smtp_accept_max_per_connection, smtp_accept_max_per_host вроде больше не висела. Но эти параметры в основном для входящей почты из вне?
Вы в логи Exim смотрите? ;)
Там же Exim говорит что не так. Он вполне адекватно сообщает когда что не так.
Иногда бывают спам-атаки, или просто тупые переборы аккаунтов, у меня бывает нагрузка в два-три раза увеличивается, так что smtp_accept_max нужно вдумчиво использовать. С одной стороны мало ставить опасно, с другой стороны при больших значениях могут задосить или завалить почтовик... нужно еще использовать рэйт-лимиты, чтобы сильно ярых спамеров притормаживать.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Stason
ефрейтор
Сообщения: 51
Зарегистрирован: 2009-04-28 13:15:04

Re: Exim для массовой рассылки почты

Непрочитанное сообщение Stason » 2009-06-09 7:51:08

Про ratelimit вчера более внимательнее как раз почитал, очень понравились, думаю как бы объединить acl с pix. А по поводу smtp_accept_max - я не совсем поннял, как тогда нужно правильно рассчитать нагрузку на сервер?

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Exim для массовой рассылки почты

Непрочитанное сообщение Laa » 2009-06-09 9:10:05

Stason писал(а):Про ratelimit вчера более внимательнее как раз почитал, очень понравились, думаю как бы объединить acl с pix. А по поводу smtp_accept_max - я не совсем поннял, как тогда нужно правильно рассчитать нагрузку на сервер?
Ну поставьте 100, понаблюдайте.
Если будет мало, делайте +50 и так далее.
Но важно спамеров детектить на стадии коннект и тогда нагрузка существенно снижается.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Stason
ефрейтор
Сообщения: 51
Зарегистрирован: 2009-04-28 13:15:04

Re: Exim для массовой рассылки почты

Непрочитанное сообщение Stason » 2009-06-11 18:39:07

На днях сделал рассылку на 8000 адресов. Все прошло на ура. Может кому понадобиться, использовал вот такие параметры в конфиге (можно добавить роутеры для mailman):

Код: Выделить всё

smtp_accept_max = 150
smtp_accept_max_per_connection = 100
smtp_connect_backlog = 30
smtp_accept_max_per_host = 50
smtp_accept_reserve = 30
smtp_reserve_hosts = +relay_from_hosts
split_spool_directory = true
remote_max_parallel = 50

Аватара пользователя
skeletor
майор
Сообщения: 2548
Зарегистрирован: 2007-11-16 18:22:04

Re: Exim для массовой рассылки почты

Непрочитанное сообщение skeletor » 2011-08-08 16:57:32

Как долго отправлялось на 8000 адресатов? час? два? Меня тоже интересует этот вопрос.

Stason
ефрейтор
Сообщения: 51
Зарегистрирован: 2009-04-28 13:15:04

Re: Exim для массовой рассылки почты

Непрочитанное сообщение Stason » 2011-08-14 18:43:29

не более 4х часов точно, а скорее всего где-то 2-2,5 часа, но там так-же была другая фича: мне надо было что-бы сервер не попадал в спам листы, поэтому мне один человек подсказал, что еще важно менять вес письма, а это удалось добиться путем подстановки меняющегося текста "Здрувствуйте, %name% %sorname%, которые брались из базы и подставлялись в программку для рассылки

Аватара пользователя
skeletor
майор
Сообщения: 2548
Зарегистрирован: 2007-11-16 18:22:04

Re: Exim для массовой рассылки почты

Непрочитанное сообщение skeletor » 2011-08-15 12:32:50

Мне бы в час нужно отправлять 10000 писем. А что за вес писем? Никогда о таком не слышал

Stason
ефрейтор
Сообщения: 51
Зарегистрирован: 2009-04-28 13:15:04

Re: Exim для массовой рассылки почты

Непрочитанное сообщение Stason » 2011-08-16 6:26:12

Да, быстр он должен быть. А по поводу веса я рассказал, что вот знаю, самому интересно узнать подробнее

Аватара пользователя
Agronom
ст. сержант
Сообщения: 305
Зарегистрирован: 2006-12-11 10:30:13

Re: Exim для массовой рассылки почты

Непрочитанное сообщение Agronom » 2011-08-31 11:11:11

Есть специально разработанная для этого программа - Majordomo, которая умеет рассылать большие объемы почты, назначать адрес куда придут отлупы, кто может рассылать и многое другое.
тыц, тыц

Аватара пользователя
skeletor
майор
Сообщения: 2548
Зарегистрирован: 2007-11-16 18:22:04

Re: Exim для массовой рассылки почты

Непрочитанное сообщение skeletor » 2011-08-31 11:24:53

Вопрос не совсем в том, что бы рассылать большие объёмы, а в том, что бы делать это очень быстро. Насколько я понял, это типа mailman'a для модерируемых рассылок.

Аватара пользователя
Agronom
ст. сержант
Сообщения: 305
Зарегистрирован: 2006-12-11 10:30:13

Re: Exim для массовой рассылки почты

Непрочитанное сообщение Agronom » 2011-08-31 12:58:57

majordomo рассылает быстро, каждое письмо отдельному адресату

Аватара пользователя
skeletor
майор
Сообщения: 2548
Зарегистрирован: 2007-11-16 18:22:04

Re: Exim для массовой рассылки почты

Непрочитанное сообщение skeletor » 2011-09-01 9:14:19

Хорошо, вот допустим нужно разослать 10000 писем. Как быстро он это сделат? час? день?

Аватара пользователя
Agronom
ст. сержант
Сообщения: 305
Зарегистрирован: 2006-12-11 10:30:13

Re: Exim для массовой рассылки почты

Непрочитанное сообщение Agronom » 2011-09-01 22:24:43

у меня рассылка на 5 000 адресов уходит примерно за 35-40 мин, тут работают ограничения не мажордома, а самого exim

Аватара пользователя
skeletor
майор
Сообщения: 2548
Зарегистрирован: 2007-11-16 18:22:04

Re: Exim для массовой рассылки почты

Непрочитанное сообщение skeletor » 2011-09-02 11:32:25

Вот. Именно это я и пытаюсь выяснить, какие параметры в exim'e отвечают за ограничения. Не могли бы вы поделится своим конфигом?