rihad wrote:
This is probably a faq, but still... I've been playing with virtual
delivery:
main.cf:
virtual_mailbox_domains = bar.com
virtual_mailbox_base = /home/massmail
virtual_mailbox_maps = regexp:/usr/local/etc/postfix/home.map
virtual_minimum_uid = 1002
virtual_uid_maps = static:1002
virtual_gid_maps = static:1002
home.map:
/^(.+)@([EMAIL PROTECTED])$/ $2/$1/
when you have it working, remind me to send mail to
<../../../../tmp/@bar.com>
:)
[EMAIL PROTECTED]:~$ telnet nigar smtp
Trying 192.168.0.248...
Connected to nigar.localnet.
Escape character is '^]'.
220 nigar.localnet ESMTP Postfix
mail from: rihad
250 2.1.0 Ok
rcpt to: [EMAIL PROTECTED]
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
Subject: hi
five
.
250 2.0.0 Ok: queued as 82F692F459
quit
221 2.0.0 Bye
Connection closed by foreign host.
/var/log/maillog:
Sep 23 19:59:58 <mail.warn> nigar postfix/virtual[2077]: warning: regexp
map /usr/local/etc/postfix/home.map, line 1: regular expression
substitution is not allowed: skipping this rule
Sep 23 19:59:58 <mail.info> nigar postfix/virtual[2077]: 82F692F459:
to=<[EMAIL PROTECTED]>, relay=virtual, delay=7.5, delays=7.4/0.04/0/0.06,
dsn=5.1.1, status=bounced (unknown user: "[EMAIL PROTECTED]")
username > homedir mapping is pretty static in its nature. How can I
still do it without silly large data tables?
You need a "silly large data table" because you need to only accept mail
to valid addresses. with your wildcard setup, all addresses are valid.
if you really want to accept all mail, then "break" recipient validation
(a wildcard virtual alias is enough) and use maildrop, dovecot or
procmail to do the actual delivery. but you'll have to check the
recipient address to avoid random stuff in your filesystem.