Mark (and anyone else who wants to jump in), my comments and questions are below interspersed with the quotations. My previous email with HTML formatting was stripped of most of the formatting. Hopefully this email is better.
Mark Sapiro wrote: > mcjathan wrote: > >> 1) Is our inability to send email to the lists due to the fact that the >> virtual db files aren't being populated? >> > > > Maybe. Have you set up POSTFIX_STYLE_VIRTUAL_DOMAINS in mm_cfg.py per > <http://www.list.org/mailman-install/postfix-virtual.html> > I've quoted the entire web-page that you cite. My comments and questions are interspersed. > 6.1.2 Virtual domains > > Postfix 2.0 supports ``virtual alias domains'', essentially what used to > be called ``Postfix-style virtual domains'' in earlier Postfix versions. > To make virtual alias domains work with Mailman, you need to do some > setup in both Postfix and Mailman. Mailman will write all virtual alias > mappings to a file called, by default, > /usr/local/mailman/data/virtual-mailman. It will also use *postmap* to > create the *virtual-mailman.db* file that Postfix will actually use. > > First, you need to set up the Postfix virtual alias domains as described > in the Postfix documentation (see Postfix's |virtual(5)| manpage). Note > that it's your responsibility to include the |virtual-alias.domain > anything| line as described manpage; Mailman will not include this line > in virtual-mailman. You are highly encouraged to make sure your virtual > alias domains are working properly before integrating with Mailman. I stepped through http://www.postfix.org/virtual.5.html and we seem to have everything setup properly. As a practical observation, we have 2 virtual domain aliases each with multiple aliases, and email from both internal and external addresses seem to be delivered without problem to all virtual and aliased domains. > Next, add a path to Postfix's virtual_alias_maps variable, pointing to > the virtual-mailman file, e.g.: > > virtual_alias_maps = <your normal virtual alias files>, > hash:/usr/local/mailman/data/virtual-mailman > > assuming you've installed Mailman in the default location. If you're > using an older version of Postfix which doesn't have the > virtual_alias_maps variable, use the virtual_maps variable instead. From our Postfix main.cf file I checked the virtual_alias_maps entry. Here is our actual entry: virtual_alias_maps = mysql:/etc/postfix/mysql-virtual.cf, hash:/usr/home/mailman/data/virtual-mailman The mysql-virtual.cf file contains (among other entries): table = virtual select_field = destination where_field = email The virtual-mailman file exists but is completely empty (zero bytes). In the same directory, there is also a file named virtual-mailman.db. Using the command "db4.2_dump virtual-mailman.db", the contents on the db file are: VERSION=3 format=bytevalue type=hash db_pagesize=4096 HEADER=END DATA=END > Next, in your mm_cfg.py file, you will want to set the variable > POSTFIX_STYLE_VIRTUAL_DOMAINS to the list of virtual domains that > Mailman should update. This may not be all of the virtual alias domains > that your Postfix installation supports! The values in this list will be > matched against the host_name attribute of mailing lists objects, and > must be an exact match. > > Here's an example. Say that Postfix is configured to handle the virtual > domains |dom1.ain|, |dom2.ain|, and |dom3.ain|, and further that in your > main.cf file you've got the following settings: > > myhostname = mail.dom1.ain > mydomain = dom1.ain > mydestination = $myhostname, localhost.$mydomain > virtual_alias_maps = > hash:/some/path/to/virtual-dom1, > hash:/some/path/to/virtual-dom2, > hash:/some/path/to/virtual-dom2 Here is our setup: myhostname = mail.domain1.net mydomain = domain1.net mydestination = $myhostname $mydomain virtual_alias_maps = mysql:/etc/postfix/mysql-virtual.cf, hash:/usr/home/mailman/data/virtual-mailman Again, the mysql-virtual.cf file seems to be properly setup because email sent to the virtual and aliased domains seems to work fine. Also again, however, the virtual-mailman and virtual-mailman.db files are empty. > If in your virtual-dom1 file, you've got the following lines: > > dom1.ain IGNORE > @dom1.ain @mail.dom1.ain > > this tells Postfix to deliver anything addressed to |dom1.ain| to the > same mailbox at |mail.dom1.com|, its default destination. This is where I get a bit lost, but I'll try to muddle through. We don't actually have the virtual-domain1 file since we've implemented Postfix using mySQL. Here are some possibly relevant entries from the database: From the table "alias" we have these entries: alias (column title) destination (column title) postmaster [EMAIL PROTECTED] root [EMAIL PROTECTED] From the table "transport" we have these entries: domain (column title) destination (column title)* domain1.net virtual: domain2.net virtual: domain3.com virtual: From the table "virtual" we have these entries: email (column title) destination (column title) *domain1.net virtual: [EMAIL PROTECTED] @domain2.net [EMAIL PROTECTED] @domain2.net [EMAIL PROTECTED] @domain2.net [EMAIL PROTECTED] @domain2.net > In this case you would not include |dom1.ain| in > POSTFIX_STYLE_VIRTUAL_DOMAINS because otherwise Mailman will write > entries for mailing lists in the dom1.ain domain as > > [EMAIL PROTECTED] mylist > [EMAIL PROTECTED] mylist-request > # and so on... > > The more specific entries trump your more general entries, thus breaking > the delivery of any |dom1.ain| mailing list. I'm completely lost here. > However, you would include |dom2.ain| and |dom3.ain| in mm_cfg.py: > > POSTFIX_STYLE_VIRTUAL_DOMAINS = ['dom2.ain', 'dom3.ain'] > > Now, any list that Mailman creates in either of those two domains, will > have the correct entries written to /usr/local/mailman/data/virtual-mailman. Here are the entries from our mm_cfg.py file: from Defaults import POSTFIX_STYLE_VIRTUAL_DOMAINS=['domain1.net', 'domain2.net'] MTA='Postfix' add_virtualhost('mail.domain1.net', 'domain1.net') MAILMAN_SITE_LIST='mailman'* > As above with the data/aliases* files, you want to make sure that both > data/virtual-mailman and data/virtual-mailman.db are user and group > owned by |mailman|. Here are the permissions of all files in the mailman/data/ directory: -rw-r----- 1 root mailman 41 Oct 18 16:20 adm.pw -rw-rw---- 1 mailman mailman 3438 Nov 9 13:53 aliases -rw-rw---- 1 mailman mailman 12288 Nov 9 13:53 aliases.db -rw-r----- 1 root mailman 41 Oct 18 16:20 creator.pw -rw-r--r-- 1 root mailman 10 Oct 18 15:05 last_mailman_version -rw-rw---- 1 mailman mailman 6 Oct 18 16:14 master-qrunner.pid -rw-r--r-- 1 root mailman 14114 Nov 3 00:44 sitelist.cfg -rw-rw-r-- 1 mailman mailman 0 Nov 9 13:53 virtual-mailman -rw-rw-r-- 1 mailman mailman 12288 Nov 9 13:53 virtual-mailman.db Whew! That's a lot of information. Is any of it useful? Can you suggest some corrections to our configuration? Regards, Jeff ------------------------------------------------------ Mailman-Users mailing list Mailman-Users@python.org http://mail.python.org/mailman/listinfo/mailman-users Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-users/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=show&file=faq01.027.htp