On 10/31/10 4:56 PM, David Newman wrote: > On 10/31/10 9:09 AM, Mark Sapiro wrote: >> >> What exactly does the Postfix log (maillog) say about the delivery to >> one of these addresses? > > > maillog says status is "sent" to all list subscribers. The test list, > called "s", has one subscriber in domain1.tld on this server (who got > the initial welcome to this list message from Mailman but not any > messages) and one subscriber in another domain somewhere else (who gets > all messages. > > Again, postfix tells the maillog that a message sent to the list address > is "status=sent" to both subscribers.
And what is the rest of the information in those log messages, i.e. the remainder of the sent= and the relay= for example. Please post the entire log line. >> >> >>> I've followed the setup instructions here, doing section 6.1.2 before >>> 6.1.1 (given the link about doing virtual stuff first): >>> >>> http://mailman.sourceforge.net/mailman-install/postfix-virtual.html >>> http://mailman.sourceforge.net/mailman-install/postfix-integration.html >> >> >> This normally only affects delivery TO a list in a virtual domain. If >> done properly, it should not affect delivery to any non-list address >> in the virtual domains. > > Sorry if I was unclear. Mail delivery to and from non-list addresses in > virtual domains on this server works fine. The only messages that are > not being delivered are those to a subscriber in domain1.tld on this > server. (I haven't yet tried subscribing anyone in domain2.tld or > domain3.tld.) You were clear. I was only trying to say that those Postfix configurations only affect mail TO mailman. They don't affect the issue you are asking about. >>> I've pasted the config files below. >>> >>> Thanks in advance for clues on getting Mailman to deliver to virtual >>> addresses on this server. >> >> >> This is almost certainly a Postfix issue rather than a Mailman issue. >> If there is nothing in Mailman's smtp-failure log, Mailman has >> delivered the message whith the local virtual recipients included to >> Postfix and Postfix has accepted it. >> >> See additional comments inline below. >> >> >>> server hostname: >>> mail.domain1.tld >>> >>> virtual domains: >>> domain1.tld # (not its real name!) >>> domain2.tld >>> domain3.tld > > Just to clarify: domain1.tld is not virtual, in the sense that the > server's canonical hostname is mail.domain1.tld. However, addresses > defined in this domain are virtual -- these users do not have local > accounts on this server. Again, non-list mail to and from these users > works as expected. > > >>> >>> ----- >>> >> >from /etc/postfix/main.cf: >>> >>> .. >>> >>> myhostname = mail.domain1.tld >>> mydomain = domain1.tld >>> mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain >>> >>> .. >>> >>> alias_maps = hash:/etc/mail/aliases, hash:/usr/local/mailman/data/aliases >>> >>> virtual_alias_maps = >>> proxy:mysql:/etc/postfix/sql/forwardings.cf >>> proxy:mysql:/etc/postfix/sql/email2email.cf >>> hash:/usr/local/mailman/data/domain1-tld >>> hash:/usr/local/mailman/data/virtual-mailman >> >> >> Full output from "postconf -n" might help. > > Here you go: > > alias_database = hash:/etc/mail/aliases > alias_maps = hash:/etc/mail/aliases, hash:/usr/local/mailman/data/aliases > command_directory = /usr/local/sbin > config_directory = /etc/postfix > daemon_directory = /usr/local/libexec/postfix > header_checks = pcre:/etc/postfix/header_checks.pcre > mail_owner = _postfix > mailq_path = /usr/local/sbin/mailq > manpage_directory = /usr/local/man > message_size_limit = 27962027 > milter_connect_macros = j {daemon_name} v _ > milter_default_action = tempfail > milter_header_checks = pcre:/etc/postfix/milter_header_checks > mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain > mydomain = domain1.tld > myhostname = mail.domain1.tld > mynetworks = 127.0.0.0/8 > newaliases_path = /usr/bin/newaliases > proxy_read_maps = proxy:mysql:/etc/postfix/sql/routing.cf > proxy:mysql:/etc/postfix/sql/domains.cf > proxy:mysql:/etc/postfix/sql/mailboxes.cf > proxy:mysql:/etc/postfix/sql/user.cf > proxy:mysql:/etc/postfix/sql/group.cf > proxy:mysql:/etc/postfix/sql/forwardings.cf > proxy:mysql:/etc/postfix/sql/email2email.cf proxy:unix:passwd.byname > unix:passwd.byname > queue_directory = /var/spool/postfix > readme_directory = /usr/local/share/doc/postfix/readme > recipient_delimiter = + > relay_domains = proxy:mysql:/etc/postfix/sql/routing.cf > sample_directory = /etc/postfix > sendmail_path = /usr/local/sbin/sendmail > setgid_group = _postdrop > smtp_tls_cert_file = /etc/ssl/server.crt > smtp_tls_key_file = /etc/ssl/private/server.key > smtp_tls_security_level = may > smtpd_delay_reject = yes > smtpd_helo_required = yes > smtpd_milters = unix:/tmp/clamav-milter.sock > smtpd_recipient_restrictions = permit_mynetworks, > permit_sasl_authenticated, reject_unauth_destination, > reject_unauth_pipelining, reject_invalid_hostname, > reject_unknown_sender_domain, reject_unknown_recipient_domain, > reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_rbl_client > zen.spamhaus.org > smtpd_sasl_auth_enable = yes > smtpd_sasl_local_domain = > smtpd_sasl_security_options = noanonymous > smtpd_tls_auth_only = yes > smtpd_tls_cert_file = /etc/ssl/server.crt > smtpd_tls_key_file = /etc/ssl/private/server.key > smtpd_tls_received_header = yes > smtpd_tls_security_level = may > smtpd_use_tls = yes > strict_rfc821_envelopes = yes > transport_maps = proxy:mysql:/etc/postfix/sql/routing.cf > unknown_local_recipient_reject_code = 550 > virtual_alias_domains = Here you want virtual_alias_domains = domain2.tld, domain3.tld > virtual_alias_maps = proxy:mysql:/etc/postfix/sql/forwardings.cf > proxy:mysql:/etc/postfix/sql/email2email.cf > hash:/usr/local/mailman/data/domain1.tld and remove the above which may possibly fix your problem. > hash:/usr/local/mailman/data/virtual-mailman > virtual_gid_maps = proxy:mysql:/etc/postfix/sql/group.cf > virtual_mailbox_domains = proxy:mysql:/etc/postfix/sql/domains.cf > virtual_mailbox_maps = proxy:mysql:/etc/postfix/sql/mailboxes.cf > virtual_minimum_uid = 1000 > virtual_transport = dovecot > virtual_uid_maps = proxy:mysql:/etc/postfix/sql/user.cf > > >> >> >>> ----- >>> >> >from /usr/local/mailman/Mailman/mm_cfg.py: >>> >>> MTA = 'Postfix' >>> MAILMAN_SITE_LIST = 'mailman' >>> DEFAULT_EMAIL_HOST = 'domain1.tld' >>> DEFAULT_URL_HOST = 'mail.domain1.tld' >>> DEFAULT_URL_PATTERN = 'https://%s/mailman/' >>> PUBLIC_ARCHIVE_URL = 'https://%(hostname)s/pipermail/%(listname)s' >>> IMAGE_LOGOS = '/icons/' >>> POSTFIX_ALIAS_CMD = '/usr/local/sbin/postalias' >>> POSTFIX_MAP_CMD = '/usr/local/sbin/postmap' >>> POSTFIX_STYLE_VIRTUAL_DOMAINS = [ 'domain2.tld', 'domain3.tld' ] >>> # Clear the Defaults.py VIRTUAL_HOSTS entry >>> VIRTUAL_HOSTS.clear() >>> add_virtualhost('DEFAULT_EMAIL_HOST', 'DEFAULT_URL_HOST') >> >> >> The above is backwards. It should be >> >> add_virtualhost('DEFAULT_URL_HOST', 'DEFAULT_EMAIL_HOST') >> >> >>> add_virtualhost('domain2.tld', 'domain2.tld') >>> add_virtualhost('domain3.tld', 'domain3.tld') >> >> >> However, nothing here affects delivery of mail FROM mailman. >> > > OK > >> >>> ----- >>> >>> /usr/local/mailman/data/aliases >>> >>> >>> # The ultimate loop stopper address >>> mailman-loop: /usr/local/mailman/data/owner-bounces.mbox >>> >>> # STANZA START: mailman >>> # CREATED: Sat Oct 30 11:23:37 2010 >>> mailman: "|/usr/local/mailman/mail/mailman post mailman" >>> mailman-admin: "|/usr/local/mailman/mail/mailman admin mailman" >>> mailman-bounces: "|/usr/local/mailman/mail/mailman bounces mailman" >>> mailman-confirm: "|/usr/local/mailman/mail/mailman confirm mailman" >>> mailman-join: "|/usr/local/mailman/mail/mailman join mailman" >>> mailman-leave: "|/usr/local/mailman/mail/mailman leave mailman" >>> mailman-owner: "|/usr/local/mailman/mail/mailman owner mailman" >>> mailman-request: "|/usr/local/mailman/mail/mailman request mailman" >>> mailman-subscribe: "|/usr/local/mailman/mail/mailman subscribe mailman" >>> mailman-unsubscribe: "|/usr/local/mailman/mail/mailman unsubscribe mailman" >>> # STANZA END: mailman >>> >>> # STANZA START: s >>> # CREATED: Sat Oct 30 11:35:12 2010 >>> s: "|/usr/local/mailman/mail/mailman post s" >>> s-admin: "|/usr/local/mailman/mail/mailman admin s" >>> s-bounces: "|/usr/local/mailman/mail/mailman bounces s" >>> s-confirm: "|/usr/local/mailman/mail/mailman confirm s" >>> s-join: "|/usr/local/mailman/mail/mailman join s" >>> s-leave: "|/usr/local/mailman/mail/mailman leave s" >>> s-owner: "|/usr/local/mailman/mail/mailman owner s" >>> s-request: "|/usr/local/mailman/mail/mailman request s" >>> s-subscribe: "|/usr/local/mailman/mail/mailman subscribe s" >>> s-unsubscribe: "|/usr/local/mailman/mail/mailman unsubscribe s" >>> # STANZA END: s >> >> >> Likewise, the aliases above only affect delivery TO the mailman and s >> lists. > > OK > >> >> >>> ----- >>> >>> /usr/local/etc/mailman/data/domain1-tld: >>> >>> domain1.tld IGNORE >>> @domain1.tld @mail.domain1.tld >> >> >> This file and its reference in virtual_alias_maps is conflicting as >> this says domain1.tld is a virtual alias domain and its presence in >> mydestination says it's not. Also, this is obsolete in Postfix. The >> current method of specifying to postfix that a domain is a virtual >> alias domain is to list it in virtual_alias_domains in main.cf. > > This came from section 6.1.2 of the Mailman docs on integration with > postfix. This, along with the part at the top of section 6.1.1 saying to > do this stuff first, is perhaps the most confusing part of the Mailman > docs. If this method is obsolete in Postfix, it's time to revise these > docs (and as a sometime tech writer I volunteer to help once I > understand this). > > Just double-checking: I think you're saying to treat domain1.tld as a > virtual alias domain. True? No. I'm saying domain1.tld is not currently treated as a virtual domain in Postfix except for the above file and its reference in virtual_alias_maps. I think both the ile and the reference should be removed. > If so I think the changes to do this would be: > > 1. in main.cf, delete the myhostname and mydomain lines ((not sure these > are strictly needed given that postfix gets these anyway from > gethostbyname() )) > > 2. in main.cf, remove $mydomain from $mydestination I think you should leave the above as is. > 3. in main.cf, delete '/usr/local/etc/mailman/data/domain1-tld' from > virtual_alias_maps As I said above, I think you should do this. >> >> >>> ----- >>> >>> /usr/local/mailman/data/virtual-mailman: >>> >>> # LOOP ADDRESSES START >>> mailman-l...@domain1.tld mailman-loop >>> # LOOP ADDRESSES END >>> >>> # STANZA START: s >>> # CREATED: Sat Oct 30 11:35:12 2010 >>> s...@domain1.tld s >>> s-ad...@domain1.tld s-admin >>> s-boun...@domain1.tld s-bounces >>> s-conf...@domain1.tld s-confirm >>> s-j...@domain1.tld s-join >>> s-le...@domain1.tld s-leave >>> s-ow...@domain1.tld s-owner >>> s-requ...@domain1.tld s-request >>> s-subscr...@domain1.tld s-subscribe >>> s-unsubscr...@domain1.tld s-unsubscribe >>> # STANZA END: s >> >> >> And this virtual mapping only affects delivery to the s...@domain1.tld >> list and it's associated admin addresses, but since domain1.tld is not >> in POSTFIX_STYLE_VIRTUAL_DOMAINS (which is correct because it is in >> main.cf mydestination which makes it a postfix local domain), why is >> this list in virtual-mailman at all. > > Clearly I'm confused as to whether domain1.tld should or should not be > defined as a virtual domain. The Mailman docs on postfix integration say > no, but I think you're saying to treat it as a virtual domain. No, I'm saying it's not a virtual domain and should not be treated as such. I'm also asking how the above virtual-mailman got created with entries for s...@domain1.tld when domain1.tld is not in POSTFIX_STYLE_VIRTUAL_DOMAINS in the first place? Also, it appears you are taking <http://mailman.sourceforge.net/mailman-install/postfix-virtual.html> much too literally. That section describes a complicated situation which is not typically encountered in practice. And yes, it should probably be heavily revised. -- Mark Sapiro <m...@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California Better use your sense - B. Dylan ------------------------------------------------------ Mailman-Users mailing list Mailman-Users@python.org http://mail.python.org/mailman/listinfo/mailman-users Mailman FAQ: http://wiki.list.org/x/AgA3 Security Policy: http://wiki.list.org/x/QIA9 Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-users/archive%40jab.org