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

Re: OT: why I don't want CCs



On Wed, Jul 16, 2003 at 03:23:50PM -0700, Steve Lamb wrote:

> 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.

WRONG!  Completely and utterly wrong.  The error codes have specific
meanings and those meanings should be followed.  Anything less is an
incomplete implementation.

> 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.

No, it is different.  SMTP communication is not a basic as a system call
with a success or failure return code.

> 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."

And leave out key parts of the protocol, no.  Implement the entire
protocol or don't do it.  And as far as I'm concerned an MUA shouldn't
speak SMTP at all, there is absolutely no need for it.  

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

There is no need for the MUA to implement SMTP.  That fact that many do,
is very sad.  The MUA simply needs to be able to pass the message on to
another tool for proper delivery.  If you still think SMTP transmission
is as simple as piping it to a command line utility and checking the
return code, you're sorely mistaken.

> 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.

No it's not.  During the SMTP communication you can get a variety of
error codes.  Some permanent errors and others temporary.  To treat them
all the same and leave them up to user interaction is wrong.

> The only difference is the method of contacting the MTA. 
> One is system(), the other is a port.

No, the difference is a complete vs incomplete implementation of SMTP.

-- 
Jamin W. Collins

To be nobody but yourself when the whole world is trying it's best night
and day to make you everybody else is to fight the hardest battle any
human being will fight. -- E.E. Cummings



Reply to: