MM 2.1.9, Postfix 2.3.5, cyrus-imap 2.3.7, all on FreeBSD 6.1 installed from ports
Postfix already handles mail for multiple virtual domains defined in a MySQL database. I believe virtual domain setup is OK, as individual users have been sending and receiving mail for some time.
Having problems with Mailman, though. I've read these instructions many times:
http://www.list.org/mailman-install/postfix-virtual.html
Besides doing what's listed there, I also defined a virtual mailbox for a new "pctest" list (without that, mail sent to pctest@virt1.tld bounces).
However, MM never distributes the mail to list subscribers. /var/log/maillog says each message is sent to pctest@virt1.tld; however, the only files in /usr/local/mailman/logs that change are smtp and subscribe (and then only when list members are added).
Basically, postfix delivers message to pctest@virt1.tld but nothing happens after that.
Thanks in advance for clues on fixing this.
/wsbs
from virtual-mailman (note that I have run postmap on this and restarted mailman and postfix multiple times, but no joy):
# STANZA START: pctest
# CREATED: Mon Jan 29 15:05:35 2007
pctest@virt1.tld pctest
pctest-admin@virt1.tld pctest-admin
pctest-bounces@virt1.tld pctest-bounces
pctest-confirm@virt1.tld pctest-confirm
pctest-join@virt1.tld pctest-join
pctest-leave@virt1.tld pctest-leave
pctest-owner@virt1.tld pctest-owner
pctest-request@virt1.tld pctest-request
pctest-subscribe@virt1.tld pctest-subscribe
pctest-unsubscribe@virt1.tld pctest-unsubscribe
# STANZA END: pctest
from mm_cfg.py: # Put YOUR site-specific settings below this line. $SMTPHOST = virt1.tld DEFAULT_EMAIL_HOST = 'virt1.tld' DEFAULT_URL_HOST = 'virt1.tld' IMAGE_LOGOS = '/icons/' MTA = 'Postfix' POSTFIX_STYLE_VIRTUAL_DOMAINS = ['virt1.tld'] VIRTUAL_HOSTS.clear() add_virtualhost('mail.virt1.tld', 'virt1.tld')
from main.cf: recipient_delimiter = + unknown_local_recipient_reject_code = 550 virtual_alias_maps = mysql:/usr/local/etc/postfix/mysql_virtual_alias_maps.cf, hash:/usr/local/mailman/data/virtual-mailman
from master.cf: (nothing MM specific)
David Newman wrote:
Having problems with Mailman, though. I've read these instructions many times:
http://www.list.org/mailman-install/postfix-virtual.html
Besides doing what's listed there, I also defined a virtual mailbox for a new "pctest" list (without that, mail sent to pctest@virt1.tld bounces).
However, MM never distributes the mail to list subscribers. /var/log/maillog says each message is sent to pctest@virt1.tld; however, the only files in /usr/local/mailman/logs that change are smtp and subscribe (and then only when list members are added).
Basically, postfix delivers message to pctest@virt1.tld but nothing happens after that.
Presumably, that's because Postfix is delivering the mail to a local mailbox 'pctest' instead of piping it to Mailman's mail wrapper via the command "/usr/local/mailman/mail/mailman post pctest".
This is really a Postfix question, not a Mailman question, but you might find the post at <http://mail.python.org/pipermail/mailman-users/2007-January/055502.html> to be helpful.
You might also find something of interest at <http://www.python.org/cgi-bin/faqw-mm.py?req=show&file=faq03.014.htp>.
-- Mark Sapiro <msapiro@value.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Monday, January 29, 2007, at 04:18PM, "Mark Sapiro" <msapiro@value.net> wrote:
Basically, postfix delivers message to pctest@virt1.tld but nothing happens after that.
Presumably, that's because Postfix is delivering the mail to a local mailbox 'pctest' instead of piping it to Mailman's mail wrapper via the command "/usr/local/mailman/mail/mailman post pctest".
Yup. That is exactly what's happening (except that it's a virtual mailbox and not a local user account).
This is really a Postfix question, not a Mailman question
Yes and no. I'd say it's more of a clueless-pilot question, esp. since Postfix is doing exactly what it's told -- in this instance, deliver messages to pctest@virt1.tld. The problem here is mailman-specific, though I'm unsure whether the solution is in mailman configuration or some combo of postfix and mailman configs.
I've read and reread and reread the mailman docs, and I don't see where and how virtual addresses get piped to the command above. The file /usr/local/mailman/data/aliases has commands like the above; the file /usr/local/mailman/data/virtual-mailman does not.
For example, aliases has:
pctest: "|/usr/local/mailman/mail/mailman post pctest"
but virtual-mailman has:
pctest@virt1.tld pctest
I'm missing how to glue the two together, and this is NOT covered in the existing mailman docs.
Once I get this running I'd be glad to write up documentation and submit it for possible inclusion.
, but you
might find the post at <http://mail.python.org/pipermail/mailman-users/2007-January/055502.html> to be helpful.
Thanks. That post in turn links to an earlier howto which covers aliases but not virtual-mailman.
On Monday, January 29, 2007, at 05:47PM, "Paul Fox" <pgf@foxharp.boston.ma.us> wrote:
However, MM never distributes the mail to list subscribers. /var/log/maillog says each message is sent to pctest@virt1.tld; however, the only files in /usr/local/mailman/logs that change are smtp and subscribe (and then only when list members are added).
so it sounds like you have postfix aliases set up for "pctest-*", but not "pctest" itself? is that right?
Actually, the opposite. I'd set up a virtual mailbox for "pctest" but none of the rest of the pctest-* hierarchy. It's not covered in the docs, but from Mark's email I gather that I shouldn't need this step -- instead mail should be piped to the command Mark gave above.
Basically, postfix delivers message to pctest@virt1.tld but nothing happens after that.
i don't use mysql, but my epiphany was when i realized i needed two separate mappings to be in place to get postfix and mailman working together. you need the virtual domain map (which i believe you have) and you need the map that takes the result of the virtual domain map, and turns it into a "real" destination.
Right. That's really my question -- how is that done?
thanks!
/wsbs
david wrote:
I've read and reread and reread the mailman docs, and I don't see where and how virtual addresses get piped to the command above. The file /usr/local/mailman/data/aliases has commands like the above; the file /usr/local/mailman/data/virtual-mailman does not.
For example, aliases has:
pctest: "|/usr/local/mailman/mail/mailman post pctest"
but virtual-mailman has:
pctest@virt1.tld pctest
I'm missing how to glue the two together, and this is NOT covered in the existing mailman docs.
...
i don't use mysql, but my epiphany was when i realized i needed two separate mappings to be in place to get postfix and mailman working together. you need the virtual domain map (which i believe you have) and you need the map that takes the result of the virtual domain map, and turns it into a "real" destination.
Right. That's really my question -- how is that done?
as i understand it, it's done automatically by postfix, if you tell it about all the maps. if you weren't using mysql, the definition of virtual_alias_maps should include the alias maps for any virtual domains:
virtual_alias_maps = hash:/usr/local/mailman/data/virtual-mailman
and the postfix definition of "alias_maps" should refer to both /etc/aliases and /usr/local/mailman/data/aliases:
alias_maps = hash:/etc/aliases hash:/usr/local/mailman/data/aliases
postfix will resolve using first the virtual_alias_maps, and then the alias_maps.
but i don't know how mysql affects any of that.
paul
paul fox, pgf@foxharp.boston.ma.us (arlington, ma, where it's 24.8 degrees)
Paul Fox wrote:
as i understand it, it's done automatically by postfix, if you tell it about all the maps. if you weren't using mysql, the definition of virtual_alias_maps should include the alias maps for any virtual domains:
virtual_alias_maps = hash:/usr/local/mailman/data/virtual-mailman
and the postfix definition of "alias_maps" should refer to both /etc/aliases and /usr/local/mailman/data/aliases:
alias_maps = hash:/etc/aliases hash:/usr/local/mailman/data/aliases
postfix will resolve using first the virtual_alias_maps, and then the alias_maps.
but i don't know how mysql affects any of that.
My understanding is that if you are using mysql, you might have something like
alias_maps = mysql:/etc/aliases hash:/usr/local/mailman/data/aliases
i.e., you could still use a hash for mailman's aliases and virtual-mailman.
-- Mark Sapiro <msapiro@value.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
David Newman wrote:
pctest: "|/usr/local/mailman/mail/mailman post pctest"
but virtual-mailman has:
pctest@virt1.tld pctest
I'm missing how to glue the two together, and this is NOT covered in the existing mailman docs.
Do you have the appropriate alias_maps entry in your postfix configuration pointing to aliases as discussed in <http://www.list.org/mailman-install/node13.html>
Do you have "MTA = 'Postfix'" in your mm_cfg.py and have you run bin/genaliases to create the appropriate entries in data/aliases* and data/virtual-mailman*?
You have to do all the stuff in sec 6.1.1 of the manual as well as the stuff in sec 6.1.2 that you said you'd read many times.
Once I get this running I'd be glad to write up documentation and submit it for possible inclusion.
I'm sure this can be improved. We'd appreciate the help.
Actually, the opposite. I'd set up a virtual mailbox for "pctest" but none of the rest of the pctest-* hierarchy. It's not covered in the docs, but from Mark's email I gather that I shouldn't need this step -- instead mail should be piped to the command Mark gave above.
You need entries in virtual-mailman* for addresses in your postfix virtual domains to map them to local addresses, AND you need entries in aliases* to cause these local addresses to be piped to the wrapper. If you have MTA = 'Postfix' Mailman should take care of maintaining data/aliases* and data/virtual-mailman* for you, but you need to reference them in the postfix config as discissed in <http://www.list.org/mailman-install/node13.html> and <http://www.list.org/mailman-install/postfix-virtual.html>
-- Mark Sapiro <msapiro@value.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
mark wrote:
David Newman wrote:
Once I get this running I'd be glad to write up documentation and submit it for possible inclusion.
I'm sure this can be improved. We'd appreciate the help.
in that vein -- i never saw any yea or nay on the minor doc addition i submitted on a related aspect of lists at virtual domains. at the time i thought i might have sent the change to the wrong place (i.e. the users', not the developers' list) but now i'm just wondering if it fell through the cracks: http://www.mail-archive.com/mailman-users%40python.org/msg43083.html
paul
p.s. the searchable archives at mail-archive.com are nice, but they'd be a _lot_ more useful if they didn't obscure anything that looked like an email address. text describing mailman and postfix config is rendered practically useless because of it. at the least, they shouldn't obscure any address ending in ".tld" or "example.com". ;-/
=--------------------- paul fox, pgf@foxharp.boston.ma.us (arlington, ma, where it's 25.9 degrees)
Paul Fox wrote:
in that vein -- i never saw any yea or nay on the minor doc addition i submitted on a related aspect of lists at virtual domains. at the time i thought i might have sent the change to the wrong place (i.e. the users', not the developers' list) but now i'm just wondering if it fell through the cracks: http://www.mail-archive.com/mailman-users%40python.org/msg43083.html
It's in my inbox. I haven't had time to do anything with it, but I at least have seen it. That said, it is probably better to post something like this to the patch tracker <http://sourceforge.net/tracker/?group_id=103&atid=300103>, or if you think it needs discussion first, to the mailman-developers.
p.s. the searchable archives at mail-archive.com are nice, but they'd be a _lot_ more useful if they didn't obscure anything that looked like an email address. text describing mailman and postfix config is rendered practically useless because of it. at the least, they shouldn't obscure any address ending in ".tld" or "example.com". ;-/
Of course, we don't control mail-archive.com. It is our 'official' searchable archive (although google with site:mail.python.org inurl:mailman works pretty well), but if we ever get archive search integrated in Mailman OOTB, we might drop it.
-- Mark Sapiro <msapiro@value.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On 1/30/07 9:49 AM, Mark Sapiro wrote:
David Newman wrote:
pctest: "|/usr/local/mailman/mail/mailman post pctest"
but virtual-mailman has:
pctest@virt1.tld pctest
I'm missing how to glue the two together, and this is NOT covered in the existing mailman docs.
Do you have the appropriate alias_maps entry in your postfix configuration pointing to aliases as discussed in <http://www.list.org/mailman-install/node13.html>
Yes. This is the part that was missing. I was trying with alias_maps or virtual_alias_maps but not both. MM needs both in this setup.
One final problem is that I got the 'Mailman expected the mail wrapper script to be executed as group "nobody"' error because MM for postfix installs with GID mailman.
My hack was to uninstall, change the GID to 'nobody' in the FreeBSD ports Makefile, and reinstall. This may have security implications but I'm not sure about that.
Do you have "MTA = 'Postfix'" in your mm_cfg.py and have you run bin/genaliases to create the appropriate entries in data/aliases* and data/virtual-mailman*?
You have to do all the stuff in sec 6.1.1 of the manual as well as the stuff in sec 6.1.2 that you said you'd read many times.
Once I get this running I'd be glad to write up documentation and submit it for possible inclusion.
Doing all of 6.1.1 and 6.1.2 is something I'll propose adding to 6.1.2. At one stage I did have alias_maps but took it out because it's not given in 6.1.2.
Thanks all for your help in getting this set up.
It will take me a day or two to write up suggested changes to 6.1.2, which I'll post to the list.
thanks again
/wsbs
david wrote:
Postfix already handles mail for multiple virtual domains defined in a MySQL database. I believe virtual domain setup is OK, as individual users have been sending and receiving mail for some time.
Having problems with Mailman, though. I've read these instructions many times:
http://www.list.org/mailman-install/postfix-virtual.html
Besides doing what's listed there, I also defined a virtual mailbox for a new "pctest" list (without that, mail sent to pctest@virt1.tld bounces).
However, MM never distributes the mail to list subscribers. /var/log/maillog says each message is sent to pctest@virt1.tld; however, the only files in /usr/local/mailman/logs that change are smtp and subscribe (and then only when list members are added).
so it sounds like you have postfix aliases set up for "pctest-*", but not "pctest" itself? is that right?
Basically, postfix delivers message to pctest@virt1.tld but nothing happens after that.
i don't use mysql, but my epiphany was when i realized i needed two separate mappings to be in place to get postfix and mailman working together. you need the virtual domain map (which i believe you have) and you need the map that takes the result of the virtual domain map, and turns it into a "real" destination.
paul
paul fox, pgf@foxharp.boston.ma.us (arlington, ma, where it's 15.1 degrees)
participants (4)
-
David Newman
-
Mark Sapiro
-
Paul Fox
-
wo_shi_big_stomach