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

» FAQ по Exim MTA

Автор: SlyG
Дата сообщения: 01.10.2010 15:47
Мой конфиг exim:
http://landc.ru/tmp/exim.txt

Мне почему-то на одного из юзеров сыпятся все письма, приходящие на несуществующие почтовые ящики.

Что там необходимо поменять или добавить, чтобы exim не принимал письма на несуществующие адреса?

И как он выбирает, на какого юзера сливать все эти письма? В конфиге ведь ничего про это нет.
Автор: vlary
Дата сообщения: 01.10.2010 16:08
SlyG На серваке где Эксим, находятся ящики конечных пользователей? Или он транслирует почту дальше на какие-то внутренние сервера?
Автор: SlyG
Дата сообщения: 01.10.2010 16:17
vlary
Первый вариант.

Обслуживаются все, кто указан в /etc/passwd
Автор: vlary
Дата сообщения: 01.10.2010 16:30

Цитата:
Что там необходимо поменять или добавить, чтобы exim не принимал письма на несуществующие адреса?
По-моему, все у вас с этим в порядке

Код: telnet 79.174.66.75 25
Trying 79.174.66.75...
Connected to 79.174.66.75.
Escape character is '^]'.
220 5253.ovz33.hc.ru ESMTP Exim 4.63 Fri, 01 Oct 2010 17:09:29 +0400
HELO mail.test.ru
250 5253.ovz33.hc.ru Hello mail.test.ru [21.21.29.13]
MAIL FROM:<info@mail.test.ru>
250 OK
RCPT TO:<abracadabra@golovanov.net>
550 Unknown user
RCPT TO:<abracadabra@landc.ru>
550 Unknown user
RCPT TO:<abracadabra@landc.lgg.ru>
550 Unknown user
RCPT TO:<abracadabra@loveandcare.ru>
550 Unknown user
QUIT
221 5253.ovz33.hc.ru closing connection
Автор: SlyG
Дата сообщения: 01.10.2010 16:42
vlary
Для примера:


Код:
Return-path: <dearg04@ekoigrushka.ru>
Envelope-to: adm@loveandcare.ru
Delivery-date: Fri, 01 Oct 2010 17:36:20 +0400
Received: from [119.152.73.246]
by 5253.ovz33.hc.ru with esmtp (Exim 4.63)
(envelope-from <dearg04@ekoigrushka.ru>)
id 1P1fme-0001zJ-0f
for adm@loveandcare.ru; Fri, 01 Oct 2010 17:36:20 +0400
Received: from autodbm by orv.by with local-bsmtp (Exim 4.69)
(envelope-from <orv.by>)
id a997llbv224294
for <adm@loveandcare.ru>; Fri, 1 Oct 2010 18:36:19 +0500
From: =?koi8-r?B?7cHL08nNIO3JyMXF1w==?= <dearg04@ekoigrushka.ru>
To: adm <<adm@loveandcare.ru>>
Message-ID: <20101001183619BKOEBTBQUBWZV726621@orv.by>
Reply-To: =?koi8-r?B?7cHL08nNIO3JyMXF1w==?= <dearg04@ekoigrushka.ru>
MIME-Version: 1.0
Content-Type: text/plain; charset=KOI8-R
Content-Transfer-Encoding: 8bit
Precedence: bulk
X-Mailer: MyBB Mail
X-XN-Filter:yes
Subject: =?koi8-r?B?5M/CwdfY1MUg7uzwINcg09fPyiDB0tPFzsHM?=
Date: Fri, 1 Oct 2010 18:36:19 +0500
Автор: Alukardd
Дата сообщения: 01.10.2010 17:28
SlyG
использовали бы вы лучше sql базу пользователей...

можно еще ради интереса вывод $ cat /etc/aliases
Автор: vlary
Дата сообщения: 01.10.2010 17:29
Ну это совсем другое дело, видимо adm существует в /etc/passwd
А почтового ящика у него нет, и сбрасывается письмо в первый попавшийся

Цитата:
telnet 79.174.66.75 25
Trying 79.174.66.75...
Connected to 79.174.66.75.
Escape character is '^]'.
220 5253.ovz33.hc.ru ESMTP Exim 4.63 Fri, 01 Oct 2010 17:09:29 +0400
HELO mail.test.ru
250 5253.ovz33.hc.ru Hello mail.test.ru [21.21.29.13]
MAIL FROM:<info@test.ru>
250 OK
RCPT TO:<adm@loveandcare.ru>
250 Accepted
QUIT
221 5253.ovz33.hc.ru closing connection

Еще посмотрите в алиасах, может там какая заковыка.
Для того, чтобы не шли письма на системные эккаунты, можно сделать список адресов и алиасов в файле скажем /usr/local/exim/acl/localparts, и прописать
localpartlist allusers= lsearch;/usr/local/exim/acl/localparts
и в acl_check_rcpt: вместо require verify = recipient
написать
deny
message = $local_part@$domain unknown user account
!local_parts = +allusers

Автор: Alukardd
Дата сообщения: 01.10.2010 17:54
vlary
Цитата:
Ну это совсем другое дело, видимо adm существует в /etc/passwd
А почтового ящика у него нет, и сбрасывается письмо в первый попавшийся
а причем тут пользователь adm?

И кстати я не нашел у себя в правилах нечто особенное, чего для данного случая не хватает у SlyG. И тем не менее все успешно работает...
Автор: vlary
Дата сообщения: 01.10.2010 18:06
Alukardd
Цитата:
а причем тут пользователь adm?
Причем - не знаю, но у меня тоже в
/etc/passwd есть adm
adm:x:4:4:System accounting:/usr/adm:
И если на несуществующего юзера письма его эким бортает,
то на adm принимает на ура. Как и куда они потом разбегаются по ящикам - другой вопрос.
У меня эксим стоит в качестве прокладки, почтовые адреса берет из внешней базы, так что смоделировать фефект я не могу.
Автор: Alukardd
Дата сообщения: 01.10.2010 19:01
vlary
у меня в /etc/passwd нету adm и письмо только что для него reject'нулось, в sql нету aliase на adm.

ладно. что-то как всегда пришли мы к диалогу без автора проблемы) подождем что ли...
p.s. главное что бы он весь наш диалог прочитал, а не только последний пост)
Автор: SlyG
Дата сообщения: 01.10.2010 20:12
vlary
Ага!, как говорят британские учёные Ж)

Юзер adm существует, ящика на него нет, но думаю, что дело в следующем:

$ cat /etc/aliases


Код:
# Basic system aliases -- these MUST be present.
mailer-daemon: postmaster
postmaster: root

# General redirections for pseudo accounts.
bin: root
daemon: root
adm: root
lp: root
sync: root
shutdown: root
halt: root
mail: root
news: root
uucp: root
operator: root
......
и там еще два десятка переадресаций на рута
Автор: Alukardd
Дата сообщения: 01.10.2010 21:24
SlyG
вообще надо сделать нужного и очень нужного юзера и перенаправить на него рутовую почту, а также postmaster и аналогичные аки(но это уже из этикета почтовых серверов...).

На самом деле все конечно можно прочитать в логах, но некоторое в удобном виде и самое нужное приходит на почту root'у, что очень удобно.
Но тем не менее до root'a все равно не должен доходить мусор о отклоненных письмах...
Автор: SlyG
Дата сообщения: 01.10.2010 22:15
vlary
Alukardd

Спасибо!!
Автор: vlary
Дата сообщения: 01.10.2010 22:22
SlyG Ну вот, все и прояснилось. adm это root, а root - это vgol.
На root, кстати, тоже много спама бывает. Даже на daemon отправлять умудряются.
Так что приведите в порядок /etc/aliases и оставьте рутовую почту только для системных сообщений. Можете воспользоваться советом Alukardd или моим, создав базу или список адресов, которые будут доступны извне.

Автор: Clop345
Дата сообщения: 05.10.2010 12:38
Приветствую уважаемый форум!

Наткнулся на неожиданную проблемку.
Есть Exim 4.69 на FreeBSD 7.2

в очереди отправки висит письмо
необходимо это письмо получить в виде файла (eml или msg)
как это сделать оказалось непонятно

в /var/spool/exim/input/
два файла, имеющие отношение к письму
ID_письма-D - как будто тело письма
ID_письма-Н - как будто заголовки + какая-то служебная инфа Exim

Как этот зоопарк скрестить в один файл?
Или же я просто пропустил какие-то ключики к Exim, которые сами все это сделают


Гуглил - ничего не нашел

Заранее благодарен всем откликнувшимся
Автор: Alukardd
Дата сообщения: 05.10.2010 15:33
Clop345
команда exim -Mvс <id письма> покажет вам его тело в консоле... мб вам этого хватит?)
Автор: vlary
Дата сообщения: 05.10.2010 15:35
Clop345 А в чем, собственно, проблема?
В файле -Н содержатся все необходимые заголовки для восстановления письма. Значение полей можно прочесть в спецификации на эксим, но это не столь важно.
Начиная со строчки 231P Received: from ... просто убираем цифири (231P и так далее, чтобы оставались только стандартные заголовки. Сохраняем это в файл с расширением eml в нужной кодировке (она есть в заголовках).
Файл -D целиком содержит данные письма, кроме первой строчки (там имя файла). Убираем ее и дописываем к предыдущему содержимому, чтобы между ним и данными была строго одна пустая строка. Сохраняем. Затем открываем этот файл eml в Аутлук Экспресс - и вуаля!
Автор: Clop345
Дата сообщения: 05.10.2010 22:47
Alukardd

Цитата:
команда exim -Mvс <id письма> покажет вам его тело в консоле... мб вам этого хватит?)


Вот! как будто оно - выдает не только тело, но и заголовки

в переводе Лисяры:
“-Mvc <message id>” - Эта опция вызывает копирование полного сообщения (строки заголовков + тело) для записи на стандартный вывод в формате RFC 2822. Она может использоваться только административными пользователями.

но полученный файл
# exim -Mvc ID > mail.msg
отказался открываться в THE BAT 4 (( точней открывается он пустым, а если включить просмотр заголовков - то в заголовках и тело письма
Автор: vlary
Дата сообщения: 06.10.2010 11:02
Clop345
Цитата:
открывается он пустым, а если включить просмотр заголовков - то в заголовках и тело письма
А мой ответ ты прочесть не удосужился?
Цитата:
чтобы между ним и данными была строго одна пустая строка
Заголовки и тело отделяются пустой строкой

Автор: smiker2007
Дата сообщения: 06.10.2010 11:27
ребята скажите, мне нужно на внутреннем почтовом серваке с экзимом создать алиас для 8 ящиков на mail.ru, gmail.com и т.д. как это сделать средствами экзима красиво?
и как сделать, чтобы на этот адрес могли отправлять только определенные адреса и только определенные айпи (локальная сеть)?

помогите пожлайста!
Автор: vlary
Дата сообщения: 06.10.2010 12:09
smiker2007 А поподробнее? Один альяс на 8 адресов? Или на каждый адрес по алиасу?
Автор: Clop345
Дата сообщения: 06.10.2010 12:40
vlaryЧто дает Вам право грубить незнакомым людям?
Ваш ответ я прочел - спасибо.
Мне Ваш ответ не помог, но как я и написал "Заранее благодарен всем откликнувшимся" - Вам в том числе
Автор: vlary
Дата сообщения: 06.10.2010 14:34
Clop345
Цитата:
Мне Ваш ответ не помог
Значит, что-то сделано неправильно. Я никогда не даю советов с потолка, либо советую то, что сам проделывал неоднократно, либо проверяю предварительно. У меня аутлук экспресс письма, восстановленные подобным образом, подхватывает на ура.
А грубить я даже и не думал.

Автор: smiker2007
Дата сообщения: 06.10.2010 15:43
vlary
да. т.е. у меня есть несколько сотрудников с личными ящиками, нужно сделать один корпоративный адрес (forallmanagers@company.corp) на моем экзиме, отправляя письмо на который оно должно уходить на их личные ящики gmail.com, mail.ru и т.д., но ограничить отправку на этот адрес только с определенных внутренних адресов (только руководство и я) и только с определенных айпи (локальная сеть).
Автор: vlary
Дата сообщения: 06.10.2010 17:02
smiker2007 Сие можно совершить с помощью роутера:

Код: lists:
driver = redirect
domains = lists.company.corp
senders = lsearch;/usr/lists/allowedsenders
file = /usr/lists/$local_part
forbid_pipe
forbid_file
errors_to = postmaster@company.corp
no_more
Автор: smiker2007
Дата сообщения: 07.10.2010 05:53
vlary
красиво, спасибо. надо проверить только как это будет работать, сегодня займусь и отпишусь!
т.е. если у меня многодоменный экзим в связке со скулем и постфиксадминкой - нового юзера forallmanagers мне там заводить не надо? достаточно создать файл /usr/lists/allowedsenders?
Автор: vlary
Дата сообщения: 07.10.2010 10:32
smiker2007
Цитата:
нового юзера forallmanagers мне там заводить не надо?
Конечно не надо. А /usr/lists/allowedsenders - только если нужно ограничить возможность отправлять письма по спискам определенным почтовым адресам. Отправка только из локалки получается автоматически, так как lists.company.corp в ДНС прописан не будет, и почту снаружи на него отослать будет нельзя.
Автор: smiker2007
Дата сообщения: 07.10.2010 11:26
vlary
весьма вам признателен, все работает как надо!
Автор: rusik_gluk
Дата сообщения: 12.10.2010 15:00
Коллеги, нужна помощь.
Есть почтовый сервер на Exim с более-менее стандартной настройкой и правилами. Как отключить все проверки для одного ящика (user@example.com)?
Спасибо заранее.

Добавлено:
Уточню. Есть правило:

Код: deny message = Lookup Failed
# log_message = Reverse host lookup failed
!hosts = +relay_from_hosts
condition = ${if eq{$sender_host_name}{}}
condition = ${lookup{$sender_host_address}iplsearch{/etc/exim4/trust_hosts}{0}{1}}
!verify = reverse_host_lookup
Автор: vlary
Дата сообщения: 12.10.2010 17:13
rusik_gluk
Цитата:
Хотелось бы еще исключение для получателя.
А в чем проблема? Ставишь для таких user , user2 и так далее прямо после acl_check_rcpt:
accept
domains = +local_domains
local_parts = user : user2


Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: MS Outlook Возвращает: Не удается доставить.


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