On Wed, 15 Jul 1998, Andy Mell wrote:
> Pine 4.00 is now released (on ftp.cac.washington.edu) and it appears to be
> very nice.
... provided you don't swap between it and another MUA, and provided no
scripts or whatever expect "empty mailbox" to be "zero length mailbox".
> This has two new features that are reliant on mailer features. verbose
> smtp and DSN delivery notification. Does anyone think that exim should
> support these?
DSN has been raised before. I have investigated it. It is not too hard
to get Exim to accept DSN parameters on incoming SMTP calls and
transport them around with addresses and send them out with outgoing
SMTP calls. However, I got stuck when trying to figure out how to use
them within Exim itself.
* It is easy enough (in principle) to use DSN when a delivery fails or
is deferred. Indeed, these are the times when Exim already sends
messages.
* It isn't possible for Exim to know whether a delivery to a local
transport is a "delivery" or a "relay". I suppose the transport could
have an option specifying this.
* It would be a bit harder work to get it to send back a "relayed"
message if an SMTP transport was unable to pass on the DSN data (because
it is running in a different process potentially) but in principle could
be done.
* Where I cannot see what to do is in the case of addresses that get
expanded by .forward files or aliases. The RFC allows almost anything.
There is also a security issue. If a user's .forward file contains
otheruser@???
one could just pass the DSN data on, but then the sender might
eventually get "delivered to otheruser@???", which reveals the
contents of the .forward file. End users are certain to have opinions
about this. More complicated is
user, |some pipe command, /some/file, other@???
OK, you could just ignore the pipe and the file, but how to treat the
others? And what do you do if the .forward file contains only
|some pipe command
? Is that a "delivery" to the user or isn't it? All this stuff applies
to alias files as well, of course, and to things like smartuser, which
can change an address in an aliasing kind of way.
Implementing DSN at all would, I suspect, increase the size of Exim by
quite a bit. I would certainly enclose it all in conditional compilation
switches so that those of us that don't want it can avoid the code
overhead.
[I personally am not keen on DSN. Quite apart from the problems of
implementation, it increases the number of automatic messages filling up
the net, and then there will be those to undeliverable sender addresses
on DSN-containing SPAM which will waste postmaster's time. I've always
thought that the best way to implement notification that the receiver
has seen your message is to put the magic letters RSVP at the bottom.]
> verbose SMTP is enabled by sending VERB or VERB ON to the server when the
> connection is initiated and this produces some extra debug output about
> whats happening to the message.
I don't suppose there's an RFC documenting how this is supposed to work?
What is the "what's happening" that it is supposed to tell you about? As
far as Exim goes, there's not much to tell during the SMTP session
anyway. All the delivery stuff happens afterwards.
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.
--
*** Exim information can be found at
http://www.exim.org/ ***