[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: OT: why I don't want CCs



On Wed, 16 Jul 2003 16:45:40 -0400
"Derrick 'dman' Hudson" <dman@dman13.dyndns.org> wrote:
> As Martin points out, the "Process" step you listed is a concise way
> of describing the job of an MTA.  The details of "Process" are defined
> in RFC 821, superseded by RFC 2821.

    The details of "process" is quite small.  Here, I've not gone and read
821/822 in a few years and haven't pawed through the 2xxx variants at all.

helo foo.bar
mail from: bloo@blorg.com
rcpt to: flop@mraz.com
data
<insert message here, be careful to escape those periods, people!>
.
quit

    Processing boils down to this:
You lose connection, error condition.
You get a 5xx error, error condition.
You get a 4xx error, error condition.

    In all cases fail the message, set it aside and wait for the user to
decide.  Of course that "wait", as I have indicated, doesn't mean "throw an
error and fail to do anything else until the user does decide something."

    It is /not/ that much more complex than doing a system call on
/lib/sendmail (that one always cracks me up) and checking the return value
from the shell.  You get an error, fail the message, set it aside and wait for
the user.

    Anyway, if you call that being an MTA then you have a grossly
underestimated opinion of what an MTA does.  That is simply access the MTA
through a different means.  It isn't trying to *be* an MTA.

    Now, I know I have oversimplified the process.  I also know that there are
a lot of steps left out which would not nor should not EVER be placed in a
mail client.  Far more steps that I've glossed over.  It doesn't invalidate
that the client sould (must) speak enough to do one thing.  "Here, deliver
this."

> Reading discussions between mail server admins on a few different lists
> reveals that many MUAs don't properly (or even *reasoanbly*) handle most of
> the potential error conditions that can arise while trying to send a
> message.

    Of course, with some examples I've seen that can't even handle the local
MTA not being there it isn't any wonder.  The clients I've used are not on
that list.

> | Also looks like IMAP, POP, HTTP, FTP...  Amazing that those clients
> | can communicate with the server, eh?  I don't see anyone here saying
> | they are trying to me daemons.
 
> The difference is that a MUA is _supposed_ to implement IMAP, and it
> implements it correctly and as a client.

    And a mail *client* should implement the protocols needed to perform its
function in the server/CLIENT setup.  Those protocols are SMTP/POP/IMAP.

> Now why in the world would you want HTTP or FTP in your MUA!?  
> I use a web browser when I want to browse the web :-).  But again, the
> browser correctly implements its responsibilities as an HTTP client and the
> issue doesn't arise.

    Exactly.  That's my point.  You don't use a "Web User Agent" which has to
access the remote sites through a "Web Transport Agent", do you?  You *can*,
it's called a proxy server but even then it is still speaking the same
protocol.  In the internet world people seem to think that mail clients are
the only clients which should not ever touch the protocol(s) they are supposed
to speak while not thinking anything about every other client they use on
a daily basis not being broken down in the same manner.

> Well, actually, IE doesn't-- thus when there is an error of any sort it
> simply drools and says "duh ...." but doesn't help you to identify or
> correct the problem.  

    And yet I doubt you're claiming that since IE is stupid all web browsers
should now go through a web transfer agent nor saying IE is trying to be a web
server.  You're calling it for what it is, a fooked up web client.

> That's the biggest problem with a MUA trying to be half of an MTA.  Most
> (all?) of them don't succeed at doing that.

    Examples?  As I said, what do all these wonderful MUAs you prefer do when
the MTA isn't available for that precious system call?  It is the exact same
error condition.  The only difference is the method of contacting the MTA. 
One is system(), the other is a port.

-- 
         Steve C. Lamb         | I'm your priest, I'm your shrink, I'm your
       PGP Key: 8B6E99C5       | main connection to the switchboard of souls.
	                       |    -- Lenny Nero - Strange Days
-------------------------------+---------------------------------------------

Attachment: pgpat3R0eH0tO.pgp
Description: PGP signature


Reply to: