Re: [Exim] Exim on a single-user system

Top Page
Delete this message
Reply to this message
Author: dman
Date:  
To: exim-users
Subject: Re: [Exim] Exim on a single-user system
On Wed, Jan 02, 2002 at 10:38:07AM -0500, Derek Broughton wrote:
| Matthew Byng-Maddick wrote:

|
| >On Wed, Jan 02, 2002 at 09:18:54AM -0500, Derek Broughton wrote:
| >
| >>SMTP. It just needs to pass the message in accordance with the rules of
| >>SMTP.
| >>
| >
| >Which include accepting the message, queuing said message if a connection
| >can't be established etc. SMTP is a protocol. It's more than just the
| >commands and the standard port, it defines how you deal with the data you
| >get as well. MUAs that "implement SMTP" do not actually implement SMTP.
| >They implement the limited subset that involves the connection and the
| >command-response set talked over that connection. This, IMHO, is quite
| >quite different from what an MTA does, which *is* implement SMTP.

|
| Of course, but my entire point is not that MUAs shouldn't implement SMTP
| - they shouldn't - but dman said they shouldn't have anything to do with
| SMTP, and I believe that talking to an SMTP server is a perfectly
| acceptable way to pass on a message.


The problem here is that "talking to an SMTP server" requires
implementing SMTP, if you are going to do it correctly.

| >>Perhaps, but no matter what you'd like to be the state of the world, the
| >>majority of MUAs are running on Windows and MUST deliver via SMTP.
| >
| >Erm, no. You're misusing "MUST", which when put like that I read in an
| >RFC way. An MTA SHOULD support SMTP/ESMTP. An MUA MAY support SMTP. I'm

|
| No I'm not. A Windows MUA MUST provide a way to deliver via SMTP. They
| don't need to properly support the full function, but they have no other
| means to deliver their mail.


Wrong. I used mutt on windows for a long time, and I was very happy
with it. Certainly the windows machine was sorely lacking in software
when the install was complete, but that merely means that I must take
responsibility for fixing that. I did by installing 'ssmtp', a
minimalistic MTA that hands off messages to a smarhost via SMTP.

| >not sure how many windows MUAs deal correctly with, for example,
| > >>> 421 Too busy, try again later
| >as an opening banner.

|
| What's the problem. Either they try to have a conversation and time
| out, or they return as undeliverable immediately. Either way, they hang
| on to your mail until you tell it what to do.


So why don't you just write your mail with telnet in the first place?
Either the server will take the message or tell you to bug off, just
the same.

| >Just because they run under windows doesn't mean that they shouldn't do
| >things properly. I appreciate that currently they don't, but OTOH them

|
| So 'properly' would be to implement a Windows MTA ??? Ack!


Yes -- see above, it is done already!

| >>THough I'd argue that it could _decrease_ complexity.
| >
| >I think you don't understand the full implications of the SMTP *protocol*,
| >as I say above, it's more than just a set of commands and the responses.

|
| You're wrong. From an MUA's point it IS just a set of commands and
| responses. As I keep saying, an MUA _shouldn't_ implement SMTP, it
| should just be able to talk to an SMTP server to send its mail.


A pipe is just a matter of
    output_file = popen( "/usr/bin/sendmail -bs" )
    while <I still have data left to transfer> :
        output_file.write( <next bit of data> )
    output_file.close()


working with SMTP, even only half-heartedly, is more complicated than
that.

| >>>problems). For incoming SMTP connections, exim must verify the
| >>>legitimacy of the message however from a pipe, the message is
| >>>obviously legit since it originates from a user on the system.
| >>>
| >>But the SMTP daemon always needs to verify the legitimacy of a
| >>connection anyway, there's no reason that it has to do any more work
| >
| >Not if it's a pipe it doesn't.

|
| If it's a pipe, it isn't an SMTP daemon...


exim is an SMTP daemon, but it accepts messages from a pipe as well.

| >>>I've seen (or heard
| >>>of) many MUAs that try to implement everything for themself (POP,
| >>>IMAP, SMTP, etc) and are often buggy.
| >>>
| >>I've never tried using an MUA that 'implements' any of them. They just
| >>talk to programs that implement the protocol. I can't really see how
| >
| >like, for example, MTAs, by using a /usr/lib/sendmail type interface.

|
| But the point has been made, and not disputed, that there are a huge number
| of systems out there without an MTA.


There are also a lot of broken or incomplete systems. It doesn't make
it right. Install ssmtp on the system if it lacks an MTA and you
don't want/need local delivery.

| >POP is more of an interesting one, because most implementations require
| >you to have an MTA locally anyway, so that the POP client delivers to
| >the MTA, which delivers to the mailbox, as configured. You are also
| >missing, as someone else pointed out upthread, that you want an MTA for
| >messages from, eg. cron. Just using the MUA, however, is potentially a
| >valid POP implementation.

|
| No, I'm not missing that at all. You're missing that there are millions
| of systems that don't have cron or anything else that needs to automate
| mailing. If you have an MTA, it's not a problem to pipe to it - though
| there is the problem that there is no _standard_ for doing that, only a
| consensus on most (maybe all) *nixes that we'll use sendmail.


There is a standard for piping. There's also a de-facto standard for
what the command is and what the arguments to the command should be.
A de-facto standard is really no worse than an RFC specified standard
as long as the standard is good. How many systems violate RFC
specified standards anyways?

| There is, though a standard for SMTP.


Yes, but a pipe is still simpler and puts less responsibility in the
MUA (or any other program that wants to send mail for whatever
reason).

| >But in this discussion, and I'll say it again because I think it's so
| >important, implementing SMTP commands and responses is not the same as
| >implementing SMTP.

|
| I think it's important too. I have said from the beginning that I agree
| it isn't correct for an MUA to implement SMTP, but that it should be
| able to talk to an SMTP server.


Those are the same thing, unless you do it incorrectly (or
incompletely).

| >>(btw, it's a darn good thing mozilla talks SMTP - so that I can skip
| >>straight through to my smarthost - because I'm having a hard time
| >>getting exim to accept my outbound messages right now. I wish I could
| >>figure out what I've screwed up :-) ).
| >
| >That is not a reason for doing things in the wrong way.

|
| I wouldn't dream of doing things in a wrong way :-) Fortunately,
| there's nothing in what you've said to suggest that this is wrong.


See above :-).

-D

--

Bugs come in through open windows. Keep Windows shut!