On 12/16/2012 7:20 AM, ДП wrote: > Hi, all > > After reading kilometers of posts looks like that subject is a stone of > stumble when integratnig mailman with postfix. But, please, don`t scold at > me, because I really don`nt get how to glue together my working postfix with > virtual domains and one single mailman list. > > system info: archlinux, postfix 2.9.4, kernel 3.6.9 x64, mailman 2.1.15 > > <code> > $ postconf|grep alias
Sigh... where to start ... First of all, when trying to communicate Postfix configurations, unedited, full output from `postconf -n` with possible munging of domain names (only if done consistently) is almost always preferable. > alias_database = $alias_maps > alias_maps = hash:/var/lib/mailman/data/aliases, hash:/etc/postfix/aliases > allow_mail_to_commands = alias, forward, include > allow_mail_to_files = alias, forward, include > expand_owner_alias = no > local_recipient_maps = proxy:unix:passwd.byname $alias_maps > newaliases_path = /usr/bin/newaliases > proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps > $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains > $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps > $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks > $sender_bcc_maps $recipient_bcc_maps $smtp_generic_maps $lmtp_generic_maps > $alias_maps > reset_owner_alias = no > unknown_virtual_alias_reject_code = 550 > virtual_alias_domains = $virtual_alias_maps > virtual_alias_expansion_limit = 1000 > virtual_alias_maps = hash:/var/lib/mailman/data/virtuailman,al-m > mysql:/etc/postfix/mysql_virtual_alias_maps.cf > virtual_alias_recursion_limit = 1000 > </code> > > <code> > # mm_cfg.py > MTA = 'Postfix' > DEFAULT_EMAIL_HOST = 'my-domain.com.ua' > DEFAULT_URL_HOST = 'mail2.my-domain.com.ua' > DEFAULT_URL_PATTERN = 'http://mail2.my-domain.com.ua/mylist/' DEFAULT_URL_PATTERN gets interpolated with the host name and the listname gets appended, so if you want to drop the '/mailman' from Mailman URLs, set DEFAULT_URL_PATTERN = 'http://%s/' Otherwise, the setting in Defaults.py DEFAULT_URL_PATTERN = 'http://%s/mailman/' should be fine without any mm_cfg.py override. > POSTFIX_STYLE_VIRTUAL_DOMAINS = ['my-domain.com.ua'] > VIRTUAL_MAILMAN_LOCAL_DOMAIN = 'my-domain.com.ua' The above is clearly wrong. Either 'my-domain.com.ua' is a virtual domain in Postfix or it is a local domain. If it is a local domain, you don't want either of the above two lines and you don't want 'hash:/var/lib/mailman/data/virtuailman' in Postfix virtual_alias_maps. If ti is a virtual domain in Postfix, you absolutely don't want VIRTUAL_MAILMAN_LOCAL_DOMAIN = 'my-domain.com.ua' as that will map the virtual address myl...@my-domain.com.ua to the supposedly local address myl...@my-domain.com.ua, which at best is a loop. Normally, setting VIRTUAL_MAILMAN_LOCAL_DOMAIN in mm_cfg.py is not required, but if it is set, it needs to be set to one of the domains in Postfix my_destination, e.g. 'localhost'. > add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST) > </code> > > All aliases files was generated by genaliases, and I did`nt modified them. > All of them are under the mailman.mailman user rights =rw----. > > <code> > ## /var/lib/mailman/data/aliases > # The ultimate loop stopper address mylist-loop: > /var/lib/mailman/data/owner-bounces.mbox > > # STANZA START: mylist > # CREATED: Sun Dec 16 16:53:24 2012 > mylist: /var/lib/mailman/qfiles/maildir/ > mylist-admin: /var/lib/mailman/qfiles/maildir/ > mylist-bounces: /var/lib/mailman/qfiles/maildir/ > mylist-confirm: /var/lib/mailman/qfiles/maildir/ > mylist-join: /var/lib/mailman/qfiles/maildir/ > mylist-leave: /var/lib/mailman/qfiles/maildir/ > mylist-owner: /var/lib/mailman/qfiles/maildir/ > mylist-request: /var/lib/mailman/qfiles/maildir/ > mylist-subscribe: /var/lib/mailman/qfiles/maildir/ > mylist-unsubscribe: /var/lib/mailman/qfiles/maildir/ > # STANZA END: mylist Something is very wrong here. The above aliases indicate you have set USE_MAILDIR = Yes but I don't see that in mm_cfg.py above. In any case, maildir delivery to Mailman is experimental, as far as I know no one uses it, and it also requires that MaildirRunner be enabled. See the documentation in Defaults.py. > </code> > > <code> > ## /var/lib/mailman/data/virtual-mailman > # LOOP ADDRESSES START > mylist-l...@my-domain.com.ua mylist-l...@my-domain.com.ua > # LOOP ADDRESSES END > > # STANZA START: mylist > # CREATED: Sun Dec 16 16:53:24 2012 > myl...@my-domain.com.ua myl...@my-domain.com.ua Here we see the mappings I mentioned above. The 'virtual' addresses are mapped to themselves which can't work. > mylist-ad...@my-domain.com.ua mylist-ad...@my-domain.com.ua > mylist-boun...@my-domain.com.ua mylist-boun...@my-domain.com.ua > mylist-conf...@my-domain.com.ua mylist-conf...@my-domain.com.ua > mylist-j...@my-domain.com.ua mylist-j...@my-domain.com.ua > mylist-le...@my-domain.com.ua mylist-le...@my-domain.com.ua > mylist-ow...@my-domain.com.ua mylist-ow...@my-domain.com.ua > mylist-requ...@my-domain.com.ua mylist-requ...@my-domain.com.ua > mylist-subscr...@my-domain.com.ua mylist-subscr...@my-domain.com.ua > mylist-unsubscr...@my-domain.com.ua mylist-unsubscr...@my-domain.com.ua > # STANZA END: mylist > </code> > > Also I`ve added that to /etc/postfix/aliases, even I think this is not > important now. It makes a difference. Mailman's aliases should be in /var/lib/mailman/data/aliases(.db) because the owner of the .db file in which the alias is found determines the user under which Postfix delivers the mail. > <code> > ## /etc/postfix/aliases part > ## mailman mailing list > 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" > </code> > > root # echo "test" | mail myl...@my-domain.com.ua > > causes error: > > Dec 16 16:53:30 kserv postfix/qmgr[11704]: 33204999DE: > from=<r...@mail.my-domain.com.ua>, size=450, nrcpt=1 (queue active) > > Dec 16 16:53:30 kserv postfix/virtual[11714]: 33204999DE: > to=<myl...@my-domain.com.ua>, relay=virtual, delay=0.24, > delays=0.17/0.01/0/0.07, dsn=5.1.1, status=bounced (unknown user: > "myl...@my-domain.com.ua") Probably because of the incorrect mapping in data/virtual-mailman. -- 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