On Wed, 16 Jul 2003 16:45:40 -0400 "Derrick 'dman' Hudson" <[EMAIL PROTECTED]> 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: [EMAIL PROTECTED] rcpt to: [EMAIL PROTECTED] 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 -------------------------------+---------------------------------------------
pgp00000.pgp
Description: PGP signature