GNU Info

Info Node: (gawkinet.info)Email

(gawkinet.info)Email


Next: Web page Prev: Setting Up Up: Using Networking
Enter node , (file) or (file)node

Reading Email
=============

   The distribution of email is usually done by dedicated email servers
that communicate with your machine using special protocols. To receive
email, we will use the Post Office Protocol (POP).  Sending can be done
with the much older Simple Mail Transfer Protocol (SMTP).

   When you type in the following program, replace the EMAILHOST by the
name of your local email server. Ask your administrator if the server
has a POP service, and then use its name or number in the program below.
Now the program is ready to connect to your email server, but it will
not succeed in retrieving your mail because it does not yet know your
login name or password. Replace them in the program and it shows you
the first email the server has in store:

     BEGIN {
       POPService  = "/inet/tcp/0/EMAILHOST/pop3"
       RS = ORS = "\r\n"
       print "user NAME"            |& POPService
       POPService                    |& getline
       print "pass PASSWORD"         |& POPService
       POPService                    |& getline
       print "retr 1"                |& POPService
       POPService                    |& getline
       if ($1 != "+OK") exit
       print "quit"                  |& POPService
       RS = "\r\n\\.\r\n"
       POPService |& getline
       print $0
       close(POPService)
     }

   The record separators `RS' and `ORS' are redefined because the
protocol (POP) requires CR-LF to separate lines. After identifying
yourself to the email service, the command `retr 1' instructs the
service to send the first of all your email messages in line. If the
service replies with something other than `+OK', the program exits;
maybe there is no email. Otherwise, the program first announces that it
intends to finish reading email, and then redefines `RS' in order to
read the entire email as multiline input in one record. From the POP
RFC, we know that the body of the email always ends with a single line
containing a single dot.  The program looks for this using `RS =
"\r\n\\.\r\n"'.  When it finds this sequence in the mail message, it
quits.  You can invoke this program as often as you like; it does not
delete the message it reads, but instead leaves it on the server.


automatically generated by info2www version 1.2.2.9