Subject: send mail timing

From: "Brenda G. Spielman" <[email-masked]>
Date: Sun, 2 Apr 2000 15:52:56 -0400

We have an application using the c-client library to send messages via SMTP
under heavy load.  (version 4.7a)   We have observed that most of the time
during
the send is between sending the '.' for end the data to the server and
receiving the
250 response from the Server.

Currently the only open/send option being used is to turn debug on.  
(Which
seems to have no effect on the . to 250 timing.)  

Could anyone suggest some combination of IMAP open options which could
minimize this delay on 
the server side?  

The SMTP host being used by the application is also the location of the
mailboxes which are
being sent email.

We will be required to work with server different SMTP Servers. 

Thanks.
-- 
------------------------------------------------------------------
 For information about this mailing list, and its archives, see: 
 http://www.washington.edu/imap/c-client-list.html
------------------------------------------------------------------

---

From: Mark Crispin <[email-masked]>
Date: Mon, 3 Apr 2000 21:56:21 -0700 (PDT)

On Sun, 2 Apr 2000 15:52:56 -0400, Brenda G. Spielman wrote:
> We have observed that most of the time during
> receiving the 250 response from the Server.

This delay is entirely in the SMTP server.  The SMTP client (c-client in this
case) is required to wait for the 250 response before considering the message
as being successfully delivered.  I doubt that there is any change in c-client
that could be made that would in any way affect the delay in the SMTP server.

---

From: "Kevin W. Mullet" <[email-masked]>
Date: Tue, 04 Apr 2000 11:50:33 -0500

To followup on this,

I suspect that the way to eliminate your delay would be to configure 
the sendmail process receiving the c-client connection to have a 
delivery mode of "queue only" instead of "deliver in background".

Background delivery requires the sendmail process to expand all 
aliases and .forwards (for both local and remote addresses, I 
believe) before it can send the 250 message.

If your sendmail MTA is configured to work in queue-only mode, you'll 
have to ensure that you've got a separate deliver process either 
running constantly, or fired off every now and then through cron, or 
you mail just won't deliver your mail.  Running this way will let you 
dump mail into your queue a lot faster, though, at the cost of some 
immediacy of delivery.

-KwM-

--On Monday, April 03, 2000 9:56 PM -0700 Mark Crispin 
<[email-masked]> wrote:

>> the send is between sending the '.' for end the data to the server
>> and receiving the 250 response from the Server.
>
> This delay is entirely in the SMTP server.  The SMTP client
> (c-client in this case) is required to wait for the 250 response
> before considering the message as being successfully delivered.  I
> doubt that there is any change in c-client that could be made that
> would in any way affect the delay in the SMTP server.

--
Kevin W. Mullet                     University of North Texas
E-Mail: [email-masked]
Caveat: Nothing in this message is any entity's official opinion.
      "Never anthropomorphize computers; they hate that."

---

From: "Kevin W. Mullet" <[email-masked]>
Date: Sun, 09 Apr 2000 09:53:12 -0500

Does anyone have an idea of what the installed base of UW IMAP is?
What operating systems include UW IMAP by default?

Also, docs/internal.txt gives an overview of some of the history of 
c-client, but what of UW IMAPd in particular?  Could Mark C. or 
someone followup with an outline of how long imapd's been part of the 
c-client distribution, and a little bit about its history?

Thanks,

-KwM-

---
Kevin Mullet
University of North Texas
-- 
------------------------------------------------------------------
 For information about this mailing list, and its archives, see: 
 http://www.washington.edu/imap/c-client-list.html
------------------------------------------------------------------

---

From: Mark Crispin <[email-masked]>
Date: Sun, 9 Apr 2000 10:34:17 -0700 (PDT)

> Does anyone have an idea of what the installed base of UW IMAP is?

It exists on tens of thousands of sites worldwide, since it is bundled with
Pine.  I don't know how many of those sites actually use it.

> What operating systems include UW IMAP by default?

Most versions of Linux do.

> c-client distribution, and a little bit about its history?

I wrote imapd on November 5, 1990.  Because I used c-client, it took only a
couple of days to write imapd.  If you have the right underlying structures
and tools, any project can be reduced to triviality.

I wrote imapd because I was dissatisfied with the UNIX IMAP server that
existed at the time.  imapd quickly replaced that older server, particularly
when the MIME functionality (IMAP2bis) was added the next year.

>From inception, imapd supported multiple simultaneous access to a mail file
using tenex format.  Experts Who Knew More Than Me told me that it was
"impossible" to do that on UNIX.  I grit my teeth every time some clown today
tries to lecture me about multiple simultaneous access to a mail file.

Later, imapd added support for the traditional UNIX mailbox format.  I didn't
want to do it, because of the limitations of that format, such as not being
able to have multiple simultaneous access because of the requirements of
external legacy UNIX programs.  Support for these legacy programs was the
whole reason to implement traditional UNIX format.

Support for several other formats was added later.

---

From: "Kevin W. Mullet" <[email-masked]>
Date: Sun, 09 Apr 2000 17:42:36 -0500

--On Sunday, April 09, 2000 10:34 AM -0700 Mark Crispin 
<[email-masked]> wrote:

> It exists on tens of thousands of sites world-wide, since it is
> bundled with Pine.  I don't know how many of those sites actually
> use it.

Do you (or anyone else in listening range) have anecdotal information 
about some of the largest sites running UW and what, if any, kinds of 
modifications/extensions they've made to do so?  Clearly, running UW 
on a small to medium sized site is a very easy thing to do.  How 
about sites >10k users?  >100k users?

> Most versions of Linux do.

I'd suspect that because of this, the growth of UW IMAP and, by 
extension, the growth of the IMAP itself is tied somewhat to the 
growth of linux.

I've assumed from early on, that you, Mark, actually came up with 
IMAP, but I guess it bears asking out loud.  Did you "invent" IMAP, 
or were you an early "adoptive parent" who took an existing protocol 
through the RFC peer review process and has been a primary 
researcher/developer since?

>> someone followup with an outline of how long imapd's been part of
>> the c-client distribution, and a little bit about its history?

> I wrote imapd on November 5, 1990.  Because I used c-client, it
> took only a couple of days to write imapd.  If you have the right
> underlying structures and tools, any project can be reduced to
> triviality.

I get the sense from docs/internal.txt that c-client itself 
originated with Frank Gilmurrary and Bill Yeager at Stanford.  Who 
developed the first version of c-client, and when?

[...]
> Later, imapd added support for the traditional UNIX mailbox format.
> I didn't want to do it, because of the limitations of that format,
> such as not being able to have multiple simultaneous access because
> of the requirements of external legacy UNIX programs.  Support for
> these legacy programs was the whole reason to implement traditional
> UNIX format.
[...]

Said legacy programs being /bin/mail or whatever MDA is in use by 
Sendmail or whatever is the MTA de jour?  Ever been tempted to write 
a delivery agent to go along with UW IMAP, or would that necessitate 
Yet Another Mail Format?

Finally, I'd like to sound you and the C-CLIENTele about a broader 
structural issue (Maybe this is best posted to comp.sys.mail 
instead...).

Clearly, Sendmail (when run as a message-accepting daemon servicing a 
TCP/25 listen) is an Mail Transport Agent, and procmail or mail.local 
is a Mail Delivery Agent and Pine, Outlook Express or Mulberry is a 
Mail User Agent.

As what would you classify the user's imapd process on the mail 
server?  To my mind, it's a server-side MUA, since the process is 
dedicated to the users' communication with their mailbox or other 
mailboxes to which they have read access.  That process is there 
exclusively to complete the transactions requested by the mail 
client. Is there a consensus as to what IMAPd (or POP3d processes, 
for that matter) are in this model?

Thanks,

-KwM-

--
Kevin W. Mullet <[email-masked]>
University of North Texas

---

From: Mark Crispin <[email-masked]>
Date: Sun, 9 Apr 2000 15:48:52 -0700 (PDT)

> about sites >10k users?  >100k users?

All I can say is that we run it for our 80K user community.

> extension, the growth of the IMAP itself is tied somewhat to the

I disagree.  Pine proliferated IMAP for many years before Linux was commonly
available.  IMAP was already exploding when Linux appeared on the scene.

> researcher/developer since?

I invented IMAP entirely on my own in 1985.  I was told to "do distributed
mail" without much additional guidance.  Other than that, I had a free hand.

All of IMAP2 (RFC 1176) is my design; the only external influence was the
addition of command tags at the behest of my co-workers at Stanford (this was
the change from IMAP to IMAP2).  In the end, very few implementations actually
use tags (to have multiple commands in progress).  Command tags and the IMAP2
FIND command were the only external influence from Stanford.

The MIME extensions (BODY) are entirely my design as well; and I put a lot of
effort into the design of MIME to make it IMAP-friendly.

Subsequent additions (APPEND, CREATE, DELETE, RENAME, UIDs, hierarchy, partial
fetching, etc.) that also went into IMAP4 and IMAP4rev1 reflected community
involvement.  But I wrote the text in the specification.

In short, the first 9 years of IMAP were entirely mine with minimal external
influence.  There was another year or so in which CMU was the primary external
influence.

> developed the first version of c-client, and when?

You misread what internal.txt said:

     The c-client API was originally written by Mark Crispin at Stanford
 University as a set of routines to support IMAP and SMTP from a main
 program which would handle the user interface.  In its original form, it
 was written as the low-level routines that were to be used as part of a
 Macintosh client.
		[. . .]
      The real Mac client, was eventually written by Frank Gilmurrary and
 Bill Yeager at Stanford using the autumn 1988 version of c-client and named
 "MacMS".

I designed and wrote all of c-client, and started on c-client in 1988.  In
inception, it was a C port of the Interlisp-D client code that I wrote; and
some recognizable influence exists today between the imap4r1.c C file and the
IMAP2 Lisp file.

That's why it's called c-client.  It's the C client, as distinct from the Lisp
client.  Perhaps imapd should have been called the C server, as distinct from
the TOPS-20 assembly language server, but it wasn't.

Frank and Bill wrote an early user application (MacMS) that used c-client, but
they did not write any of c-client.  Other early c-client based applications
were mtest, MS (UNIX text program, looks like MM), and MailManager (NeXT GUI
program); all written by me.  mtest, MS, and MailManager all appeared before
MacMS did.

Pine was the first widely-distributed c-client application; and today Pine,
imapd, and ipop3d are the most widely-used c-client applications.

Earlier IMAP software was an Interlisp-D client called MM-D and a TOPS-20
server, both written by me in 1985/1986.  Bill wrote the first UNIX server
around 1987.  All of these early programs are now extinct.

MacMS is probably also moribund; if it had used a modern version of c-client
it may have lasted longer, but it used the old c-client code that I wrote at
Stanford and never upgraded to a modern UW c-client.  In all fairness, that
group at Stanford had severe funding cuts.  I turned out to be the first of a
flood of people who left.  In a few years, Frank, Bill, and all the other
senior people were gone.  That organization no longer exists.  The group that
I joined at UW was a vibrant new entity; and while it is no longer "new" it
certainly remains quite vibrant.

> Sendmail or whatever is the MTA de jour?

Yes.

> Ever been tempted to write

tmail and dmail are both MDAs that go along with UW imapd.  See the imap-utils
ftp://ftp.cac.washington.edu/mail/imap-utils.tar.Z for them.

> server?

imapd is an MUA.  If you have to distinguish it from IMAP clients, how about
MAA (Mail Access Agent)?