Страница 1 из 1

exim в качестве собственного SMTP сервера

Добавлено: 01 май 2006, 03:14
red f0x
Можно ли поднять локальный SMTP на exim который умел бы доставлять почту напрямую, без смарт-хостов, т.е. например, если To: user@recipient.domain.net то чтобы локальный сервер напрямую отдавал почту на smtp.recipient.domain.net, при этом переписывая From и Envelope-From на me@my.nonlocal.email вместо me@localhost.localdomain (localhost не может иметь круглосуточное соединение с сетью и получает динамический IP, поэтому желательно, чтобы получатели отписывали на реальный мэйл, а не на локалхост)? Если можно, то как конфигурировать роутер и транспорт, какой роутер вообще использовать? И что такое реверсы и МХ? С перезаписью адресов в From и Envelope-from я разобрался, а вот с остальным в документации как-то мутно, а толковых русскоязычных доков по сабжу я не нашёл. :cry:

Добавлено: 01 май 2006, 12:05
Goliath
MX - это тип записи, указывающей, на хосты, которые должны принимать почту (поднят smtp) для данного домена. Например:

sh-3.1$ host -t mx tut.by
tut.by mail is handled by 10 spameater.tutby.com.
sh-3.1$

Это значит, что письма на адреса @tut.by следует отправлять на хост spameater.tutby.com. 10 - это приоритет. MX-записей сожет быть несколько. Вначале почта шлется на хосты с наименьшим значением. Если таковой хост недоступен, то на остальные, в порядке увеличения значения.

реверс - это запись (ptr), содержащая имя хоста для данного ip
(обратное преобразование).

sh-3.1$ host -t ptr 195.137.160.45
45.160.137.195.in-addr.arpa domain name pointer spameater.tutby.com.
sh-3.1$

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

Добавлено: 01 май 2006, 12:30
Llama
чтобы почта ходила нормально следует побеспокоится о соблюдении слежующих условий:
1) Наличие собственного домена.
2) Наличие реверсной записи указывающей на ваш IP
3) MX запись для домена который резолвится по реверсу должна казывать на ваш IP.

Все три условия не обязательны по стандарту, но зачастую проверяются.
Кроме того, следует позаботится чтобы IP не принадлежал ни dialup ни NAT ADSL-пула. Встречал на почтовых серверах самые разные проверки, включая проверку на наличие adsl и dialup в домене третьего уровня получаемого при реверсном резольвинге IP. Адреса dialup и adsl зачастую попадают в спам-листы - не обязательно вашему соседу быть спамером, достаточно подцепить просто правильный вирус.
Т.е. если хотите чтобы работало - нужен свой выдленые не меняющийся IP и грамотно настроеный в DNS домен и реверс. Во всех других случаях те или иные проблемы у вас гарантированно будут со временем.
ИМХО smarthost является оптимальным решением все же...

Добавлено: 01 май 2006, 23:03
red f0x
спасибо за ответы. Теперича сам вижу, смарт-хоста не избежать :)

Добавлено: 07 май 2006, 22:33
red f0x
exim4 - Part II.... :?

#1:
Итак, настроил передачу почты через смарт-хост (mail.tut.by) однако ни хера не работает как надо. В логи экзим пишет вот что:

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

2006-05-07 22:15:17 cwd=/etc/chatscripts 4 args: send-mail -i -- neutrin0@rambler.ru
2006-05-07 22:15:17 1Fcoir-0001Qz-Q9 "root@localhost.localdomain" from env-from rewritten as "red_f0x@tut.by" by rule 1
2006-05-07 22:15:17 1Fcoir-0001Qz-Q9 "root@localhost.localdomain" from from: rewritten as "red_f0x@tut.by" by rule 1
2006-05-07 22:15:17 1Fcoir-0001Qz-Q9 <= red_f0x@tut.by U=root P=local S=320 T="TTT" from <root> for neutrin0@rambler.ru
2006-05-07 22:15:19 cwd=/var/spool/exim4 3 args: /usr/sbin/exim4 -Mc 1Fcoir-0001Qz-Q9
2006-05-07 22:15:59 1Fcoir-0001Qz-Q9 == neutrin0@rambler.ru R=smarthost T=remote_smtp defer (-44): SMTP error from remote mailer after RCPT TO:<neutrin0>: host mail.tut.by [195.137.160.40]: 473 neutrin0@rambler.ru You need to use SMTP authentification
Т.е., насколько я понимаю, смарт-хост нужен для того, чтобы экзим ему передавал почту, в случае, если самому доставить почту проблематично (когда сам экзим не может быть настроен как полноценный автономный СМТП-сервер). Смарт-хост должен уже сам дальше разруливать почту. Спрашивается, какого хера rambler требует какой-то там СМТП-авторизации? Разве это происходит не приблизительно так: mail -s "No subj" someone@somedomain.net -> exim4 -> smarthost (SMTP - в моём случае mail.tut.by) -> recipients SMTP (smtp.somedomain.net)? Если да, то почему smtp.somedomain.net требует какой-то авторизации? Как в таком случае происходит передача почты. Ведь я не могу знать логин от чужого СМТП и мне его не нужно знать, чтобы послать кому-то мыло. Помогите разобраться. Может кто подскажет номер RFC про SMTP?

#2:
все debug_print в exim4.conf идут лесом. Такое очучение, что экзим на них в упор плевал. В логах ни следа... log_selector = +all тоже нифига не помогает - debug_printы всё равно нигде не появляются. Что за косяк?

Заранее всем огр. спсб.

Добавлено: 07 май 2006, 23:22
Llama
red f0x, поясняю:
smtp-сервер обязан приянть почту без авторизации которая предназначена только для его локальных доменов. Если вы хотите его использовать как релей - то извольте авторизоваться. Так что у вас должен быть аккакунт на smarthost и при отправке необходим авторизоваться. В ином случае спаммеры бы утопили мир в спаме. Т.к. у вас в rcpt to стоит не tut.by то естественно mail.tut.by будт хоть авторизации чтобы удостоверится что вы являетесь правомочным пользователем а не мерзким спам-ботом. Времена открытых релеев в основном закончились лет 8-10 назад.

Добавлено: 08 май 2006, 00:34
red f0x
Гм, тогда наивный, но логичный вопрос: а как сделать, чтобы в RCPT TO был mail.tut.by (аккаунт на туте у меня есть)?
Не пинайте строго за глупые вопросы, просто моск уже вываливается в core от всех этих геморроев.... :(

Добавлено: 08 май 2006, 12:59
Llama
red f0x, для этого в поле To: в почтовом клиенте пишите что-то типа "user@tut.by"

Добавлено: 09 май 2006, 00:33
red f0x
А как же тогда направлять почту кому-то ещё кроме себя самого (писать самому себе быстро надоедает :) )? То: - енто ж кому предназначено...

Добавлено: 09 май 2006, 01:14
Llama
red f0x, когда надоест писать на tut.by - настройте smtp-авторизацию в exim... оно там есть и работает, по крайней мере работало 4 года назад...
Доки по этому делу есть в гугле с примерами....

Добавлено: 09 май 2006, 03:53
red f0x
Ладно, ладно... Не надо ругаться. Всё заработало. Ну виноват, с конфигами напортачил. Сам же в последствии разобрался. Просто не учёл хитрую систему конфигов - exim4.conf.template, update-exim4.conf config.autogenerated etc...
Спасибо за ответы, а прикалываться так всё таки незачем :D