Hello, I'm running a CentOS 5.4 machine and atempting to get postfix and mailman going on it. This was working prior to a complete system upgrade about 9 months ago, now it isn't, I'm getting an error 554 user unknown message when the user atempts to send back the confirmation email to join the mailing list in this case a test list called test4. I'm running postfix 2.3.3 and mailman 2.1.9 installed from rpms. I've got a virtual mailbox domain called for this purpose example.com which is working fine. I decided to have a separate domain called lists.example.com for mailman, when the error 554 comes in instead of being test4-requ...@lists.example.com which would work the address is test4-requ...@example.com which is nonexistent. How can i get this to work, I think this is something simple, but two days and i'm not seeing it. My config is below. Thanks. Dave.
main.cf: address_verify_map = btree:/var/spool/postfix/verified_senders alias_database = hash:/etc/postfix/aliases alias_maps = hash:/etc/postfix/aliases, hash:/etc/mailman/aliases biff = no body_checks = regexp:/etc/postfix/body_checks bounce_template_file = /etc/postfix/bounce.cf broken_sasl_auth_clients = yes command_directory = /usr/sbin config_directory = /etc/postfix content_filter = amavis:[127.0.0.1]:10024 daemon_directory = /usr/libexec/postfix delay_warning_time = 4h disable_vrfy_command = yes header_checks = regexp:/etc/postfix/header_checks home_mailbox = Maildir/ html_directory = no inet_interfaces = 127.0.0.1, xxx.xxx.xxx.xxx invalid_hostname_reject_code = 554 mail_owner = postfix mailbox_size_limit = 104857600 mailq_path = /usr/bin/mailq.postfix manpage_directory = /usr/share/man message_size_limit = 20971520 mime_header_checks = regexp:/etc/postfix/mime_header_checks multi_recipient_bounce_reject_code = 554 mydestination = localhost mydomain = example.com myhostname = mail.example.com mynetworks = 127.0.0.0/8, xxx.xxx.xxx.xxx/32 myorigin = $mydomain newaliases_path = /usr/bin/newaliases.postfix non_fqdn_reject_code = 554 owner_request_special = no queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES receive_override_options = no_address_mappings recipient_delimiter = + sample_directory = /usr/share/doc/postfix-2.3.3/samples sendmail_path = /usr/sbin/sendmail.postfix setgid_group = postdrop show_user_unknown_table_name = yes smtp_helo_timeout = 60s smtp_tls_CAfile = /etc/postfix/ssl/ca-bundle.crt smtp_tls_cert_file = /etc/postfix/ssl/smtp.crt smtp_tls_key_file = /etc/postfix/ssl/smtp.key smtp_tls_note_starttls_offer = yes smtp_tls_session_cache_database = btree:/var/spool/postfix/smtp_tls_cache smtp_use_tls = yes smtpd_banner = $myhostname ESMTP smtpd_data_restrictions = reject_unauth_pipelining smtpd_helo_required = yes smtpd_recipient_restrictions = permit_sasl_authenticated permit_mynetworks reject_unauth_destination reject_non_fqdn_hostname reject_invalid_hostname reject_non_fqdn_sender reject_non_fqdn_recipient reject_unknown_sender_domain reject_unknown_recipient_domain reject_unverified_recipient reject_multi_recipient_bounce check_client_access cidr:/etc/postfix/sinokorea.cidr check_helo_access pcre:/etc/postfix/helo_checks.pcre check_helo_access hash:/etc/postfix/helo_checks check_recipient_access pcre:/etc/postfix/recipient_checks.pcre check_sender_mx_access cidr:/etc/postfix/bogus_mx check_sender_access hash:/etc/postfix/common_spam_senderdomain check_sender_access regexp:/etc/postfix/common_spam_senderdomain_keywords check_sender_access hash:/etc/postfix/freemail_access, check_sender_access hash:/etc/postfix/greylist check_client_access hash:/etc/postfix/client_checks, reject_rbl_client zen.spamhaus.org, reject_rbl_client black.uribl.com, reject_rbl_client combined.rbl.msrbl.net, reject_rhsbl_sender dsn.rfc-ignorant.org smtpd_restriction_classes = from_freemail_host, greylist, smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = smtpd_sasl_path = private/auth smtpd_sasl_security_options = noanonymous smtpd_sasl_type = dovecot smtpd_tls_CAfile = /etc/postfix/ssl/ca-bundle.crt smtpd_tls_auth_only = yes smtpd_tls_cert_file = /etc/postfix/ssl/smtp.crt smtpd_tls_key_file = /etc/postfix/ssl/smtp.key smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_security_level = may smtpd_tls_session_cache_database = btree:/var/spool/postfix/smtpd_tls_cache smtpd_tls_session_cache_timeout = 3600s strict_rfc821_envelopes = yes tls_random_source = dev:/dev/urandom unknown_address_reject_code = 554 unknown_client_reject_code = 554 unknown_hostname_reject_code = 554 unknown_local_recipient_reject_code = 550 unknown_relay_recipient_reject_code = 554 unknown_virtual_alias_reject_code = 554 unknown_virtual_mailbox_reject_code = 554 unverified_recipient_reject_code = 554 unverified_sender_reject_code = 554 virtual_alias_domains = lists.$mydomain virtual_alias_maps = hash:/etc/mailman/virtual-mailman virtual_gid_maps = static:5000 virtual_mailbox_base = /home/vmail virtual_mailbox_domains = /etc/postfix/vhosts virtual_mailbox_maps = hash:/etc/postfix/vmaps virtual_minimum_uid = 1000 virtual_uid_maps = static:5000 master.cf: smtp inet n - y - - smtpd #submission inet n - y - - smtpd # -o smtpd_enforce_tls=yes # -o smtpd_sasl_auth_enable=yes # -o smtpd_client_restrictions=permit_sasl_authenticated,reject smtps inet n - y - - smtpd -o smtpd_tls_wrappermode=yes # -o smtpd_sasl_auth_enable=yes # -o smtpd_client_restrictions=permit_sasl_authenticated,reject #628 inet n - y - - qmqpd # standard pickup #pickup fifo n - y 60 1 pickup #This pickup will make sure that local messages (such as ones originating from the server #itself by Cron, and are sent to root) are not subjected to content filtering, or any header checks. pickup fifo n - y 60 1 pickup -o content_filter= -o receive_override_options=no_header_body_checks cleanup unix n - y - 0 cleanup qmgr fifo n - y 300 1 qmgr #qmgr fifo n - y 300 1 oqmgr tlsmgr unix - - y 1000? 1 tlsmgr rewrite unix - - y - - trivial-rewrite bounce unix - - y - 0 bounce defer unix - - y - 0 bounce trace unix - - y - 0 bounce verify unix - - y - 1 verify flush unix n - y 1000? 0 flush proxymap unix - - y - - proxymap smtp unix - - y - - smtp # When relaying mail as backup MX, disable fallback_relay to avoid MX loops relay unix - - y - - smtp -o fallback_relay= # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 showq unix n - y - - showq error unix - - y - - error discard unix - - y - - discard local unix - n n - - local virtual unix - n n - - virtual lmtp unix - - y - - lmtp anvil unix - - y - 1 anvil scache unix - - y - 1 scache # spf support #spfpolicy unix - n n - - spawn user=nobody argv=/usr/bin/perl /etc/postfix/postfix-policyd-spf-perl # amavisd filter amavis unix - - y - 2 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o disable_mime_output_conversion=yes -o smtp_generic_maps= -o disable_dns_lookups=yes 127.0.0.1:10025 inet n - y - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o smtpd_authorized_xforward_hosts=127.0.0.0/8 -o strict_rfc821_envelopes=yes -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks,no_milters -o smtpd_bind_address=127.0.0.1 #Mailman mailing list manager #mailman unix - n n - - pipe #flags=FR user=mailman:mailman #argv=/usr/lib/mailman/postfix-to-mailman.py ${nexthop} ${user} /etc/mailman/aliases: # 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: mailman # CREATED: Sun Mar 14 19:40:30 2010 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: test4 # CREATED: Sun Mar 14 20:45:53 2010 test4: "|/usr/lib/mailman/mail/mailman post test4" test4-admin: "|/usr/lib/mailman/mail/mailman admin test4" test4-bounces: "|/usr/lib/mailman/mail/mailman bounces test4" test4-confirm: "|/usr/lib/mailman/mail/mailman confirm test4" test4-join: "|/usr/lib/mailman/mail/mailman join test4" test4-leave: "|/usr/lib/mailman/mail/mailman leave test4" test4-owner: "|/usr/lib/mailman/mail/mailman owner test4" test4-request: "|/usr/lib/mailman/mail/mailman request test4" test4-subscribe: "|/usr/lib/mailman/mail/mailman subscribe test4" test4-unsubscribe: "|/usr/lib/mailman/mail/mailman unsubscribe test4" # STANZA END: test4 /etc/mailman/virtual-mailman: # This file is generated by Mailman, and is kept in sync with the binary hash # file virtual-mailman.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. # # Note that you should already have this virtual domain set up properly in # your Postfix installation. See README.POSTFIX for details. # LOOP ADDRESSES START mailman-l...@lists.example.com mailman-loop # LOOP ADDRESSES END # STANZA START: test4 # CREATED: Sun Mar 14 20:45:53 2010 te...@lists.example.com test4 test4-ad...@lists.example.com test4-admin test4-boun...@lists.example.com test4-bounces test4-conf...@lists.example.com test4-confirm test4-j...@lists.example.com test4-join test4-le...@lists.example.com test4-leave test4-ow...@lists.example.com test4-owner test4-requ...@lists.example.com test4-request test4-subscr...@lists.example.com test4-subscribe test4-unsubscr...@lists.example.com test4-unsubscribe # STANZA END: test4 Portions of mm_cfg.py: DEFAULT_URL_HOST = 'lists.example.com' DEFAULT_EMAIL_HOST = 'lists.example.com' # Because we've overriden the virtual hosts above add_virtualhost # MUST be called after they have been defined. add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST) MTA = 'Postfix' POSTFIX_STYLE_VIRTUAL_DOMAINS = 'lists.example.com'