FAQ
I changed mailman to use an aliases file (/etc/mail/mailman-aliases) which is owned by root:mailman.

I get the following, which I didn't get when the aliases where being managed by Exim itself.

====
Group mismatch error. Mailman expected the mail wrapper script to be executed as group "mailman", but the system's mail server executed the mail script as group "exim". Try tweaking the mail server to run the script as group "mailman", or re-run configure, providing the command line option `--with-mail-gid=exim'.
====

So I have two options. The tweak, and the re-configure. What is the tweak? Or is it better to do the re-configure and if I do that does that "wipe" out anything in my current system?

Alternatively, I can turn the Exim support back on but I was getting this error from one of my groups:

====
Your message did not reach some or all of the intended recipients.

Subject: Test message only
Sent: 2/1/2010 9:40 AM

The following recipient(s) cannot be reached:

email at address on 2/1/2010 9:42 AM
The e-mail account does not exist at the organization this message was sent to. Check the e-mail address, or contact the recipient directly to find out the correct address.
<smtp-host #5.1.1 smtp;>
====

The email was changed but the address is valid.

Bob

Search Discussions

  • Mark Sapiro at Feb 1, 2010 at 8:49 pm

    Hicks, Robert CTR wrote:
    I changed mailman to use an aliases file (/etc/mail/mailman-aliases) which is owned by root:mailman.

    I get the following, which I didn't get when the aliases where being managed by Exim itself.

    ====
    Group mismatch error. Mailman expected the mail wrapper script to be executed as group "mailman", but the system's mail server executed the mail script as group "exim". Try tweaking the mail server to run the script as group "mailman", or re-run configure, providing the command line option `--with-mail-gid=exim'.
    ====

    The difference is you used to deliver mail to Mailman via an Exim
    router and transport for Mailman. BTW, this was not delivery based on
    Exim managed aliases. It was programmatic delivery based on the
    existence of a list.

    Your Exim Mailman transport definition contained user= and group=
    directives defining the user and group that Exim should use when
    invoking the wrapper. In particular, this group was 'mailman'.

    You now are delivering via aliases. Probably you have a
    "system_aliases" router with among other things has a line like

    pipe_transport = address_pipe

    which invokes the address_pipe transport for all aliases including
    Mailman's which deliver to a pipe.

    So I have two options. The tweak, and the re-configure. What is the tweak? Or is it better to do the re-configure and if I do that does that "wipe" out anything in my current system?

    The tweak option is to add a

    group = mailman

    directive to either the system_aliases router or the address_pipe
    transport.

    The configure option if you installed from source is to run ./configure
    with the same options as before except adding (or changing)
    --with-mail-gid=exim and then run make install.

    If you installed a package, you need to consult your package
    documentation for the way to change this if it is possible.

    No. reconfiguring and installing shouldn't affect your current
    installation.

    Alternatively, I can turn the Exim support back on but I was getting this error from one of my groups:

    Going back to your original Exim configuration is IMO the best option.

    ====
    Your message did not reach some or all of the intended recipients.

    Subject: Test message only
    Sent: 2/1/2010 9:40 AM

    The following recipient(s) cannot be reached:

    email at address on 2/1/2010 9:42 AM
    The e-mail account does not exist at the organization this message was sent to. Check the e-mail address, or contact the recipient directly to find out the correct address.
    <smtp-host #5.1.1 smtp;>
    ====

    The email was changed but the address is valid.

    Now we're getting somewhere. Was this a message to a list; i.e. is
    email at address the address of a Mailman list, or was this a message
    from Mailman to someone?

    If this was not a post to a list, Neither the Exim Mailman router and
    transport nor Mailman aliases have anything to do with it.

    Is the 'address' domain that of your mailman server? is the 'email'
    user the name of a Mailman list?

    Give us some information and we'll help you solve this.

    --
    Mark Sapiro <mark at msapiro.net> The highway is for gamblers,
    San Francisco Bay Area, California better use your sense - B. Dylan
  • Hicks, Robert CTR at Feb 1, 2010 at 9:07 pm

    -----Original Message-----

    ====
    Your message did not reach some or all of the intended recipients.

    Subject: Test message only
    Sent: 2/1/2010 9:40 AM

    The following recipient(s) cannot be reached:

    email at address on 2/1/2010 9:42 AM
    The e-mail account does not exist at the organization this message was sent to. Check the e-mail address, or contact the recipient directly to find out the correct address.
    <smtp-host #5.1.1 smtp;>
    ====

    The email was changed but the address is valid.
    Now we're getting somewhere. Was this a message to a list; i.e. is
    email at address the address of a Mailman list, or was this a message
    from Mailman to someone?
    This was a test message from me to a list that is in mailman. So it was actually
    to list-name at address-domain.mil. Both the list-name and address-domain are correct in the email. I have sent the actual message to you Mark separately to see if that helps at all.
    If this was not a post to a list, Neither the Exim Mailman router and
    transport nor Mailman aliases have anything to do with it.
    Is the 'address' domain that of your mailman server?
    Yes... can successfully send test mail to other lists.
    is the 'email' user the name of a Mailman list?
    I am not sure what you mean by this? I sent it with my personal email account and I am a member of that list with that address and I sent to the list name address.
    Give us some information and we'll help you solve this.
    Anything you need. :-)

    --
    Mark Sapiro <mark at msapiro.net> The highway is for gamblers,
    San Francisco Bay Area, California better use your sense - B. Dylan
  • Mark Sapiro at Feb 1, 2010 at 10:24 pm

    Hicks, Robert CTR wrote:
    ====
    Your message did not reach some or all of the intended recipients.

    Subject: Test message only
    Sent: 2/1/2010 9:40 AM

    The following recipient(s) cannot be reached:

    email at address on 2/1/2010 9:42 AM
    The e-mail account does not exist at the organization this message was sent to. Check the e-mail address, or contact the recipient directly to find out the correct address.
    <smtp-host #5.1.1 smtp;>
    ====

    The email was changed but the address is valid.
    Now we're getting somewhere. Was this a message to a list; i.e. is
    email at address the address of a Mailman list, or was this a message
    from Mailman to someone?
    This was a test message from me to a list that is in mailman. So it was actually
    to list-name at address-domain.mil. Both the list-name and address-domain are correct in the email. I have sent the actual message to you Mark separately to see if that helps at all.

    The list-name in the message you sent me ends in -admin. This is the
    problem.


    Your Mailman router in Exim doesn't work with list names that end with
    '-admin' or probably any of the other suffixes '-bounces', '-confirm',
    '-join', '-leave', '-owner', '-request', '-subscribe' or
    '-unsubscribe'.

    Does the router definition look like this:

    mailman_router:
    driver = accept
    domains = +mm_domains
    require_files = MAILMAN_HOME/lists/$local_part/config.pck
    local_part_suffix_optional
    local_part_suffix = -bounces : -bounces+* : \
    -confirm : -confirm+* : \
    -join : -leave : \
    -subscribe : -unsubscribe : \
    -owner : -request : -admin
    transport = mailman_transport


    If so, i think you can just delete the " : -admin" from the next to
    last line as this suffix is a deprecated synonym for the -bounces
    address and isn't actually used in Mailman 2.1.x.

    That should solve the problem for lists named *-admin, but not the
    others.

    I'm not an Exim wizard, but I'll try to come up with a more robust
    router definition.

    --
    Mark Sapiro <mark at msapiro.net> The highway is for gamblers,
    San Francisco Bay Area, California better use your sense - B. Dylan
  • Adam McGreggor at Feb 1, 2010 at 11:25 pm

    On Mon, Feb 01, 2010 at 02:24:26PM -0800, Mark Sapiro wrote:
    The list-name in the message you sent me ends in -admin. This is the
    problem.
    I came up with a work-around for this, once, but on a box I've since
    decommissioned.
    Your Mailman router in Exim doesn't work with list names that end with
    '-admin' or probably any of the other suffixes '-bounces', '-confirm',
    '-join', '-leave', '-owner', '-request', '-subscribe' or
    '-unsubscribe'.
    Indeed, that's the case with a router like that, below
    Does the router definition look like this:

    mailman_router:
    driver = accept
    domains = +mm_domains
    require_files = MAILMAN_HOME/lists/$local_part/config.pck
    local_part_suffix_optional
    local_part_suffix = -bounces : -bounces+* : \
    -confirm : -confirm+* : \
    -join : -leave : \
    -subscribe : -unsubscribe : \
    -owner : -request : -admin
    transport = mailman_transport
    From memory, I think 'my' workaround may have involved adding a
    specific router to handle the suffices, when they appear in the
    local_part.

    It may have been something like:

    local_parts = foo-admin : baa-confim

    It may be worth testing something along the lines of

    local_parts = \N^.*-(admin|bounces|confirm|join|leave|owner|request|subscribe|unsubscribe)$\N

    It might be useful to limit the domains a bit more that
    +mm_domains, with such a list.

    (yes, that is untested -- see chapters 8 and 11 of the Exim spec).

    However I did it, it was most in-elegant, and took advantage of
    "the order of routers matters, in Exim".

    Having got it working, I remember 'we' decided that that list was
    surplus to our demands. Hohum.
    If so, i think you can just delete the " : -admin" from the next to
    last line as this suffix is a deprecated synonym for the -bounces
    address and isn't actually used in Mailman 2.1.x.
    that's another (nice and easy) way ;)

    --
    ``The power of accurate observation is often called cynicism
    by those who do not have it.'' (George Bernard Shaw)
  • Mark Sapiro at Feb 1, 2010 at 11:33 pm

    Mark Sapiro wrote:
    The list-name in the message you sent me ends in -admin. This is the
    problem.


    Your Mailman router in Exim doesn't work with list names that end with
    '-admin' or probably any of the other suffixes '-bounces', '-confirm',
    '-join', '-leave', '-owner', '-request', '-subscribe' or
    '-unsubscribe'.

    Does the router definition look like this:

    mailman_router:
    driver = accept
    domains = +mm_domains
    require_files = MAILMAN_HOME/lists/$local_part/config.pck
    local_part_suffix_optional
    local_part_suffix = -bounces : -bounces+* : \
    -confirm : -confirm+* : \
    -join : -leave : \
    -subscribe : -unsubscribe : \
    -owner : -request : -admin
    transport = mailman_transport


    If so, i think you can just delete the " : -admin" from the next to
    last line as this suffix is a deprecated synonym for the -bounces
    address and isn't actually used in Mailman 2.1.x.

    That should solve the problem for lists named *-admin, but not the
    others.

    I'm not an Exim wizard, but I'll try to come up with a more robust
    router definition.

    The following is not too elegant, but you can just add a second router
    so you have two as follows (order is important):

    mailman_router:
    driver = accept
    domains = +mm_domains
    require_files = MAILMAN_HOME/lists/$local_part/config.pck
    local_part_suffix_optional
    local_part_suffix = -bounces : -bounces+* : \
    -confirm : -confirm+* : \
    -join : -leave : \
    -subscribe : -unsubscribe : \
    -owner : -request : -admin
    transport = mailman_transport

    mailman__backup_router:
    driver = accept
    domains = +mm_domains
    require_files = MAILMAN_HOME/lists/$local_part/config.pck
    transport = mailman_transport

    The first router will be invoked for addresses like 'list',
    'list-admin', 'list-bounces', etc where 'list' is a valid list name.

    Should there be a list with a name like 'xxx-admin', as long as there
    also is not a list named 'xxx', the first router will fail to match on
    list posts and the second router will match. Addresses like
    'xxx-admin-bounces' etc. (even 'xxx-admin-admin') will match the first
    router.

    The only restriction is you can't have two lists, one named 'xxx' and
    another named 'xxx-admin' or 'xxx-bounces', etc., but that's a problem
    with other delivery methods too.

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

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupmailman-users @
categoriespython
postedFeb 1, '10 at 8:18p
activeFeb 1, '10 at 11:33p
posts6
users3
websitelist.org

People

Translate

site design / logo © 2022 Grokbase