[Mailman-Users] Cannot to make work mailman correctly

Mark Sapiro mark at msapiro.net
Tue Aug 16 00:16:50 CEST 2011

On 8/15/2011 5:08 AM, James Brown wrote:
> On 11.08.2011 17:01, Mark Sapiro wrote:
>> For some reason, your 'mailman' router is not meeting all it's
>> conditions and Exim is proceeding to 'localuser'. 
> I found what was wrong in my exim configuration and now I have the next:
>>  exim -bt news at list.somename.name
>> Address rewritten as: news at list.somename.name
>> news at list.somename.name
>>     <-- news at list.somename.name
>>     <-- news at list.somename.name
>>   router = mailman, transport = mailman

OK. This is now good.

> I improve the above but now I have the next:
>>  1QsvUg-0004Bz-06 <= adm at somename.name H=hostname ([]) [] P=esmtpsa X=TLSv1:CAMELLIA256-SHA:256 A=plain:adm at somename.name S=744 id=4E49050B.5050201 at somename.name from <adm at somename.name> for news at list.somename.name
>>  1QsvUg-0004Bz-06 ** news at list.somename.name (news at list.somename.name) <news at list.somename.name> R=mailman T=mailman: Child process of mailman transport returned 2 from command: /usr/local/mailman/mail/mailman
>>  1QsvUg-0004Bz-06 Completed

Status 2 from the /usr/local/mailman/mail/mailman command is a group
mismatch error. Your Exim configuration definition of the 'mailman'
transport contains the line


and this is defined by the macro


This group, 'mailman', does not match the expected group compiled into
(or configured in by some FreeBSD magic) the
/usr/local/mailman/mail/mailman wrapper.

The command wrote a helpful error message to stderr explaining what
group invoked it and what group it expected, but Exim neither logged it
nor reported it to the user.

To see this message, run the command

  sudo -u mailman /usr/local/mailman/mail/mailman post

This will produce a message like

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

This will tell you the expected group which I have indicated as xxxx.
Then you can either change the definition in Exim to


or perform what ever FreeBSD magic will change the wrapper's expected
group to mailman.

> The subscribes receives the next emails:
>> This message was created automatically by mail delivery software.
>> A message that you sent could not be delivered to one or more of its
>> recipients. This is a permanent error. The following address(es) failed:
>>   news at list.somename.name
>>     local delivery failed
> So, there are neither emails in the list (through e-mail) nor in the
> web-archive.
>>> and it is impossible to receive
>>> emails from list and to see the archive sending to list throupgh the web.
>> Presumably this is again because mail TO the list is not received by
>> Mailman.
>>> With accordance to the above I have some questions:
>>> 1) What I do wrong?
>> For some reason, Exim is not routing list mail per the 'mailman' router.
>> The only thing I see is that the "require_files =
>> MAILMAN_HOME/lists/$local_part/config.pck" is not satisfied, presumably
>> because MAILMAN_HOME is not defined to the correct path.
> ls -l /usr/local/mailman
> total 36
> drwxrwsr-x   4 root  mailman   512  8 ��� 12:45 lists
> and etc.
> Is it wrong?

Whatever was wrong was fixed by whatever you did to make Exim invoke the
'mailman' router for list mail. You need do nothing more.

>>> 2) Where is I need to indicate aliases after creating the new list - in
>>> /etc/aliases (which is a symbolic link to /etc/mail/aliases in FreeBSD)
>>> or in /usr/local/etc/exim/aliases?
>> You don't need aliases.  List mail should be handled by the 'mailmen'
>> router and the 'mailman' transport.
> I.e. I don't need create aliases which indicates by mailman after
> creating lists such the next:
> "The mailing list `news' has been created via the through-the-web
> interface.  In order to complete the activation of this mailing list, the
> proper /etc/aliases (or equivalent) file must be updated.  The program
> `newaliases' may also have to be run.
> Here are the entries for the /etc/aliases file:
> news:              "|/usr/local/mailman/mail/mailman post news"
> news-admin:        "|/usr/local/mailman/mail/mailman admin news"
> news-bounces:      "|/usr/local/mailman/mail/mailman bounces news"
> news-confirm:      "|/usr/local/mailman/mail/mailman confirm news"
> news-join:         "|/usr/local/mailman/mail/mailman join news"
> news-leave:        "|/usr/local/mailman/mail/mailman leave news"
> news-owner:        "|/usr/local/mailman/mail/mailman owner news"
> news-request:      "|/usr/local/mailman/mail/mailman request news"
> news-subscribe:    "|/usr/local/mailman/mail/mailman subscribe news"
> news-unsubscribe:  "|/usr/local/mailman/mail/mailman unsubscribe news""

You get this message because you have not put

MTA = None

in mm_cfg.py. You can either put that line in mm_cfg.py or ignore the
message about aliases when you create a list.

>>> I don't read any about it in
>>> /usr/local/share/doc/mailman/mailman-install.txt and here
>>> http://www.exim.org/howto/mailman21.html and firstly I did not create 'em.
>>> I had the next exim logs that time:
>>>> H=mail.somename.name [xxx.xxx.xxx.xxx] sender verify fail for <news-bounces at list.somename.name>: all relevant MX records point to non-existent hosts
>>>> H=mail.somename.name [xxx.xxx.xxx.xxx] F=<news-bounces at list.somename.name> rejected RCPT <mailman-owner at list.somename.name>: Sender verify failed
>>>> H=mail.somename.name [xxx.xxx.xxx.xxx] sender verify fail for <news-bounces at list.somename.name>: all relevant MX records point to non-existent hosts
>>>>  H=mail.somename.name [xxx.xxx.xxx.xxx] F=<news-bounces at list.somename.name> rejected RCPT <adm at somename.name>: Sender verify failed
>>>> H=router45-readme.domainname1.net ([]) [xxx.xxx.xxx.xxx] F=<adm at somename.name> rejected RCPT <mailman-request at list.somename.name>: all relevant MX records point to non-existent hosts
>> The sender verify errors are a different issue. It appears that your
>> list domain (list.somename.name) is not in
>> domainlist local_domains = lsearch;/usr/local/etc/exim/domains
>> so is not considered a local domain.
> But my list domain indicated there (the second line):
> $cat domains
> somename.name:somename.name:adm at somename.name:no
> list.somename.name:list.somename.name:adm at somename.name:no
> Maybe it needs to use another syntax than for the main email domain (the
> first line)?

I'm not sure why you were getting the "Sender verify failed" error, but
that too is apparently already fixed as it is not now occurring.

It looks to me as if the only remaining things are to put

MTA = None

in mm_cfg.py and to fix the group mismatch error.

Mark Sapiro <mark at msapiro.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