Nikita Kipriyanov wrote:

> We run a mail server with virtual domains (mainly there are mailbox  
> domains).
>
> For a certain things same aliases needed in the each and every virtual  
> domain in the system. For example, all these domains maintained by same  
> people, so it is good thing to have each domain's postmaster mapped to  
> the same internal distribution list. There are also other common aliases.
>
> To simplify things, I added a regexp table  
> (/etc/postfix/virtual_alias_maps-special):
>
> /^postmaster@/     postmaster
>
> This table is referenced in the main.cf this way:
> virtual_alias_maps = regexp:/etc/postfix/virtual_alias_maps-special  
> mysql:/etc/postfix/virtual_alias_maps.cf
>
> There is no address rewriting, masqerading and other things that change  
> destination or source address. We're using only local aliases and  
> virtual aliases. There is also no per-recipient transports and  
> relayhost, any mail is delivered directly to recipient's MX servers.
>
> The local alias table redirects postmaster's mail further.
>
> Of course, this catches all mail for each domain's postmaster. But, now  
> I'm not able to send any mail to any external postmaster  
> (postmas...@some.domain, some.domain isn't a virtual, relay or canonical  
> domain) with this server. If I try to send mail, for example, to  
> postmas...@postfix.org, it's getting catched and delivered to my  
> postmaster list.
> Still, if I try to deliver mail to postmas...@postfix.org through this  
> server from external systems without SMTP authentication, it rejects  
> with "Relay access denied".

Good, this means your server is not an open relay.

> Why Postfix behaves like this? How to catch only 'incoming' mail, and to  
> send it away it if recipiend domain isn't listed in the virtual, local,  
> and relay domain tables?

Because, as documented, virtual(5) mapping can be applied to non-local
addresses.  Your problem is somewhat of a FAQ; search the archives for
proposed workarounds.

-- 
Sahil Tandon <sa...@tandon.net>

Reply via email to