is it possible to set up mailman on a host without a MTA?
![](https://secure.gravatar.com/avatar/17d1e2830e5be6b6186393408659ce74.jpg?s=120&d=mm&r=g)
Is it possible to set up mailman on a host without a MTA?
I imagine mailman could easily send emails through an external MTA, and receive email using externam pop3 or imap account - however, I didn't find many hints about such setup in the fine documentation.
Any clues?
-- Tomasz Chmielewski http://blog.wpkg.org
![](https://secure.gravatar.com/avatar/55dd4b9d4dca2dc661df666477622d76.jpg?s=120&d=mm&r=g)
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
At 06:36 AM 10/20/2007, you wrote:
I'm not exactly sure what you are asking for but I have a Mandrake system on my DSL connected line without a static IP address. I have a couple of mailing lists running and use 'fetchmail'. I have mail boxes set up with my ISP and run 'fetchmail' via 'cron' to get the incoming messages. My SMTP sever is configured to use my ISPs mail server for the outgoing messages.
If this is the kind of thing you are looking for let me know and we can discuss it further.
-----BEGIN PGP SIGNATURE----- Version: PGPfreeware 6.5.8 for non-commercial use <http://www.pgp.com>
iQA/AwUBRxoTD/34lmKmdrVUEQLX+ACeP8z/0SPS3mozbIS2GkKhYERiSD8An2AY D3re3u6cgNnnFVAK3xujtqsA =XgTZ -----END PGP SIGNATURE-----
![](https://secure.gravatar.com/avatar/05ff682cc28ffc9ae3f97bd129e1ac66.jpg?s=120&d=mm&r=g)
On Sat, 20 Oct 2007 12:36:18 +0200 Tomasz Chmielewski <mangoo@wpkg.org> wrote:
Not as near as I can tell (I could be wrong), but you can easily set up, say, Postfix to just route everything through your ISP and not receive mail.
-Dennis Carr
![](https://secure.gravatar.com/avatar/746f7519ba02fb0d815e59f305c53fa2.jpg?s=120&d=mm&r=g)
Dennis Carr wrote:
Actually, it is possible to run Mailman without a local MTA. Outgoing mail is easy. Just set SMTPHOST and, if necessary, SMTPPORT in mm_cfg.py to the appropriate values for the server you want to use. If the server requires authentication and possibly TLS, see <http://sourceforge.net/tracker/index.php?func=detail&aid=1798683&group_id=103&atid=300103> for a patch.
Incoming mail is harder, but it can be done using something like fetchmail to retrieve mail from a remote server. It can then be delivered to Mailman via someththing like procmail or by using Mailman's Maildir delivery.
-- Mark Sapiro <msapiro@value.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/17d1e2830e5be6b6186393408659ce74.jpg?s=120&d=mm&r=g)
Mark Sapiro schrieb:
So, I started to put the things together. As you said, outgoing mail is easy, and incoming mail is harder (but can be done with fetchmail).
So, considering no MTA is running on a machine which runs mailman - how do I go through this part:
http://www.gnu.org/software/mailman/mailman-install/node13.html
Putting this into aliases file on a mail server surely wouldn't make any sense:
# bin/genaliases To finish creating your mailing list, you must edit your /etc/aliases (or equivalent) file by adding the following lines, and possibly running the `newaliases' program:
## some-list mailing list some-list: "|/path/mailman/mail/mailman post some-list" some-list-admin: "|/path/mailman/mail/mailman admin some-list" some-list-bounces: "|/path/mailman/mail/mailman bounces some-list" some-list-confirm: "|/path/mailman/mail/mailman confirm some-list" some-list-join: "|/path/mailman/mail/mailman join some-list" some-list-leave: "|/path/mailman/mail/mailman leave some-list" some-list-owner: "|/path/mailman/mail/mailman owner some-list" some-list-request: "|/path/mailman/mail/mailman request some-list" some-list-subscribe: "|/path/mailman/mail/mailman subscribe some-list" some-list-unsubscribe: "|/path/mailman/mail/mailman unsubscribe some-list"
Should I just deliver all emails to one mailbox (some-list@site, some-list-subscribe@site, some-list-unsubscribe@site etc.), and fetchmail should fetch it to:
/path/mailman/archives/private/some-list.mbox/
?
-- Tomasz Chmielewski http://wpkg.org
![](https://secure.gravatar.com/avatar/55dd4b9d4dca2dc661df666477622d76.jpg?s=120&d=mm&r=g)
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
At 11:56 AM 11/7/2007, you wrote:
That won't work. You need to create each one of those aliases as a mailbox at your ISP. Then do a fetchmail on each one.
-----BEGIN PGP SIGNATURE----- Version: PGPfreeware 6.5.8 for non-commercial use <http://www.pgp.com>
iQA/AwUBRzIwJf34lmKmdrVUEQJaGQCeLO0s9sWQX4Qs//b2Ux1wXdOdpAwAn1Yr m92Mxi3gtysyEqWIjtehdQ3T =1HqL -----END PGP SIGNATURE-----
![](https://secure.gravatar.com/avatar/7bdecdef03708b218939094eb05e8b35.jpg?s=120&d=mm&r=g)
On 11/7/07, Tomasz Chmielewski wrote:
So, considering no MTA is running on a machine which runs mailman - how do I go through this part:
The way fetchmail works, you download e-mail from the remote server and pass it on to the local MTA. Therefore, you have to have a local MTA on the recipient machine. For Mailman, you need something to read those aliases and do the right thing with the messages being processed.
This local MTA doesn't have to be listening to any external ports or anything, but you do need something on that system to fill that role of taking the mail handed to it by fetchmail and then feeding that to the right program with the right command-line options. The easiest way to do that is to run a real MTA on that server.
-- Brad Knowles <brad@shub-internet.org> LinkedIn Profile: <http://tinyurl.com/y8kpxu>
![](https://secure.gravatar.com/avatar/17d1e2830e5be6b6186393408659ce74.jpg?s=120&d=mm&r=g)
Brad Knowles schrieb:
No, fetchmail can also work without a local MTA. It can pass fetched emails to a local programs or scripts, like:
# cat /tmp/deliver.sh #!/bin/bash
cat >> /tmp/text
# fetchmail -u user -m /tmp/deliver.sh mail.server Enter password for user@mail.server: 1 message for user at mail.server. reading message user@mail.server:1 of 1 (1631 header octets). (5 body octets) flushed
And we have a mail written to /tmp/text.
But I don't want or need any MTA here ;)
So I guess it's just a matter of simple scripting: fetching correct email using fetchmail, and passing it to mail/mailman program in a correct way. Anyone has it documented?
-- Tomasz Chmielewski http://wpkg.org
![](https://secure.gravatar.com/avatar/746f7519ba02fb0d815e59f305c53fa2.jpg?s=120&d=mm&r=g)
Tomasz Chmielewski wrote:
You can fetch the mail from the remote mailbox with fetchmail and pass it from fetchmail to procmail. Then in your .procmailrc you can set recipes to deliver to the Mailman mail wrapper with appropriate options.
Here's an example of procmail recipes used in a somewhat different context:
# LISTNAME mailman list.... :0
- EnvelopeTo ?? ^LISTNAME$ |sudo -u mailman /var/mailman/mail/mailman post LISTNAME :E
- EnvelopeTo ?? ^LISTNAME-admin$ |sudo -u mailman /var/mailman/mail/mailman admin LISTNAME :E
- EnvelopeTo ?? ^LISTNAME-bounces$ |sudo -u mailman /var/mailman/mail/mailman bounces LISTNAME :E
- EnvelopeTo ?? ^LISTNAME-confirm$ |sudo -u mailman /var/mailman/mail/mailman confirm LISTNAME :E
- EnvelopeTo ?? ^LISTNAME-join$ |sudo -u mailman /var/mailman/mail/mailman join LISTNAME :E
- EnvelopeTo ?? ^LISTNAME-leave$ |sudo -u mailman /var/mailman/mail/mailman leave LISTNAME :E
- EnvelopeTo ?? ^LISTNAME-owner$ |sudo -u mailman /var/mailman/mail/mailman owner LISTNAME :E
- EnvelopeTo ?? ^LISTNAME-request$ |sudo -u mailman /var/mailman/mail/mailman request LISTNAME :E
- EnvelopeTo ?? ^LISTNAME-subscribe$ |sudo -u mailman /var/mailman/mail/mailman subscribe LISTNAME :E
- EnvelopeTo ?? ^LISTNAME-unsubscribe$ |sudo -u mailman /var/mailman/mail/mailman unsubscribe LISTNAME
In this case, EnvelopeTo is set to an argument passed to procmail, but in your case with fetchmail from a single mailbox, the actual envelope recipient probably isn't available, so you may need to look at To: and Cc: headers instead which isn't as reliable.
The alternative as Dennis Putnam suggests is to create 10 mailboxes per list at the remote. Then you can use fetchmail to fetch from a specific mailbox and pipe to the wrapper with the appropriate arguments.
-- Mark Sapiro <msapiro@value.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/55dd4b9d4dca2dc661df666477622d76.jpg?s=120&d=mm&r=g)
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
At 06:36 AM 10/20/2007, you wrote:
I'm not exactly sure what you are asking for but I have a Mandrake system on my DSL connected line without a static IP address. I have a couple of mailing lists running and use 'fetchmail'. I have mail boxes set up with my ISP and run 'fetchmail' via 'cron' to get the incoming messages. My SMTP sever is configured to use my ISPs mail server for the outgoing messages.
If this is the kind of thing you are looking for let me know and we can discuss it further.
-----BEGIN PGP SIGNATURE----- Version: PGPfreeware 6.5.8 for non-commercial use <http://www.pgp.com>
iQA/AwUBRxoTD/34lmKmdrVUEQLX+ACeP8z/0SPS3mozbIS2GkKhYERiSD8An2AY D3re3u6cgNnnFVAK3xujtqsA =XgTZ -----END PGP SIGNATURE-----
![](https://secure.gravatar.com/avatar/05ff682cc28ffc9ae3f97bd129e1ac66.jpg?s=120&d=mm&r=g)
On Sat, 20 Oct 2007 12:36:18 +0200 Tomasz Chmielewski <mangoo@wpkg.org> wrote:
Not as near as I can tell (I could be wrong), but you can easily set up, say, Postfix to just route everything through your ISP and not receive mail.
-Dennis Carr
![](https://secure.gravatar.com/avatar/746f7519ba02fb0d815e59f305c53fa2.jpg?s=120&d=mm&r=g)
Dennis Carr wrote:
Actually, it is possible to run Mailman without a local MTA. Outgoing mail is easy. Just set SMTPHOST and, if necessary, SMTPPORT in mm_cfg.py to the appropriate values for the server you want to use. If the server requires authentication and possibly TLS, see <http://sourceforge.net/tracker/index.php?func=detail&aid=1798683&group_id=103&atid=300103> for a patch.
Incoming mail is harder, but it can be done using something like fetchmail to retrieve mail from a remote server. It can then be delivered to Mailman via someththing like procmail or by using Mailman's Maildir delivery.
-- Mark Sapiro <msapiro@value.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/17d1e2830e5be6b6186393408659ce74.jpg?s=120&d=mm&r=g)
Mark Sapiro schrieb:
So, I started to put the things together. As you said, outgoing mail is easy, and incoming mail is harder (but can be done with fetchmail).
So, considering no MTA is running on a machine which runs mailman - how do I go through this part:
http://www.gnu.org/software/mailman/mailman-install/node13.html
Putting this into aliases file on a mail server surely wouldn't make any sense:
# bin/genaliases To finish creating your mailing list, you must edit your /etc/aliases (or equivalent) file by adding the following lines, and possibly running the `newaliases' program:
## some-list mailing list some-list: "|/path/mailman/mail/mailman post some-list" some-list-admin: "|/path/mailman/mail/mailman admin some-list" some-list-bounces: "|/path/mailman/mail/mailman bounces some-list" some-list-confirm: "|/path/mailman/mail/mailman confirm some-list" some-list-join: "|/path/mailman/mail/mailman join some-list" some-list-leave: "|/path/mailman/mail/mailman leave some-list" some-list-owner: "|/path/mailman/mail/mailman owner some-list" some-list-request: "|/path/mailman/mail/mailman request some-list" some-list-subscribe: "|/path/mailman/mail/mailman subscribe some-list" some-list-unsubscribe: "|/path/mailman/mail/mailman unsubscribe some-list"
Should I just deliver all emails to one mailbox (some-list@site, some-list-subscribe@site, some-list-unsubscribe@site etc.), and fetchmail should fetch it to:
/path/mailman/archives/private/some-list.mbox/
?
-- Tomasz Chmielewski http://wpkg.org
![](https://secure.gravatar.com/avatar/55dd4b9d4dca2dc661df666477622d76.jpg?s=120&d=mm&r=g)
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
At 11:56 AM 11/7/2007, you wrote:
That won't work. You need to create each one of those aliases as a mailbox at your ISP. Then do a fetchmail on each one.
-----BEGIN PGP SIGNATURE----- Version: PGPfreeware 6.5.8 for non-commercial use <http://www.pgp.com>
iQA/AwUBRzIwJf34lmKmdrVUEQJaGQCeLO0s9sWQX4Qs//b2Ux1wXdOdpAwAn1Yr m92Mxi3gtysyEqWIjtehdQ3T =1HqL -----END PGP SIGNATURE-----
![](https://secure.gravatar.com/avatar/7bdecdef03708b218939094eb05e8b35.jpg?s=120&d=mm&r=g)
On 11/7/07, Tomasz Chmielewski wrote:
So, considering no MTA is running on a machine which runs mailman - how do I go through this part:
The way fetchmail works, you download e-mail from the remote server and pass it on to the local MTA. Therefore, you have to have a local MTA on the recipient machine. For Mailman, you need something to read those aliases and do the right thing with the messages being processed.
This local MTA doesn't have to be listening to any external ports or anything, but you do need something on that system to fill that role of taking the mail handed to it by fetchmail and then feeding that to the right program with the right command-line options. The easiest way to do that is to run a real MTA on that server.
-- Brad Knowles <brad@shub-internet.org> LinkedIn Profile: <http://tinyurl.com/y8kpxu>
![](https://secure.gravatar.com/avatar/17d1e2830e5be6b6186393408659ce74.jpg?s=120&d=mm&r=g)
Brad Knowles schrieb:
No, fetchmail can also work without a local MTA. It can pass fetched emails to a local programs or scripts, like:
# cat /tmp/deliver.sh #!/bin/bash
cat >> /tmp/text
# fetchmail -u user -m /tmp/deliver.sh mail.server Enter password for user@mail.server: 1 message for user at mail.server. reading message user@mail.server:1 of 1 (1631 header octets). (5 body octets) flushed
And we have a mail written to /tmp/text.
But I don't want or need any MTA here ;)
So I guess it's just a matter of simple scripting: fetching correct email using fetchmail, and passing it to mail/mailman program in a correct way. Anyone has it documented?
-- Tomasz Chmielewski http://wpkg.org
![](https://secure.gravatar.com/avatar/746f7519ba02fb0d815e59f305c53fa2.jpg?s=120&d=mm&r=g)
Tomasz Chmielewski wrote:
You can fetch the mail from the remote mailbox with fetchmail and pass it from fetchmail to procmail. Then in your .procmailrc you can set recipes to deliver to the Mailman mail wrapper with appropriate options.
Here's an example of procmail recipes used in a somewhat different context:
# LISTNAME mailman list.... :0
- EnvelopeTo ?? ^LISTNAME$ |sudo -u mailman /var/mailman/mail/mailman post LISTNAME :E
- EnvelopeTo ?? ^LISTNAME-admin$ |sudo -u mailman /var/mailman/mail/mailman admin LISTNAME :E
- EnvelopeTo ?? ^LISTNAME-bounces$ |sudo -u mailman /var/mailman/mail/mailman bounces LISTNAME :E
- EnvelopeTo ?? ^LISTNAME-confirm$ |sudo -u mailman /var/mailman/mail/mailman confirm LISTNAME :E
- EnvelopeTo ?? ^LISTNAME-join$ |sudo -u mailman /var/mailman/mail/mailman join LISTNAME :E
- EnvelopeTo ?? ^LISTNAME-leave$ |sudo -u mailman /var/mailman/mail/mailman leave LISTNAME :E
- EnvelopeTo ?? ^LISTNAME-owner$ |sudo -u mailman /var/mailman/mail/mailman owner LISTNAME :E
- EnvelopeTo ?? ^LISTNAME-request$ |sudo -u mailman /var/mailman/mail/mailman request LISTNAME :E
- EnvelopeTo ?? ^LISTNAME-subscribe$ |sudo -u mailman /var/mailman/mail/mailman subscribe LISTNAME :E
- EnvelopeTo ?? ^LISTNAME-unsubscribe$ |sudo -u mailman /var/mailman/mail/mailman unsubscribe LISTNAME
In this case, EnvelopeTo is set to an argument passed to procmail, but in your case with fetchmail from a single mailbox, the actual envelope recipient probably isn't available, so you may need to look at To: and Cc: headers instead which isn't as reliable.
The alternative as Dennis Putnam suggests is to create 10 mailboxes per list at the remote. Then you can use fetchmail to fetch from a specific mailbox and pipe to the wrapper with the appropriate arguments.
-- Mark Sapiro <msapiro@value.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
participants (5)
-
Brad Knowles
-
Dennis Carr
-
Dennis Putnam
-
Mark Sapiro
-
Tomasz Chmielewski