Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» FAQ по Exim MTA #2

Автор: Siv Soft
Дата сообщения: 06.09.2011 21:06
c кавычками как ни странно тоже работает
Автор: rovud
Дата сообщения: 07.09.2011 01:00
Решил всё же упростить себе задачу. Как ограничить скорость исходящих писем до 50 в час? Исходящих по smtp от сервера экзим до других серверов. Например, локальный скрипт даёт экзиму 500 адресов на отправку. Экзим должен все принять, но отправлять по 50 писем в час
ratelimit смотрел, но, видимо, не так что то делаю, потому что не работает
Автор: AkeHayc
Дата сообщения: 07.09.2011 08:23
vlary
А мне что посоветуете сделать?

Добавлено:
vlary вот типо такого у меня:
Ссылка
Автор: Siv Soft
Дата сообщения: 07.09.2011 09:52
Еще появились вопросы:
1. Стали появляться оригинальные письма - через меня переправляют:

fetchmail@127.0.0.1

как их бы резать?
а то exim сейчас их перенаправляет почтовику хостера.

2. По грейлистам - а будет ли эффект от них если fetchmail забирает с ящика почту - т.е. спам уже себе там лежит преспокойно без отлупки и горя не знает. И если нет - то как посоветуете настроить?
Автор: rovud
Дата сообщения: 07.09.2011 10:04
Всё таки, может кто подсказать по ограничению? Мне нужно ограничить количество писем, отправляемых с одного мыла. Но, ограничивать надо сам сервер. Т.е. экзим принимает от клиента все письма (например, 500 штук), а отправляет их с заданной скоростью, например, 10 писем в минуту. Получается, что всю кучу писем от одного сендера он держит в очереди. Можно такое реализовать?
Автор: vlary
Дата сообщения: 07.09.2011 10:18
rovud
Цитата:
Например, локальный скрипт даёт экзиму 500 адресов на отправку
Так может, лучше это дело в скрипте поправить?
Siv Soft
Цитата:
fetchmail@127.0.0.1
А это откуда берется?
Цитата:
По грейлистам - а будет ли эффект от них если fetchmail забирает с ящика почту
Грейлисты употребляются только если эксим сам получает почту из интернета на 25 порт. Если же ему просто скармливают для дальнейшей доставки то, что получено из других ящиков fetchmail или типа того, они бессмысленны.
AkeHayc Virtual Exim никакого отношения не имеет к Exim, скорее к php. И разбор его ошибок скорее будет уместен в разделе Web-программирование





Автор: LorDHawK
Дата сообщения: 07.09.2011 11:54
а есть какая-то опция чтобы вообще отключить очередь ?
или максимум это только прописать минимальное время ?
* * F,1s,1s
Автор: vlary
Дата сообщения: 07.09.2011 12:05
LorDHawK
Цитата:
а есть какая-то опция чтобы вообще отключить очередь ?  
Вообще отключить не получится. Допустим, на сервере адресата временные трудности, куда прикажешь девать письмо? А вообще эксим по умолчанию, приняв письмо от почтового клиента, тут же пытается доставить его адресату. Если облом - помещает в очередь.

Автор: LorDHawK
Дата сообщения: 07.09.2011 12:25

Цитата:
Допустим, на сервере адресата временные трудности, куда прикажешь девать письмо?


я лично предпочитаю чтобы он его в этом случае просто выбросил, т.к. спаммеры достали,
бомбят сервер по всей видимости через какой-то внешний скрипт, возможно в phpmailer есть какая-то брешь, в итоге почта от них блочится но попадает в очередь, а т.к. exim пытается эту очередь отправить то он создает дополнительные процессе чем нагружает сервер. То есть вроде и спам блочится но сервер загружается бесполезной работой. Я уже в конфиге практически всё что можно было уменьшить (потоки/время) уменьшил до минимума а всё равно load average от этого exim 4-8, убиваешь процесс exim вообще всё замечательно - 0.1-0.5



Автор: vlary
Дата сообщения: 07.09.2011 13:09
LorDHawK
Цитата:
я лично предпочитаю чтобы он его в этом случае просто выбросил, т.к. спаммеры достали,
Я имею в виду не входящие, а исходящие письма. Для входящих понятия очереди нет вообще. Если число подключений превышает значение smtp_accept_max , то сеанса вообще не происходит, и письма ждут повторной отправки на сервере отправителя.
А особо назойливые хосты спамеров можно рубить либо акцесс-листами acl_smtp_connect, либо еще на фаерволе.

Автор: Siv Soft
Дата сообщения: 08.09.2011 07:54

Цитата:
А это откуда берется?

Вот привожу лог:

Код:
Sep 8 00:45:21 python fetchmail[908]: 1 message for domenmail@mydomen at mail.mydomen (225651 octets).
Sep 8 00:45:22 python exim[3975]: Delay 0s for localhost [127.0.0.1] with HELO=localhost. Mail from vkomforte@epro.kiev.ua to fetchmail@127.0.0.1.
Sep 8 00:45:25 python exim[3975]: 1R1Pvw-000127-7g <= vkomforte@epro.kiev.ua H=localhost [127.0.0.1] I=[127.0.0.1]:25 P=esmtp S=223052 id=eac701cc6dbe$a974f510$6b13ed2a@vkomforte from <vkomforte@epro.kiev.ua> for fetch$
Sep 8 00:45:25 python fetchmail[908]: reading message domenmail@mydomen@mydomen:1 of 1 (225651 octets) flushed
Sep 8 00:45:31 python exim[3976]: 1R1Pvw-000127-7g => fetchmail@127.0.0.1 R=hostrouter T=main_smtp H=myhoster [XXX.XXX.XX.XX] X=TLSv1:AES256-SHA:256 C="250 OK id=1R1Pw6-0006EF-AJ"
Sep 8 00:45:31 python exim[3976]: 1R1Pvw-000127-7g Completed
Автор: vlary
Дата сообщения: 08.09.2011 10:00
Siv Soft Ну, это чисто шуточки настроек fetchmail. Ни один спамер, даже самый изощренный, не сможет послать вам письмо используя адрес fetchmail@127.0.0.1. Этот спам идет на какой-то почтовый ящик, откуда fetchmail его достает, и отправляет эксиму. Потому вопрос этот касается fetchmail, но никак не Exim.
Автор: Py6JIb
Дата сообщения: 08.09.2011 14:05
Здравствуйте! Подскажите где почитать - как составлять выражения для кондишенов. Я читал про PCRE - без поллитра не понять... Из того что я понял составил выражение - но кажется оно не работает
- не могу составить простой кондишен на проверку наличия домена в заголовке to:
condition = ${if !match{$h_to:}{@domain.ru}{yes}{no}}
Мне нужно проверить на наличие @domain.ru где бы она не находилась в $h_to:
Подскажите.
Спасибо.
Автор: vlary
Дата сообщения: 08.09.2011 14:41
Py6JIb
Цитата:
Подскажите где почитать
На оффсайте, где же еще...
Chapter 11 - String expansions
Автор: AkeHayc
Дата сообщения: 12.09.2011 12:54
При запуске Exim выдается сообщение:
Exim configuration error in line 9 of /etc/exim/vexim/vexim-group-router.conf:
error in ACL: unknown ACL verb "driver" in "driver = redirect" [FAILED]
Автор: Alukardd
Дата сообщения: 12.09.2011 12:58
AkeHayc
ну покажите что ли ваш vexim-group-router.conf (простыню в тэг more, разумеется)
Автор: glesando
Дата сообщения: 13.09.2011 00:40
Здравствуйте.
Такой вопрос. Есть роутер, который помещает письмо в папку "Спам", если rspamd насчитает 5 баллов:
junk:
driver = accept
domains = +local_domains
condition = ${if >{$spam_score_int}{50}{1}{0}}
transport = spam
no_verify
no_expn
no_more
так вот, собственно вопрос. Как сделать так, чтобы когда отправлял наш юзер данный роутер не срабатывал. Я наверное туплю, прошу подсказать.
Спасибо.

Добавлено:
Извините. Вроде осенило
Автор: AkeHayc
Дата сообщения: 13.09.2011 07:17
Alukardd
С этим проблем сейчас уже нет.
На данный момент у меня следующая трабла, при telnet'e 25 порта пишет Connection refused:
# telnet 127.0.0.1 25
Connection refused

Фаервол отключен, СеЛинукс тоже.
Также проверил конфиг Exim'a на предмет наличия прослушки 25 порта.
ps ax | grep exim

Говорит что Exim запушен.

По мне, ошущение что он не запущен.
Автор: glesando
Дата сообщения: 13.09.2011 07:19
У меня тоже это было. Оказывается 25 порт был провайдером заглушен. Спросите у прова.
Автор: vlary
Дата сообщения: 13.09.2011 09:37
AkeHayc Возможно, адрес 127.0.0.1 не прописан в эксиме в списке локальных интерфейсов
glesando

Цитата:
У меня тоже это было. Оказывается 25 порт был провайдером заглушен. Спросите у прова.

Цитата:
telnet 127.0.0.1 25
Ну насмешил! Сеть 127.0.0.Х глушится провайдером?


Автор: LorDHawK
Дата сообщения: 14.09.2011 01:18
как настроить логи exim чтобы он в нём выдавал IP отправителя писем ?
Автор: vlary
Дата сообщения: 14.09.2011 15:37
LorDHawK
Цитата:
как настроить логи exim чтобы он в нём выдавал IP отправителя писем ?
Ну, например, в acl_smtp_rcpt пишешь:

Код: accept
condition = "условие приема"
message = Recipient ok
log_message = sender $sender_address from host $sender_host_name [$sender_hos
t_address] to $local_part@$domain accepted
или, если надо отбрить
deny
condition = "условие отбривания"
message = Fuck off!
log_message = sender $sender_address from host $sender_host_name [$sender_hos
t_address] to $local_part@$domain rejected
Автор: AkeHayc
Дата сообщения: 16.09.2011 12:42
Скажите пожалуйста, на какие запросы можно поменять в разделе routers, чтобы не было ошибки вроде этой?


Цитата:
2011-09-16 05:15:34 1R4TNQ-0003sf-Nn failed to expand "${lookup mysql{SELECT `domain` FROM `domain` WHERE `domain`='${quote_mysql:$domain}' AND `active`='1'}}" while checking a list: lookup of "SELECT `domain` FROM `domain` WHERE `domain`='point.local' AND `active`='1'" gave DEFER: MYSQL connection failed: Access denied for user 'vexim'@'localhost' (using password: YES)


Добавлено:
Отрывок exim.conf :

Цитата:
begin routers

dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more

system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup{$local_part}lsearch{/etc/aliases}}
dovecot_user:
driver = accept
condition = ${lookup mysql{SELECT `goto` FROM \
`alias` WHERE \
`address`='${quote_mysql:$local_part@$domain}' OR \
`address`='${quote_mysql:@$domain}'}{yes}{no}}
transport = dovecot_delivery


Добавлено:
Версия Exim 4.63
CentOS 5.6

Добавлено:
Если дать команду:
exim -bV | grep dovecot

Ни чего не выдается...
Автор: LorDHawK
Дата сообщения: 16.09.2011 13:23

Цитата:
Ну, например, в acl_smtp_rcpt пишешь:


смотрю конфиг и вижу что acl_smtp_rcpt это переменная, имеющая абсолютно определенное значение (acl_smtp_rcpt = check_recipient) и при добавлении чего-то другого кроме одного значения при запуске exim вызывает ошибку
Автор: AkeHayc
Дата сообщения: 16.09.2011 13:57
Теперь следующая ошибка:

Цитата:
Sep 16 07:00:21 localhost dovecot: auth: mysql(localhost): Connected to database vexim
Sep 16 07:00:24 localhost dovecot: pop3-login: Login: user=<linux@point.local>, method=PLAIN, rip=192.168.50.10, lip=192.168.50.2
Sep 16 07:00:24 localhost dovecot: pop3(linux@point.local): Error: user linux@point.local: Initialization failed: Initializing mail storage from mail_location setting failed: Home directory not set for user. Can't expand ~/ for mail root dir in: ~/home/vmail/point.local/linux
Sep 16 07:00:24 localhost dovecot: pop3(linux@point.local): Error: Invalid user settings. Refer to server log for more information.


Добавлено:
vlary
sorry, я ошибся жескто
Просмотрел пароль в /etc/exim/exim.conf
Строчка:
hide mysql_servers = localhost/vexim/vexim/password
Забыл пароль сменит


Добавлено:
Теперь следующая ошибка:

Цитата:
2011-09-16 08:16:46 1R4XLV-0000zW-M4 H=(client1) [192.168.50.10] I=[192.168.50.2]:25 F=<linux@point.local> temporarily rejected after DATA
2011-09-16 08:17:26 Delay 30s for [192.168.50.10] with HELO=client1. Mail from linux@point.local to linux@point.local.
2011-09-16 08:17:56 1R4XMi-000107-B3 malware acl condition: clamd: ClamAV returned: /var/spool/exim/scan/1R4XMi-000107-B3/1R4XMi-000107-B3.eml: lstat() failed: Permission denied. ERROR
2011-09-16 08:17:56 1R4XMi-000107-B3 H=(client1) [192.168.50.10] I=[192.168.50.2]:25 F=<linux@point.local> temporarily rejected after DATA


Подразумеваю что нет прав на папку: /var/spool/exim
Автор: syrus
Дата сообщения: 19.09.2011 05:18
Добрый день.

В "наследство" остался почтовый сервер на базе exim. От спама настроена повторное опрашивание серверов-сендеров (если правильно выражаюсь).
Возникла проблема с филиалами: почту принимают, а при отправке письма с вложением возникает заминка и передача снимается по тайм-ауту.
Последний пример, не смогли отправить файл rtf (86 кб). Когда его заархивировали, ушел сразу.

В mainlog пишет:
SMTP data timeout (message abandoned) on connection from ([127.0.0.1]) [81.2.хх.хх] F=<хххххххх@ххххххх.org>
no host name found for IP address

Подскажите, что можно сделать?
Автор: vlary
Дата сообщения: 19.09.2011 14:44
AkeHayc
Цитата:
Подразумеваю что нет прав на папку: /var/spool/exim
Похоже на то. Дабы проверить, кто что и куда пишет, проще сначала дать максимальное разрешение 777 на все его директории, а уже потом убрать лишние права.
syrus
Цитата:
От спама настроена повторное опрашивание серверов-сендеров (если правильно выражаюсь).
Эта штука называется "серые списки" (greylisting).

Цитата:
Подскажите, что можно сделать?
А для таких вещей есть белые списки. Прописывайте в них айпишники своих филиалов и наслаждайтесь.





Автор: syrus
Дата сообщения: 20.09.2011 00:11
to vlary:

В папке /etc/greylistd есть файлы config и whitelist-hosts. Адрес филиала ххх@domain.org и в файле whitelist-hosts прописана строчка *.domain.org, т.е. по идее в белых списках стоит пропуск филиалам.
Ранее проблем с отправкой не было (работали более года), возникла недавно.
Странно то, что файл маленький, а отправился только после архивации.
Автор: vlary
Дата сообщения: 20.09.2011 00:45
syrus
Цитата:
в файле whitelist-hosts прописана строчка *.domain.org, т.е. по идее в белых списках стоит пропуск филиалам.
Откуда это следует? Почта от хостов с именами *.domain.org конечно будет пропущена, но имен то у филиальских хостов нету, видимо, обратная зона не прописана. Так что заносить их в белые списки надо не по имени, а по айпи.
Что касается тайм-аута, тут могут быть и другие причины. Например, включенная фильтрация содержимого.

Автор: syrus
Дата сообщения: 20.09.2011 01:14
У филиалов динамический IP. Возможно ли их прописать каким-то образом?
А где увидеть, включена ли фильтрация или нет?

Страницы: 123456789101112131415161718192021

Предыдущая тема: Посоветуйте девайс для орг-ии VPN


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.