[Mailman-Users] MM within virtual hosting environment

Mark Sapiro msapiro at value.net
Sun Mar 27 00:41:48 CET 2005

Aras wrote:
> I know this kind of questions were posted here quite often (yes, I've
>done my homework <grin>). I have searched FAQ and archives, however,
>haven't found anything similar to my problem. The closest was FAQ
>answer: 4.47. Virtual domain hosting with Mailman? - not for me,
>however...      :(

Actually, I think FAQ 4.29 may be the most relevant.

> I started a mailing list within virtual VPS environment with several
>domains hosted. Now, a strange thing is happening. Mailing list
>headers are showing something like the following:
>        <mailto:list-name-request at DOMAIN-1.com?subject=unsubscribe>
>List-Archive: <http://lists.DOMAIN-2.COM/pipermail/list-name>
>List-Post: <mailto:list-name at DOMAIN-1.com>
> Please note TWO domain names involved here. Why is that and how this
>could be avoided i.e. - how to change DOMAIN-2 to DOMAIN-1 in the

The first step is to make sure your VIRTUAL_HOSTS dictionary is
correct. It is built with add_virtualhost() calls in mm_cfg.py

The basic stuff that's needed in mm_cfg.py is if there are no changes
to DEFAULT_URL_HOST and DEFAULT_EMAIL_HOST (i.e. the definitions in
Defaults.py are correct), then what you need in mm_cfg.py is

add_virtualhost(URL_FQDN, EMAIL_FQDN)

for each domain other than the defaults. If DEFAULT_URL_HOST and/or
DEFAULT_EMAIL_HOST are reassigned in mm_cfg.py then following those
assignments you need



add_virtualhost(URL_FQDN, EMAIL_FQDN)

for each domain other than the defaults.

Other considerations are DEFAULT_URL_HOST and the various URL_FDQN must
all be distinct. if not, earlier add_virtualhost() entries will be
replaced by the last one with the same URL_FQDN key. Also, the
DEFAULT_EMAIL_HOST and the various EMAIL_FQDN should all be distinct
as well because there are several places where the dictionary gets
inverted and the EMAIL_FQDN is used to look up the URL_FQDN.

Given all that, the domain in the

List-Archive: <http://lists.DOMAIN-2.COM/pipermail/list-name>

header is looked up in the inverted dictionary using the list's
host_name attribute which in turn is the domain in the

List-Post: <mailto:list-name at DOMAIN-1.com>

Therefore, you must have either a VIRTUAL_HOSTS entry of the form

add_virtualhost('lists.DOMAIN-2.COM', 'DOMAIN-1.com')

or no VIRTUAL_HOSTS entry at all with EMAIL_FQDN = 'DOMAIN-1.com', and

Mark Sapiro <msapiro at value.net>       The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan

More information about the Mailman-Users mailing list