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@1462 | 6 | ######## A diagram summarising SMTP integration. |
paul@1462 | 7 | |
paul@971 | 8 | {{{#!graphviz |
paul@971 | 9 | //format=svg |
paul@971 | 10 | //transform=notugly |
paul@971 | 11 | digraph local_smtp { |
paul@1465 | 12 | node [shape=box,fontsize="13.0",fontname="sans-serif",tooltip="Local SMTP delivery"]; |
paul@971 | 13 | edge [tooltip="Local SMTP delivery"]; |
paul@971 | 14 | rankdir=LR; |
paul@971 | 15 | |
paul@1462 | 16 | mail [label="Incoming mail",shape=folder,style=filled,fillcolor=cyan, |
paul@1462 | 17 | href="../../IncomingMessages"]; |
paul@971 | 18 | |
paul@971 | 19 | subgraph { |
paul@971 | 20 | rank=same; |
paul@971 | 21 | personrouter [label="Person router"]; |
paul@971 | 22 | localrouter [label="Local router"]; |
paul@971 | 23 | recipients [label="Recipient database",shape=folder]; |
paul@971 | 24 | } |
paul@971 | 25 | |
paul@971 | 26 | subgraph { |
paul@971 | 27 | rank=same; |
paul@971 | 28 | personhandler [label="Person handler",style=filled,fillcolor=gold]; |
paul@971 | 29 | localtransport [label="Local transport"]; |
paul@971 | 30 | } |
paul@971 | 31 | |
paul@1462 | 32 | mailbox [label="Mailboxes\n(Cyrus, Dovecot, ...)",tooltip="Mailboxes", |
paul@1462 | 33 | href="../../MailboxIntegration"]; |
paul@971 | 34 | |
paul@971 | 35 | mail -> personrouter -> personhandler; |
paul@971 | 36 | |
paul@971 | 37 | recipients -> personrouter; |
paul@971 | 38 | recipients -> localrouter; |
paul@971 | 39 | |
paul@971 | 40 | personhandler -> localrouter -> localtransport -> mailbox; |
paul@971 | 41 | } |
paul@971 | 42 | }}} |
paul@971 | 43 | |
paul@1462 | 44 | ######## |
paul@1462 | 45 | |
paul@976 | 46 | Here, imip-agent connects to the mail transport agent (MTA) and sends a |
paul@976 | 47 | message to an explicitly-indicated local user. For example: |
paul@976 | 48 | |
paul@976 | 49 | {{{ |
paul@976 | 50 | local+vincent.vole@example.com |
paul@976 | 51 | }}} |
paul@976 | 52 | |
paul@984 | 53 | == Local System Users == |
paul@984 | 54 | |
paul@984 | 55 | With such a local user indicated, the message is then routed to a mail |
paul@984 | 56 | delivery mechanism, perhaps by converting the local address to a local |
paul@984 | 57 | system user identity (a user with an account on the system running the |
paul@984 | 58 | software). For example: |
paul@976 | 59 | |
paul@976 | 60 | {{{ |
paul@976 | 61 | vole |
paul@976 | 62 | }}} |
paul@976 | 63 | |
paul@984 | 64 | The local delivery mechanism would then deposit the message in the user's |
paul@984 | 65 | mailbox. MTAs typically provide such routing for local system users by |
paul@984 | 66 | default. |
paul@984 | 67 | |
paul@984 | 68 | == Mailbox/Virtual Users == |
paul@976 | 69 | |
paul@984 | 70 | Alternatively, with a local user having been indicated, a message would be |
paul@984 | 71 | routed for delivery by a mail storage solution which would accept the message |
paul@984 | 72 | for the indicated user and deliver it to that user's mailbox. For example: |
paul@984 | 73 | |
paul@984 | 74 | {{{ |
paul@984 | 75 | vincent.vole |
paul@984 | 76 | }}} |
paul@984 | 77 | |
paul@984 | 78 | Where such routing is performed to mailbox providers employing LMTP, |
paul@984 | 79 | some additional configuration effort may be required. See the |
paul@971 | 80 | [[../../MailboxIntegration|mailbox integration guide]] for more details. |
paul@971 | 81 | |
paul@984 | 82 | Some of the routing for explicitly-indicated local users is dependent on the |
paul@984 | 83 | identification of users and is described in the |
paul@984 | 84 | [[../../MailIntegration/LDAP|LDAP]] and [[../../MailIntegration/Simple|simple]] |
paul@984 | 85 | integration guides. |