Logic Flow - 13 Nov 2004

  1. Connection: (arguments: hostname, IP address)
    1. If config file has changed, reload
    2. Accept any connection from 127.0.0.1
    3. Accept any connection from the Global IP Whitelist
    4. If greylisting, check against the greylist and TEMPFAIL if necessary
    5. Reject any connection from the Global IP Blacklist
  2. [optional] HELO/EHLO: (argument: hostname)
    1. Reject any IP address argument in the Global IP Whitelist (spoof prevention)
  3. MAIL: (argument: envelope sender)
    1. If using MX verification, attempt a connection to the MX or A record of the envelope sender domain.
  4. RCPT: (argument: envelope recipient)
  5. BODY: Headers (arguments: header name, header value)
  6. BODY: End of Headers (arguments: [none])
  7. BODY: Text (arguments: body text, text length)
  8. BODY: End of Message (arguments: [none])
  9. If another message is to be sent in this connection, repeat at MAIL above.