Exim для массовой рассылки почты
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- ефрейтор
- Сообщения: 51
- Зарегистрирован: 2009-04-28 13:15:04
Exim для массовой рассылки почты
Добрый вечер.
Столкнулся с задачей настроить сервер для массовой рассылки - 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.
Столкнулся с задачей настроить сервер для массовой рассылки - 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
Тарифы на хостинг в России, от 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/
Тарифы на виртуальные сервера (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 для массовой рассылки почты
А как выглядят сообщения о недоставке??
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!
-
- ефрейтор
- Сообщения: 51
- Зарегистрирован: 2009-04-28 13:15:04
Re: Exim для массовой рассылки почты
Код: Выделить всё
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
в очереди, которая растет, так и висят и все. Отправку писем делал с помощью виндовой программки Mass mailer.
- Laa
- ст. лейтенант
- Сообщения: 1032
- Зарегистрирован: 2008-02-21 18:25:33
- Откуда: Украина, Россия
Re: Exim для массовой рассылки почты
Ну так это не связано с массовостью, они бы висели бы в очереди и без остальных пяти тысяч писем. Тут остается только ждать. Ну или по каждому логу делать выводы и действовать. Может какие-то почтовики блокируют доставку если с одного сервера одновременно больше Х писем валит одного и того же содержания, может надо на такие по одному за одну отправку слать и тд...
Удачи.
Удачи.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!
-
- ефрейтор
- Сообщения: 51
- Зарегистрирован: 2009-04-28 13:15:04
Re: Exim для массовой рассылки почты
Хм, странно.
Параллельно была вот какая проблема - поднял почтовый сервак по 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_receive_timeout = 5m ЭТО ТОТ САМЫЙ TIMOUT КОТОРЫЙ СТАВИТЬСЯ, ЕСЛИ smtp_accept_max_per_host (>10) (в прочем он и так по defaultu 5m)?
max-per-host:
Параллельно была вот какая проблема - поднял почтовый сервак по 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
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 раза.
-
- ефрейтор
- Сообщения: 51
- Зарегистрирован: 2009-04-28 13:15:04
Re: Exim для массовой рассылки почты
Мне кажется для исходящей почты надо с очередями попробовать?
Ни кто эти параметры не использовал?
Код: Выделить всё
# при большом числе соединений, класть сообщения в очередь, не доставлять
# smtp_accept_queue = 30
# класть в очередь, при большом числе сообщений за одно соединение
# (вообще то и так по Defaultu 10) (потестить!!)
# smtp_accept_queue_per_connection = 10
- Laa
- ст. лейтенант
- Сообщения: 1032
- Зарегистрирован: 2008-02-21 18:25:33
- Откуда: Украина, Россия
Re: Exim для массовой рассылки почты
Все эти параметры используют. Кто-то дефолтные, кто-то свои персональные.
Вы тестируйте, понимайте что как работает в ваших условиях и правьте эти значения. Что еще посоветовать?
Вы тестируйте, понимайте что как работает в ваших условиях и правьте эти значения. Что еще посоветовать?
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!
- Laa
- ст. лейтенант
- Сообщения: 1032
- Зарегистрирован: 2008-02-21 18:25:33
- Откуда: Украина, Россия
Re: Exim для массовой рассылки почты
Вы в логи Exim смотрите?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 говорит что не так. Он вполне адекватно сообщает когда что не так.
Иногда бывают спам-атаки, или просто тупые переборы аккаунтов, у меня бывает нагрузка в два-три раза увеличивается, так что smtp_accept_max нужно вдумчиво использовать. С одной стороны мало ставить опасно, с другой стороны при больших значениях могут задосить или завалить почтовик... нужно еще использовать рэйт-лимиты, чтобы сильно ярых спамеров притормаживать.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!
-
- ефрейтор
- Сообщения: 51
- Зарегистрирован: 2009-04-28 13:15:04
Re: Exim для массовой рассылки почты
Про ratelimit вчера более внимательнее как раз почитал, очень понравились, думаю как бы объединить acl с pix. А по поводу smtp_accept_max - я не совсем поннял, как тогда нужно правильно рассчитать нагрузку на сервер?
- Laa
- ст. лейтенант
- Сообщения: 1032
- Зарегистрирован: 2008-02-21 18:25:33
- Откуда: Украина, Россия
Re: Exim для массовой рассылки почты
Ну поставьте 100, понаблюдайте.Stason писал(а):Про ratelimit вчера более внимательнее как раз почитал, очень понравились, думаю как бы объединить acl с pix. А по поводу smtp_accept_max - я не совсем поннял, как тогда нужно правильно рассчитать нагрузку на сервер?
Если будет мало, делайте +50 и так далее.
Но важно спамеров детектить на стадии коннект и тогда нагрузка существенно снижается.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!
-
- ефрейтор
- Сообщения: 51
- Зарегистрирован: 2009-04-28 13:15:04
Re: Exim для массовой рассылки почты
На днях сделал рассылку на 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 для массовой рассылки почты
Как долго отправлялось на 8000 адресатов? час? два? Меня тоже интересует этот вопрос.
-
- ефрейтор
- Сообщения: 51
- Зарегистрирован: 2009-04-28 13:15:04
Re: Exim для массовой рассылки почты
не более 4х часов точно, а скорее всего где-то 2-2,5 часа, но там так-же была другая фича: мне надо было что-бы сервер не попадал в спам листы, поэтому мне один человек подсказал, что еще важно менять вес письма, а это удалось добиться путем подстановки меняющегося текста "Здрувствуйте, %name% %sorname%, которые брались из базы и подставлялись в программку для рассылки
- skeletor
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Re: Exim для массовой рассылки почты
Мне бы в час нужно отправлять 10000 писем. А что за вес писем? Никогда о таком не слышал
-
- ефрейтор
- Сообщения: 51
- Зарегистрирован: 2009-04-28 13:15:04
Re: Exim для массовой рассылки почты
Да, быстр он должен быть. А по поводу веса я рассказал, что вот знаю, самому интересно узнать подробнее
- Agronom
- ст. сержант
- Сообщения: 305
- Зарегистрирован: 2006-12-11 10:30:13
- skeletor
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Re: Exim для массовой рассылки почты
Вопрос не совсем в том, что бы рассылать большие объёмы, а в том, что бы делать это очень быстро. Насколько я понял, это типа mailman'a для модерируемых рассылок.
- Agronom
- ст. сержант
- Сообщения: 305
- Зарегистрирован: 2006-12-11 10:30:13
Re: Exim для массовой рассылки почты
majordomo рассылает быстро, каждое письмо отдельному адресату
- skeletor
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Re: Exim для массовой рассылки почты
Хорошо, вот допустим нужно разослать 10000 писем. Как быстро он это сделат? час? день?
- Agronom
- ст. сержант
- Сообщения: 305
- Зарегистрирован: 2006-12-11 10:30:13
Re: Exim для массовой рассылки почты
у меня рассылка на 5 000 адресов уходит примерно за 35-40 мин, тут работают ограничения не мажордома, а самого exim
- skeletor
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Re: Exim для массовой рассылки почты
Вот. Именно это я и пытаюсь выяснить, какие параметры в exim'e отвечают за ограничения. Не могли бы вы поделится своим конфигом?