[Mailman-Users] Changing host names, revisited... POSTFIX_STYLE_VIRTUAL_DOMAINS?
Tanstaafl
tanstaafl at libertytrek.org
Mon May 3 23:05:02 CEST 2010
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:
> Tanstaafl 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... ;)
>> myhost ~ # postconf -n
<snip>
> [...]
>> 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
domain...
> 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[24359]: connect from
hostname.inboundrelay.com[###.###.###.###]
May 3 13:48:25 myhost postfix/smtpd[24359]: EF3DB650B4F:
client=hostname.inboundrelay.com[###.###.###.###]
May 3 13:48:26 myhost postfix/cleanup[24236]: EF3DB650B4F:
message-id=<4BDF0E0A.7010908 at inboundhost.inbounddomain.com>
May 3 13:48:26 myhost postfix/qmgr[3930]: EF3DB650B4F:
from=<external_user at smtp.example2.com>, size=42218, nrcpt=1 (queue active)
May 3 13:48:26 myhost postfix/virtual[24368]: 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[3930]: EF3DB650B4F: removed
May 3 13:48:26 myhost postfix/smtpd[24359]: disconnect from
hostname.inboundrelay.com[###.###.###.###]
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,
>> hash:/var/lib/mailman/data/virtual-mailman
> 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
> need
>
> 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[24018]: connect from
my.workstation.example.com[###.###.###.###]
May 3 13:17:44 myhost postfix/smtpd[24018]: 45FC66B690E:
client=my.workstation.example.com[###.###.###.###], sasl_method=PLAIN,
sasl_username=me at example.com
May 3 13:17:44 myhost postfix/cleanup[24025]: 45FC66B690E:
message-id=<4BDF0537.6030405 at example.com>
May 3 13:17:44 myhost postfix/qmgr[3930]: 45FC66B690E:
from=<me at example.com>, size=850, nrcpt=1 (queue active)
May 3 13:17:44 myhost postfix/smtpd[24018]: disconnect from
my.workstation.example.com[###.###.###.###]
May 3 13:17:44 myhost imapd-ssl: DISCONNECTED, user=me at example.com,
ip=[::ffff:###.###.###.###], headers=2144, body=5670, rcvd=1702,
sent=56680, time=1908, starttls=1
May 3 13:17:44 myhost postfix/local[24039]: 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[3930]: 45FC66B690E: removed
May 3 13:17:46 myhost postfix/smtpd[24020]: connect from
localhost[127.0.0.1]
May 3 13:17:46 myhost postfix/smtpd[24020]: 265E36285BC:
client=localhost[127.0.0.1]
May 3 13:17:46 myhost postfix/cleanup[24025]: 265E36285BC:
message-id=<4BDF0537.6030405 at Example.com>
May 3 13:17:46 myhost postfix/qmgr[3930]: 265E36285BC:
from=<listname-bounces at myhost.example.com>, size=1334, nrcpt=4 (queue
active)
^^^^^^
NOTE: ^^^^^^ where did that come from?
May 3 13:17:46 myhost postfix/smtpd[24020]: disconnect from
localhost[127.0.0.1]
May 3 13:17:46 myhost postfix/virtual[24027]: 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[3930]: 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'
> VIRTUAL_HOSTS.clear()
> add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
>
> with no POSTFIX_STYLE_VIRTUAL_DOMAINS at all, and, you can remove
>
> hash:/var/lib/mailman/data/virtual-mailman
>
> from Postfix virtual_alias_maps and remove the
> /var/lib/mailman/data/virtual-mailman* files.
So:
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
> lists.example.com domain?
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... :)
--
Charles
More information about the Mailman-Users
mailing list