Mailman problems after ISPConfig upgrade?

Discussion in 'ISPConfig 3 Priority Support' started by craig baker, Aug 22, 2017.

  1. craig baker

    craig baker Member HowtoForge Supporter

    Mailman has suddenly quit working and I'm getting errors when I try to email to the list:
    An error occurred!
    SMTP Error (550): Failed to add recipient "[email protected]" (5.1.1 <[email protected]>: Recipient address rejected: User unknown in virtual mailbox table).

    now /var/log/mailman shows NO activity to it seems to be a postfix misconfiguration - never handing the email off to mailman at all!
    in /etc/mailman I note
    --snip--
    ot mailman 41 Mar 5 2015 adm.pw
    -rw-rw---- 1 root mailman 2884 Jul 14 08:11 aliases
    -rw-rw---- 1 mailman mailman 12288 Jul 14 08:11 aliases.db
    -rw-r--r-- 1 root mailman 1431 Jul 14 08:30 boguslist
    lrwxrwxrwx 1 root mailman 34 Apr 8 20:11 mm_cfg.py -> /usr/lib/mailman/Mailman/mm_cfg.py
    -rw-r--r-- 1 root mailman 4491 Jul 14 07:58 mm_cfg.py~
    -rw-r--r-- 1 root mailman 14100 Mar 22 09:53 sitelist.cfg
    -rw-r--r-- 1 root mailman 1180 Jul 14 08:42 virtuallist
    -rw-rw---- 1 root mailman 0 Jul 14 08:11 virtual-mailman
    -rw-rw-r-- 1 mailman mailman 12288 Jul 22 08:42 virtual-mailman.db
    -rwxr-x--- 1 root mailman 152 May 11 2014 virtual_to_transport.sh
    -rw-r--r-- 1 root mailman 152 May 11 2014 virtual_to_transport.sh~
    --snip--
    the vritual-mailman file is empty, but virtual-mailman.db has information and a newer datestamp.

    from postfix log:
    Aug 22 08:34:25 ns9 postfix/smtpd[32358]: connect from ns9.cdbsystems.com[192.168.2.60]
    Aug 22 08:34:25 ns9 postfix/smtpd[32358]: NOQUEUE: filter: RCPT from ns9.cdbsystems.com[192.168.2.60]: <[email protected]>: Sender address triggers FILTER amavis:[127.0.0.1]:10026; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<cdbsystems.com>
    Aug 22 08:34:25 ns9 postfix/smtpd[32358]: NOQUEUE: reject: RCPT from ns9.cdbsystems.com[192.168.2.60]: 550 5.1.1 <[email protected]>: Recipient address rejected: User unknown in virtual mailbox table; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<cdbsystems.com>

    [email protected] should trigger the mailman to email to the list!
    end of postfix main.cf file
    --snip--

    # readme_directory: The location of the Postfix README files.
    #
    readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
    virtual_alias_domains =
    virtual_alias_maps = hash:/etc/mailman/virtual-mailman, proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, proxy:mysql:/etc/postfix/mysql-virtual_email2email.cf
    virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
    virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
    virtual_mailbox_base = /var/vmail
    virtual_uid_maps = mysql:/etc/postfix/mysql-virtual_uids.cf
    virtual_gid_maps = mysql:/etc/postfix/mysql-virtual_gids.cf
    smtpd_sasl_auth_enable = yes
    broken_sasl_auth_clients = yes
    smtpd_sasl_authenticated_header = yes
    smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, check_recipient_access mysql:/etc/postfix/mysql-virtual_policy_greylist.cf
    smtpd_use_tls = yes
    smtpd_tls_security_level = may
    smtpd_tls_cert_file = /etc/postfix/smtpd.cert
    smtpd_tls_key_file = /etc/postfix/smtpd.key
    transport_maps = hash:/var/lib/mailman/data/transport-mailman, proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
    relay_domains = mysql:/etc/postfix/mysql-virtual_relaydomains.cf
    relay_recipient_maps = mysql:/etc/postfix/mysql-virtual_relayrecipientmaps.cf
    proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $sender_bcc_maps $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps
    smtpd_sender_restrictions = check_sender_access regexp:/etc/postfix/tag_as_originating.re , permit_mynetworks, permit_sasl_authenticated, check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf, check_sender_access regexp:/etc/postfix/tag_as_foreign.re
    smtpd_client_restrictions = check_client_access mysql:/etc/postfix/mysql-virtual_client.cf
    maildrop_destination_concurrency_limit = 1
    maildrop_destination_recipient_limit = 1
    virtual_transport = dovecot
    header_checks = regexp:/etc/postfix/header_checks
    mime_header_checks = regexp:/etc/postfix/mime_header_checks
    nested_header_checks = regexp:/etc/postfix/nested_header_checks
    body_checks = regexp:/etc/postfix/body_checks
    myhostname = ns9.cdbsystems.com
    mynetworks = 127.0.0.0/8 [::1]/128
    dovecot_destination_recipient_limit = 1
    smtpd_sasl_type = dovecot
    smtpd_sasl_path = private/auth
    receive_override_options = no_address_mappings
    content_filter = amavis:[127.0.0.1]:10024
    relayhost =
    mailbox_size_limit = 0
    message_size_limit = 0
    smtpd_client_message_rate_limit = 100
    smtp_tls_security_level = may
    smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
    smtpd_tls_protocols = !SSLv2,!SSLv3
    smtp_tls_protocols = !SSLv2,!SSLv3
    smtpd_helo_required = yes
    smtpd_helo_restrictions = permit_sasl_authenticated, permit_mynetworks, check_helo_access regexp:/etc/postfix/helo_access, reject_invalid_hostname, reject_non_fqdn_hostname, reject_invalid_helo_hostname, reject_unknown_helo_hostname, check_helo_access regexp:/etc/postfix/blacklist_helo
    sender_bcc_maps = proxy:mysql:/etc/postfix/mysql-virtual_outgoing_bcc.cf
    smtpd_restriction_classes = greylisting
    greylisting = check_policy_service inet:127.0.0.1:10023
    smtpd_sender_login_maps = proxy:mysql:/etc/postfix/mysql-virtual_sender_login_maps.cf
    smtpd_tls_exclude_ciphers = RC4, aNULL
    smtp_tls_exclude_ciphers = RC4, aNULL
    --snip--

    any ideas whats going on?? or where next to look?
     
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    I did not had that issue yet. From which old ISPConfig version to which new version did you update?
     
  3. craig baker

    craig baker Member HowtoForge Supporter

    it may be unrelated to the upgrade. I also added one new list (for testing) with ISPCONFIG. and I only send out to the list once a month so whatever messed it up may have happened quite a while ago...

    can you walk me through troubleshooting this?
    in mm_cfg.py i have default_email_host as my server (
    # Default domain for email addresses of newly created MLs
    DEFAULT_EMAIL_HOST = 'ns9.cdbsystems.com'
    #-------------------------------------------------------------
    # Default host for web interface of newly created MLs
    DEFAULT_URL_HOST = 'ns9.cdbsystems.com'
    #------------------------------------------
    then at the bottom:
    MTA='Postfix'
    POSTFIX_STYLE_VIRTUAL_DOMAINS = ['theeldestgeek.com']
    #-------------------------------------------------------------
    # Uncomment if you want to filter mail with SpamAssassin. For
    # more information please visit this website:
    # http://www.jamesh.id.au/articles/mailman-spamassassin/
    # GLOBAL_PIPELINE.insert(1, 'SpamAssassin')

    POSTFIX_MAP_CMD = '/etc/mailman/virtual_to_transport.sh'

    do I need the POSTFIX STYLE VIRTUAL DOMAINS? my lists
    are all of form xxx.theeldestgeek.com so thats why I put this entry.
    but does it need to be list1.theeldestgeek.com, list2.theeldestgeek.com or entries like this?

    end of postfix main.cf:
    --snip--
    readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
    virtual_alias_domains =
    virtual_alias_maps = hash:/etc/mailman/virtual-mailman, proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, proxy:mysql:/etc/postfix/mysql-virtual_email2email.cf
    virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
    virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
    virtual_mailbox_base = /var/vmail
    virtual_uid_maps = mysql:/etc/postfix/mysql-virtual_uids.cf
    virtual_gid_maps = mysql:/etc/postfix/mysql-virtual_gids.cf
    smtpd_sasl_auth_enable = yes
    broken_sasl_auth_clients = yes
    smtpd_sasl_authenticated_header = yes
    smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, check_recipient_access mysql:/etc/postfix/mysql-virtual_policy_greylist.cf
    smtpd_use_tls = yes
    smtpd_tls_security_level = may
    smtpd_tls_cert_file = /etc/postfix/smtpd.cert
    smtpd_tls_key_file = /etc/postfix/smtpd.key
    transport_maps = hash:/var/lib/mailman/data/transport-mailman, proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
    relay_domains = mysql:/etc/postfix/mysql-virtual_relaydomains.cf
    relay_recipient_maps = mysql:/etc/postfix/mysql-virtual_relayrecipientmaps.cf
    proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $sender_bcc_maps $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps
    smtpd_sender_restrictions = check_sender_access regexp:/etc/postfix/tag_as_originating.re , permit_mynetworks, permit_sasl_authenticated, check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf, check_sender_access regexp:/etc/postfix/tag_as_foreign.re
    smtpd_client_restrictions = check_client_access mysql:/etc/postfix/mysql-virtual_client.cf
    maildrop_destination_concurrency_limit = 1
    maildrop_destination_recipient_limit = 1
    virtual_transport = dovecot
    header_checks = regexp:/etc/postfix/header_checks
    mime_header_checks = regexp:/etc/postfix/mime_header_checks
    nested_header_checks = regexp:/etc/postfix/nested_header_checks
    body_checks = regexp:/etc/postfix/body_checks
    myhostname = ns9.cdbsystems.com
    mynetworks = 127.0.0.0/8 [::1]/128
    dovecot_destination_recipient_limit = 1
    smtpd_sasl_type = dovecot
    smtpd_sasl_path = private/auth
    receive_override_options = no_address_mappings
    content_filter = amavis:[127.0.0.1]:10024
    relayhost =
    mailbox_size_limit = 0
    message_size_limit = 0
    smtpd_client_message_rate_limit = 100
    smtp_tls_security_level = may
    smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
    smtpd_tls_protocols = !SSLv2,!SSLv3
    smtp_tls_protocols = !SSLv2,!SSLv3
    smtpd_helo_required = yes
    smtpd_helo_restrictions = permit_sasl_authenticated, permit_mynetworks, check_helo_access regexp:/etc/postfix/helo_access, reject_invalid_hostname, reject_non_fqdn_hostname, reject_invalid_helo_hostname, reject_unknown_helo_hostname, check_helo_access regexp:/etc/postfix/blacklist_helo
    sender_bcc_maps = proxy:mysql:/etc/postfix/mysql-virtual_outgoing_bcc.cf
    smtpd_restriction_classes = greylisting
    greylisting = check_policy_service inet:127.0.0.1:10023
    smtpd_sender_login_maps = proxy:mysql:/etc/postfix/mysql-virtual_sender_login_maps.cf
    smtpd_tls_exclude_ciphers = RC4, aNULL
    smtp_tls_exclude_ciphers = RC4, aNULL
    --snip--

    as I noted virtual_mailman is length 0 (empty) but virtual_mailman.db is not empty.
    and we have aliases and aliases.db in the folder /etc/mailman:
    --snip--
    # This file is generated by Mailman, and is kept in sync with the
    # binary hash file aliases.db. YOU SHOULD NOT MANUALLY EDIT THIS FILE
    # unless you know what you're doing, and can keep the two files properly
    # in sync. If you screw it up, you're on your own.

    # The ultimate loop stopper address
    mailman-loop: /var/lib/mailman/data/owner-bounces.mbox

    # STANZA START: theeldestgeek
    # CREATED: Fri Jul 14 08:11:13 2017
    theeldestgeek: "|/usr/lib/mailman/mail/mailman post theeldestgeek"
    theeldestgeek-admin: "|/usr/lib/mailman/mail/mailman admin theeldestgeek"
    theeldestgeek-bounces: "|/usr/lib/mailman/mail/mailman bounces theeldestgeek"
    theeldestgeek-confirm: "|/usr/lib/mailman/mail/mailman confirm theeldestgeek"
    theeldestgeek-join: "|/usr/lib/mailman/mail/mailman join theeldestgeek"
    theeldestgeek-leave: "|/usr/lib/mailman/mail/mailman leave theeldestgeek"
    theeldestgeek-owner: "|/usr/lib/mailman/mail/mailman owner theeldestgeek"
    theeldestgeek-request: "|/usr/lib/mailman/mail/mailman request theeldestgeek"
    theeldestgeek-subscribe: "|/usr/lib/mailman/mail/mailman subscribe theeldestgeek"
    theeldestgeek-unsubscribe: "|/usr/lib/mailman/mail/mailman unsubscribe theeldestgeek"
    # STANZA END: theeldestgeek

    # STANZA START: mailman
    # CREATED: Fri Jul 14 08:11:15 2017
    mailman: "|/usr/lib/mailman/mail/mailman post mailman"
    mailman-admin: "|/usr/lib/mailman/mail/mailman admin mailman"
    mailman-bounces: "|/usr/lib/mailman/mail/mailman bounces mailman"
    mailman-confirm: "|/usr/lib/mailman/mail/mailman confirm mailman"
    mailman-join: "|/usr/lib/mailman/mail/mailman join mailman"
    mailman-leave: "|/usr/lib/mailman/mail/mailman leave mailman"
    mailman-owner: "|/usr/lib/mailman/mail/mailman owner mailman"
    mailman-request: "|/usr/lib/mailman/mail/mailman request mailman"
    mailman-subscribe: "|/usr/lib/mailman/mail/mailman subscribe mailman"
    mailman-unsubscribe: "|/usr/lib/mailman/mail/mailman unsubscribe mailman"
    # STANZA END: mailman

    # STANZA START: macmenders
    # CREATED: Fri Jul 14 08:11:16 2017
    macmenders: "|/usr/lib/mailman/mail/mailman post macmenders"
    macmenders-admin: "|/usr/lib/mailman/mail/mailman admin macmenders"
    macmenders-bounces: "|/usr/lib/mailman/mail/mailman bounces macmenders"
    macmenders-confirm: "|/usr/lib/mailman/mail/mailman confirm macmenders"
    macmenders-join: "|/usr/lib/mailman/mail/mailman join macmenders"
    macmenders-leave: "|/usr/lib/mailman/mail/mailman leave macmenders"
    macmenders-owner: "|/usr/lib/mailman/mail/mailman owner macmenders"
    macmenders-request: "|/usr/lib/mailman/mail/mailman request macmenders"
    macmenders-subscribe: "|/usr/lib/mailman/mail/mailman subscribe macmenders"
    macmenders-unsubscribe: "|/usr/lib/mailman/mail/mailman unsubscribe macmenders"
    # STANZA END: macmenders
    --snip--

    mailing anything to [email protected] (or [email protected]) is whats provides the instant 550 error.

    any observations?


    --snip--
     
  4. till

    till Super Moderator Staff Member ISPConfig Developer

    I don't use mailman and I have not developed the mailman functions in ISPConfig, so not sure if I can help you with that in detail. What you might try first is adding a new mailinglist, does not matter much what you add as it is just a dummy list to force ISPConfig to write out the config files again. Then test if your original list is working again. The dummy list can be deleted again then as it is just a way to trigger that the config files for mailman get rewritten.
     
  5. craig baker

    craig baker Member HowtoForge Supporter

    Ok i think ive identified most of the problem
    In /etc/mailman we have an aliases and a virtual-mailman file
    When i added a new list zzz i see its stanza is added to both files but the second file contains ONLY the new list!
    I manually added appropriate stanzas to the second file and postmapped it
    Now the old lists seem to work but oddly the NEW list is NOT shown by the xxx.com/cgi-bin/mailman/listinfo page only the older lists,are shown!
    However if i access zzz directly
    Xxx.com/cgi-bin/mailman/zzz/admin (sp?) I get the new list admin page

    Clearly whatever else is going on ispconfig3 is not correctly updating the list-of-lists database!
    Another question if i delete a list record is that list database deleted? I dont want to lose the current memberlists
     
  6. till

    till Super Moderator Staff Member ISPConfig Developer

    I've tested it here on Debian 9 and when I add two mailinglists, then both mailinglists are listed in the aliases and virtual-mailman file.

    Yes, as far as I know.
     

Share This Page