From: Rob F. <rf...@fu...> - 2004-06-17 18:44:25
|
This came up at LWN.net.... I thought it might be useful to bring it over here. I have to admit I agree with at least a few of his complaints. ---------- Forwarded Message ---------- > I'm interested in why you hate fetchmail. Put succinctly, because I think it does not make simple things simple. For example I would expect what I consider to be a trivial thing, get new messages from a POP account and put them into a Maildir, to be trivially simple, essentially something like fetchmail --mailbox my/maildir/path/ pop3://username:password@host For me, getting fetchmail to do this was far from trivial, but then I have to admit I do not find the fetchmail user interface (command line options and configuration file) to be at all intuitive, so I may not be understanding. I found that fetchmail did not seem to be happy about running multiple instances at once, about delivering directly to a Maildir, about having multiple independent POP accounts on the same host, and about running without a configuration file, all things which I think should just work right out of the box for a program called "fetchmail". ----------- |
From: Brian C. <B.C...@po...> - 2004-06-17 19:25:06
|
On Thu, Jun 17, 2004 at 12:44:07PM -0400, Rob Funk quoted: > For me, getting fetchmail to do this was far from trivial, but then I > have to admit I do not find the fetchmail user interface (command line > options and configuration file) to be at all intuitive, so I may not be > understanding. I found that fetchmail did not seem to be happy about > running multiple instances at once, about delivering directly to a > Maildir, about having multiple independent POP accounts on the same > host, and about running without a configuration file, all things which I > think should just work right out of the box for a program called > "fetchmail". Yep, that's pretty fair. In particular, I have poll pop3.mydomain.com ... account 1 settings skip pop3.mydomain.com ... account 2 settings and the only way I can make a poll of account 2 is by editing the config file before polling. The config language is a nightmare, and pretty illogical (e.g. settings which I think should be settable globally and inherited by all accounts, like 'ssl' for example, aren't; and working out which settings apply to hosts and which to users has had me digging in the source code more than once). To be fair to fetchmail, in the olden days it *did* offer direct to mailbox delivery, and it was ESR's decision that the design would be made much cleaner by having delivery to a local SMTP daemon instead. Then slowly, things crept back in like delivery via a pipe to procmail, delivery by invoking an MTA command-line directly, delivery by LMTP... but things I *actually* want, like delivery to a Maildir, aren't there. Regards, Brian. |
From: Perry H. <phu...@be...> - 2004-06-17 22:09:45
|
> ... In particular, I have > > poll pop3.mydomain.com ... account 1 settings > skip pop3.mydomain.com ... account 2 settings > > and the only way I can make a poll of account 2 is by editing the > config file before polling. I thought the cure for that sort of thing was to run two (or more) instances of fetchmail, each with a different setting of FETCHMAILHOME. > The config language is a nightmare, and pretty illogical (e.g. > settings which I think should be settable globally and inherited > by all accounts, like 'ssl' for example, aren't; and working out > which settings apply to hosts and which to users has had me > digging in the source code more than once). I haven't been reduced to digging in the source, but have had some trial and error finding out whether certain settings are "host" or "user". This is largely a matter of incomplete documentation :( > To be fair to fetchmail, in the olden days it *did* offer direct > to mailbox delivery, and it was ESR's decision that the design > would be made much cleaner by having delivery to a local SMTP > daemon instead. Then slowly, things crept back in like delivery > via a pipe to procmail, delivery by invoking an MTA command-line > directly, delivery by LMTP... but things I *actually* want, like > delivery to a Maildir, aren't there. As long as we have the ability to hand off to a specified agent, I would think it preferable -- at least, more modular -- to use a different external agent for each type of local mail store, rather than to try to amalgamate the lot of them into fetchmail. You can have fetchmail invoke the same local delivery program that sendmail would use to write to a maildir. |
From: Rob F. <rf...@fu...> - 2004-06-17 22:34:39
|
Perry Hutchison wrote: > > and the only way I can make a poll of account 2 is by editing the > > config file before polling. > > I thought the cure for that sort of thing was to run two (or more) > instances of fetchmail, each with a different setting of FETCHMAILHOME. You must admit, though, that that's a bit of an ugly hack. > > The config language is a nightmare, and pretty illogical (e.g. > > settings which I think should be settable globally and inherited > > by all accounts, like 'ssl' for example, aren't; and working out > > which settings apply to hosts and which to users has had me > > digging in the source code more than once). > > I haven't been reduced to digging in the source, but have had some > trial and error finding out whether certain settings are "host" or > "user". This is largely a matter of incomplete documentation :( Yeah, one big thing that we need to do is fix the documentation to separate the categories of settings. Ideally I'd love to figure out a way to fix the config language to make this more explicit, but that has a lot of problems. Fixing the docs would go a long way. > > To be fair to fetchmail, in the olden days it *did* offer direct > > to mailbox delivery, and it was ESR's decision that the design > > would be made much cleaner by having delivery to a local SMTP > > daemon instead. Then slowly, things crept back in like delivery > > via a pipe to procmail, delivery by invoking an MTA command-line > > directly, delivery by LMTP... but things I *actually* want, like > > delivery to a Maildir, aren't there. You could have procmail deliver to a maildir. > As long as we have the ability to hand off to a specified agent, > I would think it preferable -- at least, more modular -- to use a > different external agent for each type of local mail store, rather > than to try to amalgamate the lot of them into fetchmail. You can > have fetchmail invoke the same local delivery program that sendmail > would use to write to a maildir. True. On the other hand.... ESR would hate the idea, but I actually think that maildir is a decent candidate for inclusion because it doesn't have the locking headaches that other formats have. Of course, I was the one who successfully fought to get mda support put back into fetchmail after ESR removed it way back when. -- ==============================| "A microscope locked in on one point Rob Funk <rf...@fu...> |Never sees what kind of room that it's in" http://www.funknet.net/rfunk | -- Chris Mars, "Stuck in Rewind" |
From: Brian C. <B.C...@po...> - 2004-06-18 10:01:20
|
On Thu, Jun 17, 2004 at 01:08:38PM -0700, Perry Hutchison wrote: > As long as we have the ability to hand off to a specified agent, > I would think it preferable -- at least, more modular -- to use a > different external agent for each type of local mail store, rather > than to try to amalgamate the lot of them into fetchmail. You can > have fetchmail invoke the same local delivery program that sendmail > would use to write to a maildir. You still use *sendmail* ?? :-) |
From: Brian C. <B.C...@po...> - 2004-06-18 23:16:39
|
On Fri, Jun 18, 2004 at 11:07:09AM -0700, Perry Hutchison wrote: > > > You can have fetchmail invoke the same local delivery program > > > that sendmail would use to write to a maildir. > > > > You still use *sendmail* ?? > > Yes, is that a problem? > > s/sendmail/your local MTA/ > > if you prefer :) I use Exim, and it doesn't invoke any local delivery program. (It *can*, but in a normal configuration there's no need). All I'm trying to say is, you can't rely on the existence of a separate local delivery program on the system where you install fetchmail. Regards, Brian. |
From: Perry H. <phu...@be...> - 2004-06-18 23:39:08
|
> > > > You can have fetchmail invoke the same local delivery program > > > > that sendmail would use to write to a maildir. > > > > > > You still use *sendmail* ?? > > > > Yes, is that a problem? > > > > s/sendmail/your local MTA/ > > > > if you prefer :) > > I use Exim, and it doesn't invoke any local delivery program. > (It *can*, but in a normal configuration there's no need). > > All I'm trying to say is, you can't rely on the existence of a separate > local delivery program on the system where you install fetchmail. Aha. *That* is a good point, which I had not picked up from the previous discussion. (I have heard of Exim, but know essentially nothing about it.) I'm still inclined toward the modular approach, but this suggests a need for the fetchmail documentation to include suggestions of where to find simple LDA's for various formats. Certainly procmail is one possibility, but not everyone who needs to use an LDA rather than the local MTA will need the full capabilities (and attendant configuration requirements) of procmail. |