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

» FAQ по Exim MTA

Автор: basiccc
Дата сообщения: 28.03.2009 20:10
народ) мини хелп)

хочу замутить ексим на дебиане, с courier-imap
но в немного странной может конфигурации,

на фирме есть главной почтовый сервер это mdeamon, скоро будет разделен на два, типа Москва и остальные, а еще у нас есть регион, домен один, можно как то замутить у них на базе эксима почтовый сервер филиальный где у них хранилась бы почта, но посылали они почту через центральный в Москве и получали с него же


а какая есть хорошая веб морда для управления а не просмотра почты? и можно ли копировать почту будет с одного харда на другой на этой машине? т.е. хочется обойтись без рейда, а то потратить 500 $ а он все равно упадет, реально rsync ом копировать беспрепятственно ?
Автор: tankistua
Дата сообщения: 28.03.2009 22:59

Цитата:
хочу замутить ексим на дебиане, с courier-imap
но в немного странной может конфигурации,

лучше довекот - он полегче будет.


Цитата:
на фирме есть главной почтовый сервер это mdeamon, скоро будет разделен на два, типа Москва и остальные, а еще у нас есть регион, домен один, можно как то замутить у них на базе эксима почтовый сервер филиальный где у них хранилась бы почта, но посылали они почту через центральный в Москве и получали с него же

не понял ровным счетом ничего.

Цитата:
а какая есть хорошая веб морда для управления а не просмотра почты?

ну например roundcube


Цитата:
и можно ли копировать почту будет с одного харда на другой на этой машине? т.е. хочется обойтись без рейда, а то потратить 500 $ а он все равно упадет, реально rsync ом копировать беспрепятственно ?

а какие-то должны быть проблемы ?
Автор: basiccc
Дата сообщения: 28.03.2009 23:38

Цитата:
не понял ровным счетом ничего.


интернет - Москва - шифрованый канал - Регион
нужно аля шлюз,

ну например, Питер,

почта проходит через Московский сервер, и попадает на шлюз, и пользователь её читает через imap, т.е. чтобы почта хранилась и там и там, такое возможно?

т.е. чтобы эксим скорее работал как почтовый клиент в обычной архитектуре, но являлся сервер куда пользователи стучались бы по imap


roundcube это почтовый клиент) а меня интересует админкаа по вебу, для добавления пользователей, доменов, и остального) как в комунегейте
Автор: tankistua
Дата сообщения: 28.03.2009 23:49

Цитата:
интернет - Москва - шифрованый канал - Регион
нужно аля шлюз,

ну так у тебя почта будет полностбью зависеть от интернета в центральном офисе. Если это йентральный офис и 1 филиал - это не проблема, а если это 1 офис и 30 филиалов - это уже проблема. Во втором случае я бы для каждого филиала сделал бы свой домен


Цитата:
почта проходит через Московский сервер, и попадает на шлюз, и пользователь её читает через imap, т.е. чтобы почта хранилась и там и там, такое возможно?

все равно не понимаю - что значит проходит и попадает на шлюз ? при чем тут шлюз если мы говорим о почтовом сервере ?


Цитата:
т.е. чтобы эксим скорее работал как почтовый клиент в обычной архитектуре, но являлся сервер куда пользователи стучались бы по imap

Экзим не умеет имап, не путай сервисы.


Цитата:
roundcube это почтовый клиент) а меня интересует админкаа по вебу, для добавления пользователей, доменов, и остального) как в комунегейте

а - понял. vexim например.
Автор: basiccc
Дата сообщения: 29.03.2009 01:20
дык в центральном офисе канал до прова, а там через спутники регионы, поэтому они куда кроме Москвы вылезти и не могут, компания одна и домен один, а филиалов штук 50, а AD нету, + в центральном офисе 3 прокси и 3 независимых интернет канала

как сделать чтобы почта аля lenaa@company.ru была и на московском сервере и в регионе, лена допустим из питера а вася из ежевска, и ситуация повторяется, я просто в инете шарил и как то не особо нашол, за год в ящике может накопится около 4 гб, общее количство всех 1000 в регионах количество сотрудников среднее около 20


vexim то что надо! спасиб! )
Автор: tankistua
Дата сообщения: 29.03.2009 08:29

Цитата:
как сделать чтобы почта аля lenaa@company.ru была и на московском сервере и в регионе

ты какой-то бред придумал :) подозреваю из-за шибко большой умности. Зачем тебе почта в офисе, если пользователь в регионе ?

делаешь сабдомен - spb.company.ru. Создаешь юзера lena , получается lena@spb.company.ru. В основном домене делаешь алиас lena@company.ru: lena@spb.company.ru
Лена себе может использовать адрес lena@company.ru, но почта будет туда просто пересылаться.
Автор: basiccc
Дата сообщения: 29.03.2009 12:35
ну например сервак упадет и почты в регионе не останется) а так копия будет,



хм, или просто делать пересылку все почты на запасной ящик backup а на обычных ящик делать пересылку почты на региональный, иначе как еще перенаправить? ) притом в этом варианте как понимаю даже алиасы не нужна..
Автор: tankistua
Дата сообщения: 29.03.2009 14:35
basiccc
ну а как ты будешь синхронизировать? а если имап и юзера любят всю почту хранить. Почтовый ящик на пару гигов - реальность.

Не занимайся глупостями. Делай на каждый филиал свой сервер.
Автор: basiccc
Дата сообщения: 29.03.2009 16:20
а как удобно тогда хранить бэкапы в москве? rsync но по сетке?
Автор: tankistua
Дата сообщения: 29.03.2009 17:04
да нельзя так делать как ты хочешь. Юзеру бекап понадобится когда он все грохнет, а у тебя пустая директория засинхронизируется.

Ставь второй винт в сервер и делай двойное резервирование - на текущем винте и на бекапном, не надо тягать по инету столько трафика.

/dev/da0s1f 97G 12G 77G 13% /usr/local/vmail

Это 6 человек за год насобирали
Автор: basiccc
Дата сообщения: 29.03.2009 17:54
резервирование чем лучше делать? с поддержкой инкроментных архивов?
Автор: tankistua
Дата сообщения: 29.03.2009 22:30
да просто заархивируй раз в неделю да и все. Ну пойми ты, чтобы иметь нормальный запас прочности нужно ставить рейды, т.е. по-русски - тратить деньги. Нету денег - есть как есть. Ты сейчас объявишь что ты все архивируешь, а потом будешь еще разгребать , если не сможешь чего-то достать.
Автор: Teo
Дата сообщения: 31.03.2009 16:37

Цитата:
да просто заархивируй раз в неделю да и все. Ну пойми ты, чтобы иметь нормальный запас прочности нужно ставить рейды,

как-то не сильно вяжется с
Цитата:
Юзеру бекап понадобится когда он все грохнет, а у тебя пустая директория засинхронизируется.

ну и как ты будешь восстанавливать помноженный на ноль мэйлбокс?
бэкапы путем архивации нужны ВСЕГДА
особо критичные - просто списком рассылки в другой мэйлбокс
Автор: maxxttor
Дата сообщения: 31.03.2009 18:44
Установил exim, го он почему-то медленно отправляет почту: 2-3 секунды на письма. Подскажите, в чем может быть дело? Выкладываю конфиг:

[more]primary_hostname = mail.katushka.net

domainlist local_domains = @ : localhost : localhost.localdomain
domainlist relay_to_domains =
hostlist relay_from_hosts = localhost:127.0.0.0/8:192.168.0.0/16

acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data
acl_smtp_mime = acl_check_mime

tls_advertise_hosts = *


tls_certificate = /etc/pki/tls/certs/exim.pem
tls_privatekey = /etc/pki/tls/private/exim.pem


daemon_smtp_ports = 25 : 465 : 587
tls_on_connect_ports = 465

qualify_domain = katushka.net

qualify_recipient = katushka.net

exim_user = exim


never_users = root

host_lookup = *

rfc1413_query_timeout = 0s

ignore_bounce_errors_after = 45m

timeout_frozen_after = 7d

auto_thaw = 1h

smtp_accept_max = 50

smtp_accept_max_per_connection = 25

smtp_connect_backlog = 30

smtp_accept_max_per_host = 20

remote_max_parallel = 15

split_spool_directory = true

helo_allow_chars = _

syslog_timestamp = no

auth_advertise_hosts =


begin acl


acl_check_rcpt:

accept hosts = :

deny message = Restricted characters in address
domains = +local_domains
local_parts = ^[.] : ^.*[@%!/|]


deny message = Restricted characters in address
domains = !+local_domains
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./

accept local_parts = postmaster
domains = +local_domains

require verify = sender

accept hosts = +relay_from_hosts
control = submission

accept authenticated = *
control = submission

require message = relay not permitted
domains = +local_domains : +relay_domains

require verify = recipient

accept

acl_check_data:

accept


acl_check_mime:

# File extension filtering.
deny message = Blacklisted file extension detected
condition = ${if match \
{${lc:$mime_filename}} \
{\N(\.exe|\.pif|\.bat|\.scr|\.lnk|\.com)$\N} \
{1}{0}}

accept

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}}
file_transport = address_file
pipe_transport = address_pipe

userforward:
driver = redirect
check_local_user
file = $home/.forward
allow_filter
no_verify
no_expn
check_ancestor
file_transport = address_file
pipe_transport = address_pipe
reply_transport = address_reply

procmail:
driver = accept
check_local_user
require_files = ${local_part}:+${home}/.procmailrc:/usr/bin/procmail
transport = procmail
no_verify

localuser:
driver = accept
check_local_user
transport = local_delivery
cannot_route_message = Unknown user


begin transports

remote_smtp:
driver = smtp

procmail:
driver = pipe
command = "/usr/bin/procmail -d $local_part"
return_path_add
delivery_date_add
envelope_to_add
user = $local_part
initgroups
return_output


local_delivery:
driver = appendfile
file = /var/mail/$local_part
delivery_date_add
envelope_to_add
return_path_add
group = mail
mode = 0660


address_pipe:
driver = pipe
return_output

address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add

address_reply:
driver = autoreply

begin retry

* * F,2h,15m; G,16h,1h,1.5; F,4d,6h

begin rewrite [/more]
Автор: AkANz
Дата сообщения: 01.04.2009 04:56
Подскажите, пожалуйста.

Как в секции begin rewrite заменить адрес локального отправителя при отправке почты в мир с test1@myserver.local на test1@mail.ru. А при отправке локальной почты адрес не изменялся.

Спасибо.
Автор: tankistua
Дата сообщения: 01.04.2009 06:55
maxxttor
спамер что-ли ?:)
3 секунды это очень даже неплохо. Если бы на мой сервер оправлял - отправлялось бы секунд 18 минимум.

З.Ы. если ты не понял этот параметр больше зависит не от тебя, а от сервера-получателя.

AkANz
оБычно запрос в гугле надо ставить так как думаешь
http://www.google.com.ua/search?hl=ru&rls=ru&q=exim+rewrite+from

хотя бывают, конечно, исключения :)
Автор: AkANz
Дата сообщения: 01.04.2009 07:31

Цитата:
оБычно запрос в гугле надо ставить так как думаешь


Запрашивал я гугл, но чаще всего рассматриваются конфиги где не требуется замена адреса, или замена всем, типа:
*@zern.domain-ak.ru $local_part@domain-ak.ru Eh

А мне необходимо, чтобы при отправке локальным пользователям адрес не менялся, а при отправке в мир менялся на хххххххх@mail.ru (на котором собирается вся почта для моего сервера)

Автор: tankistua
Дата сообщения: 01.04.2009 09:07
ай - ссори, не дочитал.

А что ты там такое настроил - не могу понять исполняемую задачу.
Автор: maxxttor
Дата сообщения: 01.04.2009 10:25
tankistua, я не спамер, просто необходима периодическая рассылка новостей зарегистрированным пользователям. Раньше стоял postfix отправлял 2 письма в секунду, но он приказал долго жить, реанимировать мне его не удалось, установил exim, проблем с установкой не возникло, но медленно отправляет почту... Всё же я дума это зависит от MTA нежели от получателя.

Добавлено:
И я указал скорее не время доставки, а время загрузки письма в очередь. Сколько времени письмо доставляется до адресата мне не известно да особо и не интересует. Главное в очередь быстро загрузить все письма.
Автор: AkANz
Дата сообщения: 01.04.2009 10:42

Цитата:
А что ты там такое настроил - не могу понять исполняемую задачу.


Cтоит почтовый сервер Exim+Dovecot+MySQL+Fetchmail. Имеется доменное имя ххххх.altai.ru (прописана обратная зона и МХ запись на DNS сервере провайдера).
По финансовым причинам домен xxxxx.altai.ru не может получать почту. Поэтому почта для организации отправляется на mail.ru, откуда ее забирает fetchmail и отдает Exim.

Почта внутри локального домена ходит и в мир отправляется с адресом отправителя andrey@xxxxx.altai.ru, а мне надо, чтобы в мир отправилась с адресом xxxxx@mail.ru. Казалось бы что проще, в секции:
begin rewriter
*@xxxxx.altai.ru xxxxx@mail.ru Eh

но тогда адрес отправителя меняется и при отправке в локальные почтовые ящики и письмо уходит в никуда.
Буду читать доку по Exim: http://www.lissyara.su/?id=1231
Автор: Teo
Дата сообщения: 01.04.2009 13:47
AkANz
прикрути к нему procmail или maildrop
и рули реврайтами и доставкой

плюс почитай насчет manualroute
Автор: tankistua
Дата сообщения: 01.04.2009 20:44
AkANz
даже не знаю что тебе сказать по этому поводу. Решений у меня подобных нет - думать если честно лень ибо у меня применимость данного конфига мало вероятна, да и времени нет.

Извини - не помогу :(

Могу только предположить возможные методы :
в ацл
в роутере ( не представляю как)
в system.filter

Добавлено:
через system_filter как-то так может получиться


Код:
if $h_to does not match "@localdomain" then
headers remove $h_from
headers add "$h_from:mailsenduser@mail.ru"
endif
Автор: Yakon
Дата сообщения: 02.04.2009 11:15
Здравствуйте.
Вопрос такой.
В письма перед попаданием в exim добавляется заголовок X-For-Server: xxx
Как правильно написать конфигурацию для перенаправления писем через этот сервер?
problemmail:
driver = manualroute
condition = ???
transport = remote_smtp
route_list = !+local_domains xxx
no_more

Добавлено:
И ещё вопрос:
headers_remove = subject
headers_add = Subject: $header_subject
Как при прислоении новой темы на основе старой сделать в ней замену?
Например, слово old в теме на new.

Автор: GaDiNa
Дата сообщения: 10.04.2009 16:26
Доброго времени суток.

При настройке сабжа возник вопрос и мысли на тему которыми хочу поделиться и спросить совета.
Вопрос касается проверки входящих писем на валидность сендера.
Всем известно, что в exim есть конфигурационный параметр

require verify = sender

который позволяет проверить валидность почтового адреса в поле mail from из текущей SMTP сессии. Как это работает ? Позволю себе предположить:
допустим наш exim получает в mail from: user@domain.tld
далее он ищет MX запись для domain.tld
не находит - сендер не существует.
нашел - конектится на нее и говорит rcpt to: user@domain.tld
если сервер ответил 250 - сендер существует, наш exim говорит quit и SMTP сессия на наешй стороне продолжается.
Так вот интересно что дальше.
После того как наш exim сказал quit (не закончил SMTP сессию) наш IP адрес на той стороне возможно внесли в red-list и мы начинаем испытывать проблемы при отправке валидной почты в ответ. Такой механиз вполне оправдан - откуда MTA знать что эта незавершенная сессия не попытка какогонить бота узнать список валидных адресов ?

Но отключать require verify = sender не решение.
я уверен что нужно проверять валидность сендера..
Например можно проверять на соответствие IP с которого началась SMTP сессия и IP в который отрезолвится доменное имя domain.tld
Но это вобще как-то грустно, поотму что при этом мы перестанем принимать почту от внешних релеев..

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

Автор: GaDiNa
Дата сообщения: 12.04.2009 19:05
подскажите как сделать такую проверку чтобы не принимались письма от адресов у которых несуществующий домен ? То есть если например обрабатывается письмо от office@domain123.ru, то наверное както заставить exim на этапе приема сделать whois для domain123.ru и если такого домена нету, то не принимать это письмо..

так же интересно очень как сделать что-то вроде white list - файл со списком IP адресов и/или доменов которые находятся в RBL, но письма от них получать надо..

Хочется увидеть простой пример.. а то чтото запутался с ACL и его описанием.
Автор: KOT_MATPOCKuH
Дата сообщения: 13.04.2009 09:40

Цитата:
whois для domain123.ru

whois это обязательно?
вообще у exim есть такая весчь как callout:
require verify = sender/callout=2m/no_details

но она еще и к MX-у отправителя сходит, спросит - есть ли у него такой пользователь...
Автор: GaDiNa
Дата сообщения: 13.04.2009 13:11
почемуто не получается использовать в hostlist файл с IP адресами.

так работает:
hostlist hosts_whitelist = 127.0.0.1 : 192.168.0.0/16 : x.y.149.2 : z.x.45.6

а так - НЕ работает:
hostlist hosts_whitelist = 127.0.0.1 : 192.168.0.0/16 : lsearch;/etc/exim/hosts_whitelist

сам файл есть, права exim:exim, в нем построчно записаны IP адреса тех хостов, которые в RBL, но почту от них пропускать надо.
Сама проверка сделана вот так:
......
acl_check_rcpt:

accept hosts = :
# Include Vexim specific rcpt ACLs
.include /etc/exim/vexim-acl-check-rcpt.conf
.......

# cat vexim-acl-check-rcpt.conf

deny message = DNSBL listed at $dnslist_domain\n$dnslist_text
hosts = !+hosts_whitelist
dnslists = zen.spamhaus.org:db.rurbl.ru:bl.spamcop.net:dnsbl.sorbs.net:combined.njabl.org:cbl.abuseat.org


где я накосячил ?

Автор: tankistua
Дата сообщения: 13.04.2009 14:38
hostlist hosts_whitelist = 127.0.0.1 : 192.168.0.0/16 : /etc/exim/hosts_whitelist
Автор: GaDiNa
Дата сообщения: 13.04.2009 21:41
спасибо..
а можешь объяснить почему не работает если написать

accept hosts = !+hosts_whitelist

ДО строки

acl_check_rcpt:

ну выходит как бы до проверки acl_check_rcpt, под которым собственно и вызывается проверка на RBL в файле /etc/exim/vexim-acl-check-rcpt.conf в которую мне надо вносить исключения...
Видимо установки разрешения и запрета работают до начала нового ACL ?

Просто тут вот какая еще задача есть - надо сделать white-list для почтовых адресов (sender-ов) которые могут слать с забаненых в RBL IP-адресов..
Как это лучше сделать ?
Автор: tankistua
Дата сообщения: 13.04.2009 22:03
так а чего ацепт то ? логики не вижу.

accept hosts = +hosts_whitelist

понимаю конструкцию. Вашу - не понимаю.

З.Ы. вы понимаете что пишите или по аналогии ?

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

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


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