[TriLUG] Problem integrating Postfix + Cyrus + Mailman

Phillip Rhodes mindcrime at cpphacker.co.uk
Sun Feb 4 20:35:18 EST 2007


Hi all, I'm having a little bit of trouble getting the combination of
Postfix, Cyrus IMAP and Mailman to work together correctly.
I'm hoping someone here can shed some light on what I'm doing wrong.

What I'm trying to accomplish is this:

Postfix receives mail for the domains zenninja.com and 
lists.trianglestartupgroup.com.
Message to the former domain should go to Cyrus for deliver to 
mailboxes.  The latter
should be sent to Mailman for distribution.

The problem I'm seeing is that all mail, for either domain, is delivered 
to Cyrus, where
Cyrus rejects (correctly) the mail for the lists.trianglestartupgoup.com 
addresses.

My configuration looks like this (note: I've included only what seem to 
be the
relevant parts of main.cf, since the file is so long).

/etc/mailman/aliases:

# STANZA START: test
# CREATED: Sun Feb  4 17:39:27 2007
test:             "|/usr/lib/mailman/mail/mailman post test"
test-admin:       "|/usr/lib/mailman/mail/mailman admin test"
test-bounces:     "|/usr/lib/mailman/mail/mailman bounces test"
test-confirm:     "|/usr/lib/mailman/mail/mailman confirm test"
test-join:        "|/usr/lib/mailman/mail/mailman join test"
test-leave:       "|/usr/lib/mailman/mail/mailman leave test"
test-owner:       "|/usr/lib/mailman/mail/mailman owner test"
test-request:     "|/usr/lib/mailman/mail/mailman request test"
test-subscribe:   "|/usr/lib/mailman/mail/mailman subscribe test"
test-unsubscribe: "|/usr/lib/mailman/mail/mailman unsubscribe test"
# STANZA END: test
-------------------------------------------------------------------------

/etc/mailman/virtual-mailman:

# STANZA START: test
# CREATED: Sun Feb  4 17:39:27 2007
test at lists.trianglestartupgroup.com              test
test-admin at lists.trianglestartupgroup.com        test-admin
test-bounces at lists.trianglestartupgroup.com      test-bounces
test-confirm at lists.trianglestartupgroup.com      test-confirm
test-join at lists.trianglestartupgroup.com         test-join
test-leave at lists.trianglestartupgroup.com        test-leave
test-owner at lists.trianglestartupgroup.com        test-owner
test-request at lists.trianglestartupgroup.com      test-request
test-subscribe at lists.trianglestartupgroup.com    test-subscribe
test-unsubscribe at lists.trianglestartupgroup.com  test-unsubscribe
# STANZA END: test
-------------------------------------------------------------------------

/etc/postfix/vmailbox:

ceo at zenninja.com  zenninja.com/ceo/
-------------------------------------------------------------------------

/etc/postfix/main.cf:

# The myhostname parameter specifies the internet hostname of this
# mail system. The default is to use the fully-qualified domain name
# from gethostname(). $myhostname is used as a default value for many
# other configuration parameters.
#
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld

# The mydomain parameter specifies the local internet domain name.
# The default is to use $myhostname minus the first component.
# $mydomain is used as a default value for many other configuration
# parameters.
#
mydomain = zenninja.com

# SENDING MAIL
#
# The myorigin parameter specifies the domain that locally-posted
# mail appears to come from. The default is to append $myhostname,
# which is fine for small sites.  If you run a domain with multiple
# machines, you should (1) change this to $mydomain and (2) set up
# a domain-wide alias database that aliases each user to
# user at that.users.mailhost.
#
# For the sake of consistency between sender and recipient addresses,
# myorigin also specifies the default domain name that is appended
# to recipient addresses that have no @domain part.
#
#myorigin = $myhostname
myorigin = $mydomain


# See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS".
#
mydestination = $myhostname, localhost.$mydomain, localhost
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,


# If you change the alias database, run "postalias /etc/aliases" (or
# wherever your system stores the mail alias file), or simply run
# "newaliases" to build the necessary DBM or DB file.
#
# It will take a minute or so before changes become visible.  Use
# "postfix reload" to eliminate the delay.
#
#alias_maps = dbm:/etc/aliases
alias_maps = hash:/etc/aliases, hash:/etc/mailman/aliases
#alias_maps = hash:/etc/aliases, nis:mail.aliases
#alias_maps = netinfo:/aliases

# The alias_database parameter specifies the alias database(s) that
# are built with "newaliases" or "sendmail -bi".  This is a separate
# configuration parameter, because alias_maps (see above) may specify
# tables that are not necessarily all under control by Postfix.
#
#alias_database = dbm:/etc/aliases
#alias_database = dbm:/etc/mail/aliases
alias_database = hash:/etc/aliases
#alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases


# If using the cyrus-imapd IMAP server deliver local mail to the IMAP
# server using LMTP (Local Mail Transport Protocol), this is prefered
# over the older cyrus deliver program by setting the
# mailbox_transport as below:
#
mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp


virtual_transport       = lmtp:unix:/var/lib/imap/socket/lmtp
#virtual_transport      = cyrus
virtual_mailbox_domains = zenninja.com, lists.trianglestartupgroup.com
virtual_mailbox_base = /var/mail/vhosts
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_minimum_uid = 89
virtual_uid_maps = static:89
virtual_gid_maps = static:89
virtual_alias_maps = hash:/etc/postfix/virtual, 
hash:/etc/mailman/virtual-mailman
-------------------------------------------------------------------------

And this is what the reject message looks like:

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

			The Postfix program

<test at zenninja.com> (expanded from <test at lists.trianglestartupgroup.com>): host
    /var/lib/imap/socket/lmtp[/var/lib/imap/socket/lmtp] said: 550-Mailbox
    unknown.  Either there is no mailbox associated with this 550-name or you
    do not have authorization to see it. 550 5.1.1 User unknown (in reply to
    RCPT TO command)

------------------------------------------------------------------------

Reporting-MTA: dns; mariner.zenninja.com
X-Postfix-Queue-ID: DA2D32E8F40
X-Postfix-Sender: rfc822; mindcrime at cpphacker.co.uk
Arrival-Date: Sun,  4 Feb 2007 20:32:47 -0500 (EST)

Final-Recipient: rfc822; test at zenninja.com
Original-Recipient: rfc822; test at lists.trianglestartupgroup.com
Action: failed
Status: 5.0.0
Diagnostic-Code: X-Postfix; host
    /var/lib/imap/socket/lmtp[/var/lib/imap/socket/lmtp] said: 550-Mailbox
    unknown.  Either there is no mailbox associated with this 550-name or you
    do not have authorization to see it. 550 5.1.1 User unknown (in reply to
    RCPT TO command)

-------------------------------------------------------------------------

It seems that even after the virtual alias is applied and the message is 
supposed to go to
the mailman alias, it's still being sent over lmtp to Cyrus.  This is 
where I'm confused and
don't know what else to try to make this work.

Any and all help is greatly appreciated.


Thanks,


Phillip

-- 
http://www.linkedin.com/in/philliprhodes



More information about the TriLUG mailing list