E-mail - Servers

Volin Karagiozov - V.Karagiozov@mgu.bg

University of Mining and Geology "St. Ivan Rilsky", Bulgaria


Terminology

(RFC 1711 - Classifications in E-mail Routing )


Mail Standards and Protocols

(IMC - Internet Mail Consortium)

Internet mail standards and protocols fall into some broad categories. Of course, some standards straddle more than one category, but they can all fit into at least one of the following:

 
 

 Sendmail

 

Sendmail original site is http://www.sendmail.org  
Current Sendmail release is 8.8.7 

The O'Reilly Book  By Brian Costales & Eric Allman, 2nd Edition January 1997,1-56592-222-0  

Known BUGS  
"A list of the known bugs in sendmail. This list isn't always terribly up to date." 
 
 

 

 

qmail

 

  [for more logo suggestions]

qmail (D. J. Bernstein, mail@pobox.com)

qmail is a modern replacement for sendmail. 
It's written by  Dan Bernstein, who has a web page for qmail. 

Contents: 

  • History
  • Background 
  • Features
  • Qmail data flow
  • Aliases
  • Mailing lists
  • Masquarading
  • Security considerations
  • Bugs

 


History

Beta testing for qmail began in January 1996. Gamma testing began in August 1996. The final gamma release, 0.96, has been running at hundreds of sites since January 1997. There are no code changes between 0.96 and 1.00.


Background


Features:

Setup:

Security:

Message construction (qmail-inject):

SMTP service (qmail-smtpd):

Queue management (qmail-send):

Bounces (qmail-send):

Routing by domain (qmail-send):

SMTP delivery (qmail-remote):

Forwarding and mailing lists (qmail-local):

Local delivery (qmail-local):

POP3 service (qmail-popup, qmail-pop3d):

       

  

Qmail data flow


qmail-smtpd --- qmail-queue --- qmail-send --- qmail-rspawn --- qmail-remote
               /                     |      \
qmail-inject _/                 qmail-clean  \_ qmail-lspawn --- qmail-local

Every message is added to a central queue directory by qmail-queue. qmail-queue is invoked as needed, usually by qmail-inject for locally generated messages, qmail-smtpd for messages received through SMTP, qmail-local for forwarded messages, or qmail-send for bounce messages.

Every message is then delivered by qmail-send, in cooperation with qmail-lspawn and qmail-rspawn, and cleaned up by qmail-clean. These four programs are long-running daemons. 



Aliases


Mailing lists

Example: I'd like me-sos@my.host.name to be forwarded to a bunch of people.



Masquarading



Security considerations

BUGS

Three qmail bugs have been reported recently by Wietse Venema:

All these bugs can be blocked by defining  upper  bound  on  the  number  of RCPT commands per message (2), some  upper  bound  on  the  amount  of data that qmail-smtpd  reads per command (1,3).


References and further readings:

Email References:  links to RFCs and drafts about MIME, SMTP, Internet
                              security, and other related topics.