On Mon, 30 Oct 2000 [EMAIL PROTECTED] wrote:

> Does sendmail support POP3.  I have sendmail installed on my box at
> home, supporting a small local network and am trying to use windows 9X
> and 2000 to retrieve my mail threw outlook express.  I also have a
> unit outside the network that I wish to get my email from at work.  I
> wish to configure it to use the POP3 protical.  I am having no luck at
> all finding any reference to POP at all (only SMTP).  Any help would
> be great.

The short answer is that no, sendmail doesn't do POP3 (or if it does, it's
much more trouble than its worth to configure it.) Take a look at the
"fetchmail" package (start with "man fetchmail" from a command
prompt). It's easy to set up and works well.

Now for the long answer. Unix purists, please disregard the occasional
handwaving - I'm trying to keep this thing readable, and, frankly,
sendmail's complex enough that I don't claim to really understand it.

Sendmail handles mail delivery. It evolved in a world where computers were
mostly always connected to the Internet, and where each computer had its
own IP address. It actually has three functions.

First, let's say you want to send some mail. Your e-mail agent (pine,
kmail, Netscape Messenger, or whatever other one you choose) will accept a
bunch of text from you and properly format it as a mail message. Then it
has to do something to get that mail message to wherever it's going.

What it does is to give that message to sendmail, which puts it into a
mail queue, a waiting list of messages that are going to the outside
world. If you're running on a computer that's always connected to the
Internet, and that has a static IP address, then the "sendmail" process
that those programs give the mail to is probably running locally on your
machine. Otherwise, if you're connected through a PPP session or have a
machine that's gotten its IP address through DHCP, then those programs
probably give your mail to an "SMTP server", which is a separate machine
running sendmail (or an equivalent program).

So, that's sendmail's first function: it gets messages from user programs
and puts them into a mail queue.

The mail message sits in a mail queue for a while. Then, periodically,
sendmail wakes up and tries to deliver all the messages in the queue. It
looks at each message in turn, sees where it's going, and contacts the
sendmail program running on that target machine. Remember when I said it
evolved in a world where most machines were connected most of the time? If
that target machine isn't there, sendmail can't do its job and usually
bounces a message back to the sender complaining about that fact. That's
why people with dynamic IP addresses use a different machine, with a
static IP address, to receive their mail.

So, sendmail's second function is to deliver the messages in the mail
queue.

Finally, when sendmail on the destination machine receives a message, it
has to do something with it. What it does is "local delivery". It figures
out which user is supposed to get the message and puts it in a "mail
spool" (what many mail clients would call your "INBOX"), which is nothing
more than a file or directory on the machine where the mail waits until
the next time the user reads it.

So, sendmail's third function is "local delivery" on the target machine.

There's another time sendmail can do "local delivery". Let's say you're
sending an e-mail message to another user who's on your same machine,
which is less common now but was quite common in the days when the only
computers powerful enough to run Unix were large, multi-user systems. In
that case, there's no sense in sending the message across the Internet
since it'll just come right back to the machine that sent it. So, sendmail
is a little smarter about it: if you're sending mail to another user on
your own machine, sendmail immediately switches to "local delivery" and
puts it in the proper place.

Now, sendmail only knows how to receive a message from another sendmail
process (the second function) or from a program (like a mail delivery
system). It doesn't know how to receive POP messages. (Why? Because the
philosophy is different. When sendmail receives, it expects someone else
to actively wake it up and give it a message. POP requires a program to
actively go out and pester someone else and collect the messages. Fitting
POP onto sendmail would be nasty and difficult.)

Since most people these days connect through a dial-up account, sendmail
is a poor fit for their machines, because it's not connected all the time.
So most ISPs provide a POP server, which is a machine running sendmail (to
get connections from other sendmail machines) that provides its users
access to the mail spool on the POP machine using the POP protocol.

That's where fetchmail comes in. Fetchmail runs periodically on your local
machine and knows how to do POP. It starts up, talks to a POP server where
your mail resides, collects the message, and then gives them to sendmail
for local delivery. Sendmail then dumps them into your local mail spool,
where your e-mail client can get them.

Hope this helps!

- Jeff


Reply via email to