Rupert Reid wrote:
Hello all,
I wan to set up an additional domain in postfix, whereby, to the outside world it is considered a separate and distinct postfix domain. Internally I have two separate unix accounts set up: unixmaindomain and unixadditionaldomain. I want that all mail ([EMAIL PROTECTED], [EMAIL PROTECTED], etc...) for the additionaldomain to be delivered to the second unix account to be downloaded by my IMAP MTU account.

This is what I tried so far:-

1. mydestinations
•    All settings for main domain were left unchanged;
•     Added "additionaldomain.tld to mydestinations in main.cf;
• Added additionaldomain, comma separated, to RHS of etc/postfix/aliases: e.g. "admin: maindomain, additionaldomain"

The result
• Continued to be able to send emails addressed from [EMAIL PROTECTED] and [EMAIL PROTECTED]; • Continued ability to receive mail from [EMAIL PROTECTED]; • However, could only receive mail to [EMAIL PROTECTED] (to the correct unix account). All mail to other destinations (e.g. [EMAIL PROTECTED]) is bounced "User unknown in local recipient table".

Is there something additional I am meant to do to achieve what I want, or is it not possible using mydestinations


2.    Virtual alias domains
•    All settings for main domain were left unchanged;
•    removed all references to additionaldomain from main.cf
•    removed all references to additionaldomain from aliases file
•    postaliases hash...
• Created virtual_alias_domains file containing: "additionaldomain.tld 2208081538"

do not put the domain both in virtual_alias_maps and in mydestination. chose one class.


    •    Postmap hash...
• Created virtual_alias_maps file containing: "additionaldomain.tld [EMAIL PROTECTED],
                                        [EMAIL PROTECTED],
                                        [EMAIL PROTECTED],
                                        [EMAIL PROTECTED],
                                        ... etc


so mail to
[EMAIL PROTECTED] is delivered to the adresses that you put on the right hand. not what you want...

Please read the "TABLE SEARCH ORDER" in
        http://www.postfix.org/virtual.5.html

do see the "@" at the beginning of "@domain"?


also note that

- you can use virtual_alias_maps without putting the domain in virtual_alias_domains. virtual_alias_maps work for all domain.

- if the domain is a virtual alias domain, then its addresses must be mapped to another domain. otherwise, postfix does not know how to deliver.

- if mail is delivered via local (mydestination), the domain part is irrelevant at delivery time (so alias_maps do not distinguish between different domains). you need to map the addresses using virtual_alias_maps:

[EMAIL PROTECTED]       [EMAIL PROTECTED]
[EMAIL PROTECTED]       [EMAIL PROTECTED]
...

do not use wildcard aliases unless you want to accept all addresses (then you'll get a lot of spam).


    •    postmap hash...
• Edited main.cf - added: virtual_alias_domains = hash:/etc/postfix/virtual_alias_domains virtual_alias_maps = hash:/etc/postfix/virtual_alias_maps
•    Postfix reload

The result
• Incoming mail rejected for all mapped users of additionaldomain. The mail failure error was: User unknown in local recipient table

we only trust logs. so I ignore the "error" above.

•    The logs error read:
Aug 22 22:41:05 rosario postfix/error[28924]: 09B862667D7: to=<[EMAIL PROTECTED]>, relay=none, delay=1, status=bounced (User unknown in virtual alias table)

the domain is listed as a virtual alias domain but the address is not found in virtual_alias_maps.

Aug 22 22:41:05 rosario postfix/local[28926]: warning: database /etc/aliases.db is older than source file /etc/aliases

fix this. your postfix is using /etc/aliases while you think it should use /etc/postfix/aliases. check the values of alias_maps and alias_database using the postconf command.


Is there something additional I am meant to do to achieve what I want, or is it not possible using virtual alias domains


it is better to explain your goal without implementation details (forget about postfix for a few minutes and explain your goal in "functional" terms). If I understand correctly, you want to add a domain named new.example and you want all mail to this domain to go to the "newuser" account. if so,

- add
new.example somestring
to virtual_alias_domains

- put
[EMAIL PROTECTED]       [EMAIL PROTECTED]
[EMAIL PROTECTED]       [EMAIL PROTECTED]
[EMAIL PROTECTED]       [EMAIL PROTECTED]
in your virtual_alias_maps. here, example.com is any domain listed in mydestination. you can use "newuser" without a domain part, but you may have problems if you play with myorigin. so it is safer to put the domain part explicitely (or at least, make sure that $myorigin is listed under mydestination).

if you want delivery to multiple accounts, adjust as needed.

if you uncomment the "#new.example" catchall line, all [EMAIL PROTECTED] addresses will be accepted, so you will get a lot of spam. I wouldn't do this, but it's up to you.

Note that the "target" addresses (the addresses to which mail is forwarded) are not in a virtual alias domain. they are in a local domain (domain in mydestination). The idea is that after virtual alias expansion (this is recursive. see the docs), postfix must know how to deliver the address (either deliver to a mailbox, or pass the message to another MTA).



3.    Virtual Mailbox domains
• was about to try this alternative but decided to stop and ask for help.
•    Please help!

Best Regards
Rupert





Reply via email to