logs home : internet : mail : toaster : FAQ : message routing submitting patches

What is the typical route an incoming message takes?

Here's the full pipeline of programs that get run between incoming remote SMTP connection and mail delivery on a "typical" toaster:

  • A) SMTP phase
    • 1. softlimit (makes sure the connection doesn't use too much RAM)
    • 2. tcpserver (handles the incoming TCP connection and applies local rules)
    • 3. rblsmtpd (applies RBL and RWL rules to incoming connections)
    • 4. qmail-smtpd (manages the conversation with the remote SMTP client)
    • 5. simscan
    • 6. qmail-queue (places non-rejected mail into local queue)
  • B) Local Delivery Phase
    • 1. qmail-send (reads mail from local queue)
    • 2. qmail-lspawn (decides whether to deliver the mail locally)
    • 3. qmail-local (.qmail processing)
    • 4. maildrop (runs the mailfilter script)
    • 5. deliverquota

qmail-local reads the .qmail files and passes control of the message to programs specified there.

deliverquota is called by the mailfilter script to check quotas and deliver the message to the appropriate Maildir if the quota is okay.

by David Chaplin-Loebell

How do I route outgoing mail through my ISP's SMTP server?

A: If your ISP's mailserver is mail.someisp.net, add

  • :mail.someisp.net

to the bottom of /var/qmail/control/smtproutes. This will only work if your ISP allows relaying from its entire dynamic IP range. This is usually the case. -- Tor Willy Austeratt

Last modified on 4/26/05.