• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

broken postfix-mailman

Brujo

Silver Pleskian
Plesk Guru
it seems that Mails to mailinglists are completly broken...

The Postfix program

<[email protected]>: Command died with status 2:
"/usr/lib64/plesk-9.0/postfix-mailman". Command output: Failure to exec
script. WANTED gid 12, GOT gid 67.

Dec 21 16:38:21 egolit Mailman mail-wrapper: Failure to exec script. WANTED gid 12, GOT gid 67.
Dec 21 16:38:21 egolit postfix/pipe[1273]: 3DB4D81A0F3: to=<[email protected]>, relay=mailman, delay=0.66, delays=0.54/0.01/0/0.11, dsn=5.3.0, status=bounced (Command died with status 2: "/usr/lib64/plesk-9.0/postfix-mailman". Command output: Failure to exec script. WANTED gid 12, GOT gid 67. )

Dec 21 17:43:42 egolitl postfix/pipe[21234]: 7F14C821B27: to=<[email protected]>, relay=mailman, delay=0.7, delays=0.51/0.01/0/0.18, dsn=5.3.0, status=bounced (Command died with status 1: "/usr/lib64/plesk-9.0/postfix-mailman". Command output: mailcmd script, list not found: xyz-request )

Recipient address rejected: User unknown in virtual mailbox table; from=<[email protected]> to=<[email protected]>

mail - gid 12
mailman - gid 67

it seems there are more then one issue, one with the gid, another that the mailman-owner is unknown in the virtual mailbox table and another with the xyz-request list not found for the mailinglist

any hint?
Brujo
 
i am the only one with broken mailing lists?

any hint would be very helpful

Brujo
 
Has anyone postfix & mailinglists up and running ?

As far as i understud mailman aliases should be created in the virtual.db but for me it seems that all aliases like -owner, -bounces are not existent, i also created new mailinglist but with the same result. Or they are now on a place which i cant locate?


Dec 22 19:34:19 2008 mailowner(3388): mailowner script, list not found: xyz-owner
Dec 22 19:34:19 2008 mailowner(3390): mailowner script, list not found: uvw-owner
Dec 22 19:34:35 2008 bounces(3424): bounces script, list not found: xyz-bounces

/usr/lib64/plesk-9.0 # ls -la
total 3732
drwxr-xr-x 4 root root 4096 Dec 10 21:03 .
drwxr-xr-x 47 root root 24576 Dec 21 18:02 ..
-r-sr-xr-x 1 root root 280896 Nov 17 10:22 autoresponder
-rwxr-xr-x 1 root root 6616 Nov 17 10:21 bouncemessage
-r-xr-x--- 1 root root 1128 Nov 17 10:24 ch_admin_email_httpd
drwxr-xr-x 2 root root 26 Dec 10 17:44 domain_rename
-r-xr-x--- 1 root root 9935 Nov 17 10:24 key-handler
-r-xr-x--- 1 root root 1711 Nov 17 10:24 key-upgrade
-r-xr-x--- 1 root root 130944 Nov 17 10:20 mail_admin_aliases
-r-xr-x--- 1 root popuser 48648 Nov 17 10:14 mail_auth_dump
-rwxr-x--- 1 root popuser 107352 Nov 17 10:14 mail_dk_restore
-rwxr-x--- 1 root psaadm 243920 Nov 17 10:20 mail_mailbox_restore
-rwxr-x--- 1 root root 49256 Nov 17 10:14 mail_responder_restore
-r-xr-x--- 1 root psaadm 2309 Nov 17 10:14 mail_restore
-rwxr-x--- 1 root psaadm 57448 Nov 17 10:14 mail_spam_restore
-rwxr-x--- 1 root popuser 49176 Nov 17 10:14 mail_spf_restore
-r-xr-x--- 1 root root 3376 Nov 17 10:21 mailman_conf_init
-r-xr-x--- 1 root root 243992 Nov 17 10:21 mailman_lists_dump
-r-xr-x--- 1 root root 458272 Nov 17 10:21 mailmng_domain_rename
-r-xr-x--- 1 root root 284600 Nov 17 10:21 mailmng_domain_toggle
-r-xr-x--- 1 root root 497296 Nov 17 10:20 mailsrv_conf_init
-r-xr-x--- 1 root root 716880 Nov 17 10:20 mailsrv_entities_dump
-r-xr-x--- 1 root root 278 Nov 17 10:20 mailsrv_set_hostname
-r-xr-xr-x 1 root root 45424 Nov 17 10:21 mailsrvanalog
-r-xr-sr-x 1 root mail 6680 Nov 17 10:23 mm_wrapper
drwxr-xr-x 2 root root 18 Dec 10 13:25 mysql
-rwxr-xr-x 1 popuser popuser 78216 Nov 17 10:20 postfix-local
-rwxr-xr-x 1 root root 19408 Nov 17 10:21 postfix-mailman
-r-xr-x--- 1 root root 135360 Nov 17 10:21 postfix-poplockdb-clean
-r-xr-x--- 1 mhandlers-user popuser 65872 Nov 17 10:14 postfix-queue
-r-xr-x--- 1 root root 160224 Nov 17 10:20 postfix_conf_set

Brujo
 
i did a lot of tests and also cleaned my virtual.db, now when i create a new mailinglist i have automatically this aliases


but most of them didnt work if i send a mail to it i get this nice errors:
Dec 23 18:32:52 eagolit postfix/pipe[16964]: 8441281A0CA: to=<[email protected]>, relay=mailman, delay=3, delays=0.45/0/0/2.5, dsn=5.3.0, status=bounced (Command died with status 1: "/usr/lib64/plesk-9.0/postfix-mailman". Command output: join script, list not found: cerveza-subscribe )

i have no idea what else i can do, therefore any hint will be very helpfull
Brujo
 
i found out the following steps:
after create a mailinglist the aliases where created in virtual.db and seems to be ok
in the transport.db the aliases are mapped to mailman: which seems to be also fine.
in the master.cf there is also the entry for mailman
mailman unix - n n - - pipe flags=FR user=mailman:mailman argv=/usr/lib64/plesk-9.0/postfix-mailman ${nexthop} ${user} ${recipient}
so i finaly ended up at the postfix-mailman script from Plesk.

i have send a bugreport to Parallels, because i belive thats a bug in postfix-mailman!!

Brujo
 
it seems i found the issue but I have no idea how to fix!

mailman unix - n n - - pipe flags=FR user=mailman:mailman argv=/usr/lib64/plesk-9.0/postfix-mailman ${nexthop} ${user} ${recipient}

the issue is with ${user} as far as i understand and as described in the pipe manpage this should extract the list name but it dosent

Dec 28 17:22:09 eagolit postfix/pipe[3937]: 5578D81A0C5: to=<[email protected]>, relay=mailman, delay=0.81, delays=0.61/0.01/0/0.2, dsn=5.3.0, status=bounced (Command died with status 1: "/usr/lib64/plesk-9.0/postfix-mailman". Command output: mailcmd script, list not found: pulque-request )

man page of pipe
${user}
This macro expands to the username part of a recipient address. For example, with an address user+foo@domain the username part is user.

have anyone a hint for me

Brujo
 
I think i found the error and have a solution

Hi,

i've the same problem with postfix and mailman, and i think, i have an solution.

To understand what happens when you send a mail to the mailinglist you might be know the following:

(My system is Suse 10.3. Any path are for this system.)

Mailinglist-accounts (for list "sample" the accounts: "sample", "sample-request", "sample-owner", and so on) are stored in /var/spool/postfix/plesk/transport.db.
Mail to this accounts are directed to an plesk-mda (mail delivery agent) namend "postfix-mailman" by /etc/postfix/master.cf
postfix-mailman sends the mails and info about the mailinglist to the apro. mailman scripts in /usr/lib/mailman/scripts.
E.g. mail to sample-request is send to /usr/lib/mailman/scripts/request.
The mailman-scripts gets the Mail via stdin und needs the name of the list as parameter like "/usr/lib/mailman/scripts/request sample < [mail]".
Unfortunally postfix-mailman dosn't deliver the name of the mailinglist. It delivers the "e-Mail-account" (e.g. "sample-request" and not "sample"...)

My solution is to patch the mailman-scripts to handle this false parameters.

in:
/usr/lib/mailman/scripts/request/admin
/usr/lib/mailman/scripts/request/bounces
/usr/lib/mailman/scripts/request/confirm
/usr/lib/mailman/scripts/request/join
/usr/lib/mailman/scripts/request/leave
/usr/lib/mailman/scripts/request/owner
/usr/lib/mailman/scripts/request/request
/usr/lib/mailman/scripts/request/subscribe
/usr/lib/mailman/scripts/request/unsubscribe

near line 42 you find the script-lines
try:
listname = sys.argv[1]

"listname" in script confirm is "sample-confirm". The script now searches for a mailinglis sample-confirm, witch does not exist and fail.

you can add a line like the following in the scripts to workaround the postfix-mailman error.
if listname.endswith('-<scriptname>'): listname=listname[0:-<length of scriptname>]

This truncates the mailingliat-name from the variable "listname".

Following must be added after the line "listname = sys.argv[1]" in:

/usr/lib/mailman/scripts/request/admin
if listname.endswith('-admin'): listname=listname[0:-6]

/usr/lib/mailman/scripts/request/bounces
if listname.endswith('-bounces'): listname=listname[0:-8]

/usr/lib/mailman/scripts/request/confirm
if listname.endswith('-confirm'): listname=listname[0:-8]

/usr/lib/mailman/scripts/request/join
if listname.endswith('-join'): listname=listname[0:-5]

/usr/lib/mailman/scripts/request/leave
if listname.endswith('-leave'): listname=listname[0:-6]

/usr/lib/mailman/scripts/request/owner
if listname.endswith('-owner'): listname=listname[0:-6]

/usr/lib/mailman/scripts/request/request
if listname.endswith('-request'): listname=listname[0:-8]

/usr/lib/mailman/scripts/request/subscribe
if listname.endswith('-subscribe'): listname=listname[0:-10]

/usr/lib/mailman/scripts/request/unsubscribe
if listname.endswith('-unsubscribe'): listname=listname[0:-12]


All works fine for me, and if parallels give us a fix for postfix-mailman all works fine also without redo this patches.

Hope it helps. please let me know
 
i did my workaround in another way until a plesk fix will be out with a modifyed postfix-mailman. I just changed the entry in master.cf and do not use now the the postfix-mailman script from plesk insteed i use the postfix-to-mailman.py which works fine for me.

another alternatively might be to replace ${user} in the master.cf -> "${user}${extension?-}${extension}" but not tested yet....

Btw i have send this bug long time ago to paralles but without any response...
Brujo
 
Back
Top