Configuring postfix to read replica domains when mail arrives

"Ali Nebi" <[email protected]> Thu, 27 Dec 2007 15:42:50 +0200
Newsgroups gmane.comp.isp.ispman.user
Message-ID <[email protected]>
--===============0049792302==
Content-Type: multipart/alternative; 
	boundary="----=_Part_3213_14329382.1198762970349"

------=_Part_3213_14329382.1198762970349
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi,

before to write what is needed, i want to excuse me for my bad english
and if you need more info for the problem please tell me, i will post it
here.

I understood that right now is developing a new version of ISPMan. It is
really a good software. I want to ask if is possible to solve in the new
version or offer some solution for a problem that i saw. We have
installed ispman, postfix and we are using ispman and ldap to manage
domains and users. But we have a problem with virtual_alias_map in
postfix. We are validating recipients and everything works very well for
master domains, but not for replica domains.

Here you can see the same problem with more explanation:

http://www.nabble.com/Configuring-postfix-to-read-replica-domains-when-mail-arrives-td10248794.html

I will give an example with our configurations.

Let's tell that our master domain is called master.com and replica
domains is called replica.com that point to master domain - master.com.

This is the structure for master domain:

# master.com, ISPMan, example.com
dn: ispmanDomain=master.com,ou=ISPMan,dc=example,dc=com
objectClass: ispmanDomain
objectClass: posixAccount
objectClass: PureFTPdUser
ispmanStatus: active
ispmanCreateTimestamp: 1024645619
ispmanDomainType: primary
ispmanDomainOwner: Owner 7 GmbH
ispmanDomainCustomer: Owner 7 GmbH
ispmanDomain: master.com
ispmanDomainMailDeliveryMethod: local
cn: master.com
uid: master.com
uidNumber: 1453
gidNumber: 1276
homeDirectory: /var/www/domains/master.com
userPassword:: e21kNX0vNFRhVndRRGJUbkNjZFc3VWRVWFlnPT0=
loginShell: /bin/false
ispmanMaxAccounts: -1
ispmanMaxVhosts: -1
ispmanDomainService: mail
ispmanDomainService: http
ispmanDomainDefaultMailDropHost: gandalf.example.com
ispmanDomainDefaultWebHost: wolf.example.com
FTPStatus: enabled
FTPQuotaMBytes: 1
ispmanDomainDefaultFileServer: wolf.iguanait.com

And this is the structure for replica domain:

# replica.com, ISPMan, example.com
dn: ispmanDomain=replica.com,ou=ISPMan,dc=example,dc=com
objectClass: ispmanDomain
objectClass: ispmanBranch
ispmanStatus: active
ispmanCreateTimestamp: 1029688427
ispmanDomainType: replica
ispmanDomainOwner: Owner GmbH
ispmanDomainCustomer: Owner GmbH
ispmanDomain: replica.com
ispmanDomainMailDeliveryMethod: local
ispmanReplicaMaster: master.com
mailLocalAddress: @replica.com
mailForwardingAddress: @master.com

This is the content in ldap_alias.cf in postfix:

# LDAP virtual maps.
server_host = localhost
version = 3
timeout = 30
bind = no
search_base = ou=ISPMan,dc=example,dc=com
query_filter = (|(mailLocalAddress=%s)(mailAlias=%s)(uid=%s))
result_attribute = mailRoutingAddress,mailForwardingAddress

This is a part of postfix configuration:
smtpd_recipient_restrictions =
        permit_mynetworks,
        permit_sasl_authenticated,
        reject_unauth_destination,
        check_recipient_access hash:/etc/postfix/access,
        reject_multi_recipient_bounce,
        reject_non_fqdn_recipient,
        reject_unknown_recipient_domain

virtual_alias_maps =
        hash:/etc/postfix/virtual,
        ldap:/etc/postfix/ldap-aliases.cf
virtual_alias_domains = hash:/etc/postfix/destination_domains

smtpd_recipient_restrictions =
        permit_mynetworks,
        permit_sasl_authenticated,
        reject_unauth_destination,
        check_recipient_access hash:/etc/postfix/access,
        reject_multi_recipient_bounce,
        reject_non_fqdn_recipient,
        reject_unknown_recipient_domain


The problem is that when we send message to non-exist user
([email protected]) everything works ok, it rejects the message,
but when we send message to replica domain ([email protected])
SMTP server accept the mail. What we want is to reject every mail send
to non-exist user in our system.

I think this happens because we have this for replica domain:

mailLocalAddress: @replica.com
mailForwardingAddress: @master.com

and in virtual_alias_map is writen domain like @replica.com and this
tell smtp server to accept every mail send top this domain.

I think that if we make aliases for every user like:

mailAlias: username-sezmvf7S7QxWVPTZF4YnfwC/[email protected]

for every replica domains and remove the lines:

mailLocalAddress: @replica.com
mailForwardingAddress: @master.com

from replica domain definition, this will help to validate the mails
send to replica domains.

What is your opinion for this and is there some way to solve this
problem ?

If this is the real problem please to fix this in new version.

Thanks in advanced!

Regards, Ali Nebi!

------=_Part_3213_14329382.1198762970349
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

<blockquote style="font-family: arial,sans-serif;">
    Hi,<br>
    <br>
    before to write what is needed, i want to excuse me for my bad english<br>
    and if you need more info for the problem please tell me, i will post it<br>
    here.<br>
    <br>
    I understood that right now is developing a new version of ISPMan. It is<br>
    really a good software. I want to ask if is possible to solve in the new<br>
    version or offer some solution for a problem that i saw. We have<br>
    installed ispman, postfix and we are using ispman and ldap to manage<br>
    domains and users. But we have a problem with virtual_alias_map in<br>
    postfix. We are validating recipients and everything works very well for<br>
    master domains, but not for replica domains. <br><br>Here you can see the same problem with more explanation:<br><br><a href="http://www.nabble.com/Configuring-postfix-to-read-replica-domains-when-mail-arrives-td10248794.html">
http://www.nabble.com/Configuring-postfix-to-read-replica-domains-when-mail-arrives-td10248794.html</a><br><br>I will give an example with our configurations.<br>
    <br>
    Let&#39;s tell that our master domain is called <a href="http://master.com">master.com</a> and replica<br>
    domains is called <a href="http://replica.com">replica.com</a> that point to master domain - <a href="http://master.com">master.com</a>.<br>
    <br>
    This is the structure for master domain:<br>
    <br>
    # <a href="http://master.com">master.com</a>, ISPMan, <a href="http://example.com">example.com</a><br>
    dn: ispmanDomain=<a href="http://master.com">master.com</a>,ou=ISPMan,dc=example,dc=com<br>
    objectClass: ispmanDomain<br>
    objectClass: posixAccount<br>
    objectClass: PureFTPdUser<br>
    ispmanStatus: active<br>
    ispmanCreateTimestamp: 1024645619<br>
    ispmanDomainType: primary<br>
    ispmanDomainOwner: Owner 7 GmbH<br>
    ispmanDomainCustomer: Owner 7 GmbH<br>
    ispmanDomain: <a href="http://master.com">master.com</a><br>
    ispmanDomainMailDeliveryMethod: local<br>
    cn: <a href="http://master.com">master.com</a><br>
    uid: <a href="http://master.com">master.com</a><br>
    uidNumber: 1453<br>
    gidNumber: 1276<br>
    homeDirectory: /var/www/domains/master.com<br>
    userPassword:: e21kNX0vNFRhVndRRGJUbkNjZFc3VWRVWFlnPT0=<br>
    loginShell: /bin/false<br>
    ispmanMaxAccounts: -1<br>
    ispmanMaxVhosts: -1<br>
    ispmanDomainService: mail<br>
    ispmanDomainService: http<br>
    ispmanDomainDefaultMailDropHost: <a href="http://gandalf.example.com">gandalf.example.com</a><br>
    ispmanDomainDefaultWebHost: <a href="http://wolf.example.com">wolf.example.com</a><br>
    FTPStatus: enabled<br>
    FTPQuotaMBytes: 1<br>
    ispmanDomainDefaultFileServer: <a href="http://wolf.iguanait.com">wolf.iguanait.com</a><br>
    <br>
    And this is the structure for replica domain:<br>
    <br>
    # <a href="http://replica.com">replica.com</a>, ISPMan, <a href="http://example.com">example.com</a><br>
    dn: ispmanDomain=<a href="http://replica.com">replica.com</a>,ou=ISPMan,dc=example,dc=com<br>
    objectClass: ispmanDomain<br>
    objectClass: ispmanBranch<br>
    ispmanStatus: active<br>
    ispmanCreateTimestamp: 1029688427<br>
    ispmanDomainType: replica<br>
    ispmanDomainOwner: Owner GmbH<br>
    ispmanDomainCustomer: Owner GmbH<br>
    ispmanDomain: <a href="http://replica.com">replica.com</a><br>
    ispmanDomainMailDeliveryMethod: local<br>
    ispmanReplicaMaster: <a href="http://master.com">master.com</a><br>
    mailLocalAddress: @<a href="http://replica.com">replica.com</a><br>
    mailForwardingAddress: @<a href="http://master.com">master.com</a><br>
    <br>
    This is the content in ldap_alias.cf in postfix:<br>
    <br>
    # LDAP virtual maps.<br>
    server_host = localhost<br>
    version = 3<br>
    timeout = 30<br>
    bind = no<br>
    search_base = ou=ISPMan,dc=example,dc=com<br>
    query_filter = (|(mailLocalAddress=%s)(mailAlias=%s)(uid=%s))<br>
    result_attribute = mailRoutingAddress,mailForwardingAddress<br>
    <br>
    This is a part of postfix configuration:<br>
    smtpd_recipient_restrictions =<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; permit_mynetworks,<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; permit_sasl_authenticated,<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reject_unauth_destination,<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; check_recipient_access hash:/etc/postfix/access,<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reject_multi_recipient_bounce,<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reject_non_fqdn_recipient,<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reject_unknown_recipient_domain<br>
    <br>
    virtual_alias_maps =<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hash:/etc/postfix/virtual,<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ldap:/etc/postfix/ldap-<a href="http://aliases.cf">aliases.cf</a><br>
    virtual_alias_domains = hash:/etc/postfix/destination_domains<br>
    <br>
    smtpd_recipient_restrictions =<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; permit_mynetworks,<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; permit_sasl_authenticated,<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reject_unauth_destination,<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; check_recipient_access hash:/etc/postfix/access,<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reject_multi_recipient_bounce,<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reject_non_fqdn_recipient,<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reject_unknown_recipient_domain<br>
    <br>
    <br>
    The problem is that when we send message to non-exist user<br>
    (<a href="mailto:[email protected]">[email protected]</a>) everything works ok, it rejects the message,<br>
    but when we send message to replica domain (<a href="mailto:[email protected]">[email protected]</a>)<br>
    SMTP server accept the mail. What we want is to reject every mail send<br>
    to non-exist user in our system. <br>
    <br>
    I think this happens because we have this for replica domain:<br>
    <br>
    mailLocalAddress: @<a href="http://replica.com">replica.com</a><br>
    mailForwardingAddress: @<a href="http://master.com">master.com</a><br>
    <br>
    and in virtual_alias_map is writen domain like @<a href="http://replica.com">replica.com</a> and this<br>
    tell smtp server to accept every mail send top this domain. <br>
    <br>
    I think that if we make aliases for every user like: <br>
    <br>
    mailAlias: <a href="mailto:username-sezmvf7S7QxWVPTZF4YnfwC/[email protected]">username-sezmvf7S7QxWVPTZF4YnfwC/[email protected]</a><br>
    <br>
    for every replica domains and remove the lines:<br>
    <br>
    mailLocalAddress: @<a href="http://replica.com">replica.com</a><br>
    mailForwardingAddress: @<a href="http://master.com">master.com</a><br>
    <br>
    from replica domain definition, this will help to validate the mails<br>
    send to replica domains.<br>
    <br>
    What is your opinion for this and is there some way to solve this<br>
    problem ?<br>
    <br>
    If this is the real problem please to fix this in new version.<br>
    <br>
    Thanks in advanced!<br>
    <br>
    Regards, Ali Nebi!<br>
    <br>
</blockquote>

------=_Part_3213_14329382.1198762970349--


--===============0049792302==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
--===============0049792302==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Ispman-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ispman-users

--===============0049792302==--