I apologize for this taking so long to figure out, Mark... hopefully
we're almost there...
On 2010-05-03 12:32 PM, Mark Sapiro wrote:
On 2010-05-02 7:02 PM, Mark Sapiro wrote:
This gets complicated. My question at this point is how is mail to
listname at example.com getting to Mailman.
Hopefully you can help me figure that out... :)
I think I can.
Somehow I believe you... ;)
mydomain = example.com
And this says that example.com is the local domain
Hmmm... the postfix docs do not say that this setting equates to a LOCAL
and it is included by default in mydestination
Not according to the docs:http://www.postfix.org/postconf.5.html#mydestination
mydestination (default: $myhostname, localhost.$mydomain, localhost)
localhost.$mydomain != $mydomain
which means mail to the example.com domain is delivered by
postfix/local and uses Mailman's aliases.
Hmmm... well, deliveries to normal email addresses @example.com
definitely have always used postfix/virtual:
May 3 13:48:25 myhost postfix/smtpd: connect from
May 3 13:48:25 myhost postfix/smtpd: EF3DB650B4F:
May 3 13:48:26 myhost postfix/cleanup: EF3DB650B4F:
message-id=<4BDF0E0A.7010908 at inboundhost.inbounddomain.com>
May 3 13:48:26 myhost postfix/qmgr: EF3DB650B4F:
from=<external_user at smtp.example2.com>, sizeB218, nrcpt=1 (queue active)
May 3 13:48:26 myhost postfix/virtual: EF3DB650B4F:
to=<valid_user at example.com>, relay=virtual, delay=0.68,
delays=0.67/0/0/0.01, dsn=2.0.0, status=sent (delivered to maildir)
May 3 13:48:26 myhost postfix/qmgr: EF3DB650B4F: removed
May 3 13:48:26 myhost postfix/smtpd: disconnect from
But, you are right, messages to any of the *list* addresses are
definitely handled by postfix/local (I just must have never noticed),
and there is something unexpected (see below log sample)...
virtual_alias_maps = mysql:/etc/postfix/mysql_vam.cf,
And this references Mailman's virtual maps created for the
myhost.example.com domain. Normally, for delivery of mail addressed
to, e.g. listname-owner at myhost.example.com via the virtual mapping
which maps that address to the local address listname-owner, you also
virtual_alias_domains = myhost.example.com
Nope... these return nothing:
myhost # ~ postmap -q myhost.example.com mysql:/etc/postfix/mysql_vmd.cf
myhost # ~ postmap -q smtp.example.com mysql:/etc/postfix/mysql_vmd.cf
This returns 'Primary Domain' (description in postfixadmin db):
myhost # ~ postmap -q example.com mysql:/etc/postfix/mysql_vmd.cf
If it is working without that, there might be something in the
mysql:/etc/postfix/mysql_vam.cf that is enabling it,
user = myuser
password = mypassword
hosts = localhost
dbname = mydb
query = SELECT goto FROM alias WHERE address='%s'
or those addresses may not be working,
By those addresses, you mean valid_user at example.com? Been working for
over 4 years like this...
but if they are not, bounce processing and some owner notifications
may not be working,
I do get messages to listname-owner, as well as bounce notifications...
Something that might help shed some more light though... now that I know
that list deliveries are handled by postfix/local and regular email
addresses by postfix/virtual, I looked more closely at the logs...
Here is a snippet of a list message - note the line where my servers
name (myhost) is appended:
13:17:44 myhost postfix/smtpd: connect from
May 3 13:17:44 myhost postfix/smtpd: 45FC66B690E:
sasl_username=me at example.com
May 3 13:17:44 myhost postfix/cleanup: 45FC66B690E:
message-id=<4BDF0537.6030405 at example.com>
May 3 13:17:44 myhost postfix/qmgr: 45FC66B690E:
from=<me at example.com>, size�0, nrcpt=1 (queue active)
May 3 13:17:44 myhost postfix/smtpd: disconnect from
May 3 13:17:44 myhost imapd-ssl: DISCONNECTED, user=me at example.com,
ip=[::ffff:###.###.###.###], headers!44, bodyV70, rcvd02,
sentV680, time08, starttls=1
May 3 13:17:44 myhost postfix/local: 45FC66B690E:
to=<listname at smtp.example.com>, orig_to=<ListName at Example.com>,
relay=local, delay=0.64, delays=0.02/0.04/0/0.58, dsn=2.0.0, status=sent
(delivered to command: /usr/lib64/mailman/mail/mailman post listname)
May 3 13:17:44 myhost postfix/qmgr: 45FC66B690E: removed
May 3 13:17:46 myhost postfix/smtpd: connect from
May 3 13:17:46 myhost postfix/smtpd: 265E36285BC:
May 3 13:17:46 myhost postfix/cleanup: 265E36285BC:
message-id=<4BDF0537.6030405 at Example.com>
May 3 13:17:46 myhost postfix/qmgr: 265E36285BC:
from=<listname-bounces at myhost.example.com>, size34, nrcpt=4 (queue
NOTE: ^^^^^^ where did that come from?
May 3 13:17:46 myhost postfix/smtpd: disconnect from
May 3 13:17:46 myhost postfix/virtual: 265E36285BC:
to=<listmember at example.com>, relay=virtual, delay=0.02,
delays=0.01/0/0/0.01, dsn=2.0.0, status=sent (delivered to maildir)
May 3 13:17:46 myhost postfix/qmgr: 265E36285BC: removed
So, How to proceed.
My understanding is you want the list addresses to be @example.com and
only the web host to be lists.example.com.
Yes... but... I also want example.com to *not* be considered a local
domain for normal email...
Given that understanding, what you want to end up with in mm_cfg.py is
MTA = 'Postfix'
DEFAULT_EMAIL_HOST = 'example.com'
DEFAULT_URL_HOST = 'lists.example.com'
with no POSTFIX_STYLE_VIRTUAL_DOMAINS at all, and, you can remove
from Postfix virtual_alias_maps and remove the
1. Stop postfix
2. Stop mailman
3. Make the (above) changes to mm_cfg.py
4. Run $prefix/bin/withlist -l -a -r fix_url to fix all existing lists
5. Run $prefix/bin/genaliases
6. Start mailman
7. Start postfix
What about web server changes for the lists.example.com vs.
myhost.example.com change (there may not be any), and DNS for the
I've already got the DNS setup... but this question made me realize,
there isn't any vhost file set up for mailman access, and its been a
long time since I originally set this up (with some help from someone
else who apparently only knew a little more than I did - ;) ...
The current list management pages are at the address:https://myhost.example.com/mailman/...
I looked at /etc/apache2/modules.d/50_mailman.conf, but it doesn't show
anything about my hostname, so, what controls the root directory?
Thanks again Mark, I think (hope) we're almost there... I'm gonna owe
you a kegger (or more/whatever you prefer) when we're done... :)