paul@955 | 1 | = Local SMTP Delivery = |
paul@955 | 2 | |
paul@955 | 3 | By employing local SMTP, the burden of routing messages to suitable storage |
paul@976 | 4 | becomes a configuration problem within the mail system itself. |
paul@955 | 5 | |
paul@971 | 6 | {{{#!graphviz |
paul@971 | 7 | //format=svg |
paul@971 | 8 | //transform=notugly |
paul@971 | 9 | digraph local_smtp { |
paul@971 | 10 | node [shape=box,fontsize="16.0",fontname="sans-serif",tooltip="Local SMTP delivery"]; |
paul@971 | 11 | edge [tooltip="Local SMTP delivery"]; |
paul@971 | 12 | rankdir=LR; |
paul@971 | 13 | |
paul@971 | 14 | mail [label="Incoming mail",shape=folder,style=filled,fillcolor=cyan]; |
paul@971 | 15 | |
paul@971 | 16 | subgraph { |
paul@971 | 17 | rank=same; |
paul@971 | 18 | personrouter [label="Person router"]; |
paul@971 | 19 | localrouter [label="Local router"]; |
paul@971 | 20 | recipients [label="Recipient database",shape=folder]; |
paul@971 | 21 | } |
paul@971 | 22 | |
paul@971 | 23 | subgraph { |
paul@971 | 24 | rank=same; |
paul@971 | 25 | personhandler [label="Person handler",style=filled,fillcolor=gold]; |
paul@971 | 26 | localtransport [label="Local transport"]; |
paul@971 | 27 | } |
paul@971 | 28 | |
paul@971 | 29 | mailbox [label="Mailboxes\n(Cyrus, Dovecot, ...)",tooltip="Mailboxes"]; |
paul@971 | 30 | |
paul@971 | 31 | mail -> personrouter -> personhandler; |
paul@971 | 32 | |
paul@971 | 33 | recipients -> personrouter; |
paul@971 | 34 | recipients -> localrouter; |
paul@971 | 35 | |
paul@971 | 36 | personhandler -> localrouter -> localtransport -> mailbox; |
paul@971 | 37 | } |
paul@971 | 38 | }}} |
paul@971 | 39 | |
paul@976 | 40 | Here, imip-agent connects to the mail transport agent (MTA) and sends a |
paul@976 | 41 | message to an explicitly-indicated local user. For example: |
paul@976 | 42 | |
paul@976 | 43 | {{{ |
paul@976 | 44 | local+vincent.vole@example.com |
paul@976 | 45 | }}} |
paul@976 | 46 | |
paul@976 | 47 | The message is then routed to a mail delivery mechanism, perhaps by converting |
paul@976 | 48 | the local address to a local system user identity: |
paul@976 | 49 | |
paul@976 | 50 | {{{ |
paul@976 | 51 | vole |
paul@976 | 52 | }}} |
paul@976 | 53 | |
paul@976 | 54 | The local delivery mechanism would then deposit the message in the user's mailbox. |
paul@976 | 55 | Alternatively, routing for a mail storage solution would accept the message for |
paul@976 | 56 | the local user and deliver it to that user's mailbox. |
paul@976 | 57 | |
paul@976 | 58 | MTAs typically provide routing for local system users by default. Where the |
paul@971 | 59 | mail system must instead route messages to mailbox providers employing LMTP, |
paul@971 | 60 | some more effort may be required. See the |
paul@971 | 61 | [[../../MailboxIntegration|mailbox integration guide]] for more details. |
paul@971 | 62 | |
paul@971 | 63 | Configuration files for routing messages for explicitly-indicated local users |
paul@971 | 64 | are provided in the [[../../MailIntegration/LDAP|LDAP]] and |
paul@971 | 65 | [[../../MailIntegration/Simple|simple]] integration guides. |