[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Локальный почтовый сервер



Kotikov Aleksey -> debian-russian@lists.debian.org  @ Thu, 20 Mar 2008 18:15:50 +0300:

 KA> Доброго времени суток.
 KA> Возникла такая задача: есть десяток пользователей в локальной сети, у
 KA> каждого есть ящик на mail.ru и нужно организовать на шлюзе почтовый
 KA> сервер, который доставлял бы почту локально между пользователями и
 KA> обеспечивал прием и отправку писем посредством ящиков на mail.ru
 KA> С pop3 проблем никаких - собрать fetchmail'ом письма и распихать их по
 KA> пользовательским ящикам задача детская, а вот как быть с smtp?
 KA> Использовать свой smtp не получится - письма будут резать из-за
 KA> несовпадения IP. Как организовать такую отправку на внешний smtpшник,
 KA> требующий авторизацию? Если кто решал подобную задачу, поделитесь
 KA> опытом.


Давай разобьем твою задачу на маленькие подзадачи.

1) Переписать имя с masha@domain.local в murka@mail.ru, а с alex@domain.local
   в privet@yandex.ru.
2) Отправить почту через специфичный smarthost или smarthost по умолчанию.

Теперь поехали по порядку.

1) За перепись адресов отвечает /etc/email-addresses, после прочтения его
   будет многое понятно

2) Отправка писем, тут интересней.

Надо сделать default smarthost и прописать его в
/etc/exim4/update-exim4.conf.conf и сделать update-exim4.conf, либо настроить
через dpkg-reconfigure exim4-config

Что касается специфичных smarthost'ов, то тут немного хитрее. У меня
используется используется определение по домену в поле from через что слать
(если не понятно то default), но ты можешь сделать что-то подобное с учетом
адреса целиком.

Я это делаю сейчас так:

У меня есть роутер, который стоит в конфиге exim'а _до_ smarthost'а (если
порезан на мелкие файлы то можно совать его в router/X, где X < 199):

smarthost_corpmailru:
  debug_print = "R: smarthost_corpmailru for $local_part@$domain"
  driver = manualroute
  domains = ! +local_domains
  transport = remote_smtp_smarthost
  route_list = * smtp.corp.mail.ru byname
  condition = ${if eq {${lc:$sender_address_domain}} {corp.mail.ru} {true} fail }
  host_find_failed = defer
  same_domain_copy_routing = yes
  self = send
  no_more

Далее в /etc/exim4/passwd.client у меня прописан пароль для этого соединения
(формат опять же в man'е который указан вверху файла).

Да, это все справедливо для lenny, ибо на laptop'е он и я приводил его конфигурацию.


-- 
 .''`.   Kirill A. Korinskiy <catap@catap.ru>
: :'  :  proud (maniac)? (developer|hacker)
`. `'`   http://catap.ru/ - +7 (916) 3-604-704 - xmpp:catap@catap.ru
  `-     Debian - when you have better things to do than fixing systems
                                                           -- madduck

Attachment: pgphqABxc5oMp.pgp
Description: PGP signature


Reply to: