1 = E-Mail Integration = 2 3 To act as a part of an e-mail system, imip-agent provides a number of programs 4 that may be invoked by mail transfer agents (MTAs) upon sending or receiving 5 messages. In order to uphold portability and to minimise configuration issues, 6 these programs need only be registered as simple mail handlers or transports, 7 thus potentially supporting a wide range of MTAs. 8 9 Once imip-agent has processed a message, it may then deliver it to its 10 intended recipient. The mail storage systems that may receive messages from 11 imip-agent need only support the delivery mechanisms used by imip-agent. 12 Otherwise, few constraints should be imposed by each kind of system on the 13 other. 14 15 {{{#!graphviz 16 //format=svg 17 //transform=notugly 18 digraph mail_integration { 19 node [shape=box,fontsize="16.0",fontname="sans-serif",tooltip="Mail integration"]; 20 edge [tooltip="Mail integration"]; 21 rankdir=LR; 22 23 mail [label="Incoming mail",shape=folder,style=filled,fillcolor=cyan]; 24 25 subgraph { 26 rank=same; 27 personrouter [label="Person router"]; 28 resourcerouter [label="Resource router"]; 29 recipients [label="Recipient database",shape=folder]; 30 } 31 32 subgraph { 33 rank=same; 34 personhandler [label="Person handler",style=filled,fillcolor=gold]; 35 resourcehandler [label="Resource handler",style=filled,fillcolor=gold]; 36 scheduling [label="Scheduling",shape=ellipse,style=filled,fillcolor=gold]; 37 freebusy [label="Free/busy",shape=folder,style=filled,fillcolor=gold]; 38 } 39 40 mailbox [label="Mailboxes\n(Cyrus, Dovecot, ...)",tooltip="Mailboxes"]; 41 42 mail -> personrouter -> personhandler -> mailbox; 43 mail -> resourcerouter -> resourcehandler 44 45 recipients -> personrouter; 46 recipients -> resourcerouter; 47 48 personhandler -> scheduling; 49 resourcehandler -> scheduling; 50 scheduling -> freebusy; 51 } 52 }}} 53 54 == MTAs == 55 56 Currently, imip-agent supports [[http://exim.org/|Exim]] and 57 [[http://www.postfix.org/|Postfix]], although this support should be readily 58 broadened, and offers configuration resources for these supported systems so 59 as to allow imip-agent to be deployed within existing mail-sending and 60 delivery infrastructures. 61 62 {{{#!table 63 || '''Identifying Recipients''' || '''Integrating imip-agent''' || '''Notes''' 64 == 65 '''Exim''' 66 || Routers identify recipients of mail that shall be handled by imip-agent 67 || Transports invoke imip-agent programs 68 || Exim is widely deployed as the default MTA for Debian. Consequently, it is 69 .. desirable to support this software in imip-agent. 70 == 71 '''Postfix''' 72 || Virtual aliases identify recipients of mail that shall be handled by 73 .. imip-agent 74 || Transports invoke imip-agent programs 75 || Postfix is also widely deployed and is sometimes preferred by administrators. 76 }}} 77 78 == Identification of Recipients == 79 80 In principle, any mechanism supported by the MTA can be used to identify 81 recipients; imip-agent does not employ identification mechanisms of its own. 82 Thus, the task of identifying recipients is one of MTA configuration, with the 83 following mechanisms tested: 84 85 {{{#!table 86 '''Identification Mechanisms''' || '''Tested with...''' 87 == 88 [[/LDAP|LDAP]] || Exim, Postfix 89 == 90 [[/Simple|Simple (list-based identification)]] || Exim, Postfix 91 }}} 92 93 === The Calendar System Address === 94 95 Since imip-agent may send messages on behalf of calendar users, the address 96 it uses to do so must be recognised by the MTA. This may be done by adding 97 an entry to the `/etc/aliases` file such as the one defined in the 98 `conf/aliases.example` file: 99 100 {{{ 101 calendar: root 102 }}} 103 104 More suitable routing can be defined as desired. See the `MESSAGE_SENDER` 105 setting defined in the `config.py` file described in the 106 [[../Configuration|configuration guide]]. 107 108 == Invoking the Agent Programs == 109 110 Regardless of identification or delivery mechanisms, the imip-agent software 111 must be integrated into the mail processing pipeline so that messages can be 112 interpreted and processed. This is done by configuring the MTA's 113 [[/Transports|transport mechanisms]]. 114 115 == Delivery == 116 117 To deliver messages to their ultimate recipients after having processed them, 118 imip-agent currently employs either local SMTP connections or 119 [[https://tools.ietf.org/html/rfc2033|LMTP]]. There is nothing in principle 120 preventing imip-agent from also supporting other common delivery mechanisms, 121 however. 122 123 {{{#!table 124 '''Delivery Mechanisms''' || '''Tested with...''' 125 == 126 [[/LocalSMTP|Local SMTP]] || Exim, Postfix 127 == 128 [[/LMTP|LMTP]] || Exim, Postfix 129 }}} 130 131 See the [[../MailboxIntegration|mailbox integration guide]] for a brief 132 overview of configuring mail storage solutions.