User:David MacQuigg/Sandbox/Email agents

From Citizendium
< User:David MacQuigg‎ | Sandbox
Revision as of 15:24, 12 August 2009 by imported>David MacQuigg
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This article is a subtopic in a cluster of articles under Email system. We assume the reader understands that parent article and its terminology. This article will go into more detail on Actors and their roles. We define each role in terms of the responsibilities associated with that role. We illustrate the use of roles as building blocks in diagrams of various typical email systems.

Actors and Roles

Actors include Users and Agents
Agents may play more than one role
Typical roles include Transmitting, Receiving, Forwarding, and Delivery.
A Border shows where there is no prior relationship between Agents.
--> Direction of mail flow (no statement as to relationship)
==> Direct relationship between Actors (e.g. a contract)
~~> Indirect relationship (e.g. both directly related to Recipient)
A/B Roles A and B both played by the same Actor


Roles and Responsibilities

Author
- Originate messages
- Provide a password or other means of authentication
MSA - Mail Submission Agent
- Authenticate the Author
- Manage Author accounts
Transmitter
- Spam Prevention
  - rate limits, content analysis, alerts
  - respond to spam reports
  - maintain reputation
- Authentication
  - RFC compliance
  - IP authorization (SPF, SID, CSV, ...)
  - signatures & key management (DKIM ...)
  - Return Address validation code
- Process SMTP Rejects
Receiver
- Block DoS
- Authenticate Sender
  - HELO, Return Address, Headers, Signature
  - reject forgeries
- Assess reputation
  - whitelists
- Filter spam
- Add authentication headers
- Manage Recipient accounts/options
  - whitelisting, blacklisting, filtering, blocking, forwarding
- Process spam reports, DSNs
Forwarder
- Authenticate upstream Agent
- Set up forwarding to downstream Agent
  - check RFC compliance
  - set up authentication records
  - submit forwarding request, wait for approval
- Manage Recipient accounts
  - maintain database of forwarding addresses
  - suspend account when a message is rejected
  - communicate w Recipient re  "      "
- Maintain reputation as a trusted Forwarder
  - certifications
- Process SMTP Rejects
MDA - Mail Delivery Agent
- Authenticate upstream Agent
- Sort and store messages
- Provide access for Recipients
  - POP3, IMAP, Webmail
- Manage Recipient accounts/options
- Relay spam reports to Receiver (or don't accept them)
Recipient
- Set up accounts with each Agent
- Select options in each account
- Report spam to Receiver
Mediator
- Receive - Process - Resend automatically
- Acts as an Agent, but
- Classified as a User for simplicity

Typical Systems

Basic setup with four actors

|--- Sender's Network ---|           |-- Recipient's Network -|
                                /
Author ==> MSA/Transmitter --> / --> Receiver/MDA ==> Recipient
                              /
                           Border
          

Simple forwarding is quite common

          |-------- Recipient's Network ---------|
     /
--> / --> Receiver/Forwarder ~~> MDA ==> Recipient
   /
 Border

Chain forwarding should be discouraged

          |------------ Recipient's Network ------------|
     /
--> / --> Receiver ~~> Forwarder(s) ~~> MDA ==> Recipient
   /
 Border

Open forwarding must be banned

     /                   /    |-- Recipient's Network -|
--> / --> Forwarder --> / --> Receiver/MDA ==> Recipient
   /                   /
 Border              Border