Re: Exim & virtual users
On Wed, 24 Mar 2004 13:45:55 +0000
SH059 (SH059) wrote:
SH059> Есть локальная сеть, в ней почтовый шлюз, который должен локальную
SH059> почту раскладывать по ящикам, а не локальную передавать на
SH059> smarthost например domain.com. Кроме того на domain.com есть
SH059> несколько акаунтов (например box1@domain.com и box2@domain.com) с
SH059> которых почта забирается fetchmail'ом. Есть желание, чтобы если
SH059> кто-то из локальной сети отправлял почту на box1@domain.com или
SH059> box2@domain.com Exim сразу клал бы ее в соответствующий локальный
SH059> ящик, а вся остальная почта (в том числе и для domain.com)
SH059> перенаправлялась бы на smarthost.
Всё понятно ;)
Есть такая вещь, как config.samples - рекомендую просматривать. Вот рецепт
#C031 (hint: self = local):
Date: Tue, 23 Nov 1999 02:49:32 +0200
From: Vadim Vygonets <vadik@cs.huji.ac.il>
Something Hans Matzen and I did.
# These are config file snippets for handling certain remote
# addresses as local, and making only real external addresses
# visible to users.
# Copyright (c) 1999
# Hans Matzen <hans@tm.informatik.uni-frankfurt.de>,
# Vadim Vygonets <vadik@vygo.net>. All rights reserved.
#################################################################
# These are config file snippets for handling certain remote
# addresses as local, and making only real external addresses
# visible to users.
#
# First, adjust values of the following definitions, which will
# be used in configuration snippets below:
EXIM_DIR = /var/exim
LOCAL_DOM = home.dom
LOCAL_NET = 192.168.0.0/16
SMART_HOST = cc.huji.ac.il
# The scheme is to use global addresses everywhere, which is done
# by rewriting envelope sender and all headers, using a dbm file
# EXIM_DIR/in2ex, which maps internal local parts to external
# e-mail addresses using entries like:
# user: someone@remote.dom
#
# To do this, it good to hide hostnames in all envelope and
# header addresses first, using this rewriting rule:
*@*.LOCAL_DOM $1@LOCAL_DOM Eh
# Then, rewrite envelope sender and all headers to external
# addresses with this rule:
*@LOCAL_DOM ${lookup{${lc:$1}}dbm{EXIM_DIR/in2ex}{$value}fail} Fh
# This means that envelope recipients must be somehow rewritten
# back to local addresses, which is done in one of the two
# proposed ways (you choose).
#
# One way to do it is by rewriting, using a dbm file
# EXIM_DIR/ex2in, which maps external e-mail addresses to
# internal local parts using entries like:
# someone@remote.dom: user
#
# This is done with the rewriting rule:
#
# *@* ${lookup{${lc:$0}}dbm{EXIM_DIR/ex2in}{$value@LOCAL_DOM}fail} T
# The preferred way to do it is by treating certain e-mail
# addresses on remote domains as local, using route_list and self
# options to the domainlist routers, looking up e-mail addresses
# in dbm file EXIM_DIR/ex2in and throwing values away. This is
# an example of such router. It should probably the only router
# in the configuration.
smart_route:
driver = domainlist
transport = remote_smtp
route_list = "* ${lookup{$local_part@$domain}dbm\
{EXIM_DIR/ex2in}{@}{SMART_HOST}} bydns_a"
self = local
# Then, IF local parts of some of your users are different in
# their internal and external addresses, it's nice to have the
# internal_adjust smartuser director to rewrite the address. It
# should probably be the first director.
internal_adjust:
driver = smartuser
new_address = "${lookup{${lc:$local_part@$domain}}dbm{EXIM_DIR/ex2in}\
{$value@LOCAL_DOM}fail}"
;)
--
Serge Olkhowik <solo@isd.dp.ua>
ISD Configuration Management Team <cm@isd.dp.ua>
Reply to: