1.1 --- a/docs/wiki/FrontPage Fri Oct 30 21:26:11 2015 +0100
1.2 +++ b/docs/wiki/FrontPage Fri Oct 30 22:17:50 2015 +0100
1.3 @@ -26,6 +26,39 @@
1.4 giving you the freedom to see what the software does, as well as the freedom
1.5 to modify and share the software with others.
1.6
1.7 +{{{#!graphviz
1.8 +//format=svg
1.9 +//transform=notugly
1.10 +digraph architecture {
1.11 + node [shape=box,fontsize="16.0",fontname="sans-serif",tooltip="The imip-agent architecture"];
1.12 + edge [tooltip="The imip-agent architecture"];
1.13 + rankdir=LR;
1.14 +
1.15 + mail [label="Incoming mail",shape=folder,style=filled,fillcolor=cyan];
1.16 + MTA [label="MTA\n(Exim, Postfix, ...)",tooltip="MTA"];
1.17 +
1.18 + subgraph {
1.19 + rank=same;
1.20 + agent [label="imip-agent",style=filled,fillcolor=gold];
1.21 + scheduling [label="Scheduling",shape=ellipse,style=filled,fillcolor=gold];
1.22 + freebusy [label="Free/busy",shape=folder,style=filled,fillcolor=gold];
1.23 + manager [label="imip-manager",style=filled,fillcolor=gold];
1.24 + }
1.25 +
1.26 + mailbox [label="Mailboxes\n(Cyrus, Dovecot, ...)",tooltip="Mailboxes"];
1.27 + webserver [label="Web server\n(Apache, ...)",tooltip="Web server"];
1.28 + client [label="Mail clients"];
1.29 + browser [label="Web browsers"];
1.30 +
1.31 + mail -> MTA -> agent -> mailbox -> client;
1.32 + agent -> scheduling -> freebusy -> webserver -> client;
1.33 + freebusy -> manager;
1.34 + manager -> webserver [penwidth="3.0"];
1.35 + webserver -> browser [penwidth="3.0"];
1.36 + scheduling -> MTA -> mail [style=dashed];
1.37 +}
1.38 +}}}
1.39 +
1.40 Unlike some monolithic groupware solutions...
1.41
1.42 * It does not require you to change your [[/MailIntegration|mail delivery]]
2.1 --- a/docs/wiki/MailIntegration Fri Oct 30 21:26:11 2015 +0100
2.2 +++ b/docs/wiki/MailIntegration Fri Oct 30 22:17:50 2015 +0100
2.3 @@ -12,6 +12,45 @@
2.4 Otherwise, few constraints should be imposed by each kind of system on the
2.5 other.
2.6
2.7 +{{{#!graphviz
2.8 +//format=svg
2.9 +//transform=notugly
2.10 +digraph mail_integration {
2.11 + node [shape=box,fontsize="16.0",fontname="sans-serif",tooltip="Mail integration"];
2.12 + edge [tooltip="Mail integration"];
2.13 + rankdir=LR;
2.14 +
2.15 + mail [label="Incoming mail",shape=folder,style=filled,fillcolor=cyan];
2.16 +
2.17 + subgraph {
2.18 + rank=same;
2.19 + personrouter [label="Person router"];
2.20 + resourcerouter [label="Resource router"];
2.21 + recipients [label="Recipient database",shape=folder];
2.22 + }
2.23 +
2.24 + subgraph {
2.25 + rank=same;
2.26 + personhandler [label="Person handler",style=filled,fillcolor=gold];
2.27 + resourcehandler [label="Resource handler",style=filled,fillcolor=gold];
2.28 + scheduling [label="Scheduling",shape=ellipse,style=filled,fillcolor=gold];
2.29 + freebusy [label="Free/busy",shape=folder,style=filled,fillcolor=gold];
2.30 + }
2.31 +
2.32 + mailbox [label="Mailboxes\n(Cyrus, Dovecot, ...)",tooltip="Mailboxes"];
2.33 +
2.34 + mail -> personrouter -> personhandler -> mailbox;
2.35 + mail -> resourcerouter -> resourcehandler
2.36 +
2.37 + recipients -> personrouter;
2.38 + recipients -> resourcerouter;
2.39 +
2.40 + personhandler -> scheduling;
2.41 + resourcehandler -> scheduling;
2.42 + scheduling -> freebusy;
2.43 +}
2.44 +}}}
2.45 +
2.46 == MTAs ==
2.47
2.48 Currently, imip-agent supports [[http://exim.org/|Exim]] and
2.49 @@ -88,3 +127,6 @@
2.50 ==
2.51 [[/LMTP|LMTP]] || Exim, Postfix
2.52 }}}
2.53 +
2.54 +See the [[../MailboxIntegration|mailbox integration guide]] for a brief
2.55 +overview of configuring mail storage solutions.
3.1 --- a/docs/wiki/MailIntegration--LDAP Fri Oct 30 21:26:11 2015 +0100
3.2 +++ b/docs/wiki/MailIntegration--LDAP Fri Oct 30 22:17:50 2015 +0100
3.3 @@ -27,9 +27,17 @@
3.4 `020_exim4-config_ldap_resources`
3.5 ==
3.6 `020_exim4-config_ldap_people_outgoing_recipients`
3.7 +}}}
3.8 +
3.9 +Where [[../LocalSMTP|local SMTP routing]] is being performed, the following
3.10 +file is also useful:
3.11 +
3.12 +{{{#!table
3.13 +'''File''' || '''Purpose'''
3.14 ==
3.15 `020_exim4-config_ldap_people_local`
3.16 -|| Defines routing for local recipients for delivery to local mailboxes
3.17 +|| Defines routing for local recipients for delivery to local system
3.18 +.. mailboxes
3.19 }}}
3.20
3.21 These files can be incorporated into the Exim configuration. On Debian
3.22 @@ -57,6 +65,9 @@
3.23 systems, `main.cf.example` can be merged into `/etc/postfix/main.cf`,
3.24 whereas the remaining files would be installed into `/etc/postfix/ldap`.
3.25
3.26 +Where [[../LocalSMTP|local SMTP routing]] is being performed, the local
3.27 +recipient entry in the `conf/postfix/transport` file is used.
3.28 +
3.29 == LDAP Representations for Mail Recipients ==
3.30
3.31 Relevant LDAP resources for structuring recipient information include the
4.1 --- a/docs/wiki/MailIntegration--LocalSMTP Fri Oct 30 21:26:11 2015 +0100
4.2 +++ b/docs/wiki/MailIntegration--LocalSMTP Fri Oct 30 22:17:50 2015 +0100
4.3 @@ -18,7 +18,45 @@
4.4
4.5 The local delivery mechanism would then deposit the message in the user's mailbox.
4.6
4.7 -Where the mail system must instead route messages to mailbox providers
4.8 -employing LMTP, some more effort is required. For Exim, some sample
4.9 -configuration files are provided in `conf/exim/lmtp` to route messages for local
4.10 -users to LMTP endpoints.
4.11 +{{{#!graphviz
4.12 +//format=svg
4.13 +//transform=notugly
4.14 +digraph local_smtp {
4.15 + node [shape=box,fontsize="16.0",fontname="sans-serif",tooltip="Local SMTP delivery"];
4.16 + edge [tooltip="Local SMTP delivery"];
4.17 + rankdir=LR;
4.18 +
4.19 + mail [label="Incoming mail",shape=folder,style=filled,fillcolor=cyan];
4.20 +
4.21 + subgraph {
4.22 + rank=same;
4.23 + personrouter [label="Person router"];
4.24 + localrouter [label="Local router"];
4.25 + recipients [label="Recipient database",shape=folder];
4.26 + }
4.27 +
4.28 + subgraph {
4.29 + rank=same;
4.30 + personhandler [label="Person handler",style=filled,fillcolor=gold];
4.31 + localtransport [label="Local transport"];
4.32 + }
4.33 +
4.34 + mailbox [label="Mailboxes\n(Cyrus, Dovecot, ...)",tooltip="Mailboxes"];
4.35 +
4.36 + mail -> personrouter -> personhandler;
4.37 +
4.38 + recipients -> personrouter;
4.39 + recipients -> localrouter;
4.40 +
4.41 + personhandler -> localrouter -> localtransport -> mailbox;
4.42 +}
4.43 +}}}
4.44 +
4.45 +MTAs typically provide delivery routing for local user mailboxes. Where the
4.46 +mail system must instead route messages to mailbox providers employing LMTP,
4.47 +some more effort may be required. See the
4.48 +[[../../MailboxIntegration|mailbox integration guide]] for more details.
4.49 +
4.50 +Configuration files for routing messages for explicitly-indicated local users
4.51 +are provided in the [[../../MailIntegration/LDAP|LDAP]] and
4.52 +[[../../MailIntegration/Simple|simple]] integration guides.
5.1 --- a/docs/wiki/MailIntegration--Simple Fri Oct 30 21:26:11 2015 +0100
5.2 +++ b/docs/wiki/MailIntegration--Simple Fri Oct 30 22:17:50 2015 +0100
5.3 @@ -24,9 +24,6 @@
5.4 ==
5.5 `020_exim4-config_people_outgoing_recipients`
5.6 ==
5.7 -`020_exim4-config_people_local`
5.8 -|| Defines routing for local recipients for delivery to local mailboxes
5.9 -==
5.10 `virtual_people`
5.11 ||<rowspan="3"> Defines recipient identities belonging to known domains
5.12 ==
5.13 @@ -36,6 +33,16 @@
5.14 ==
5.15 `virtual_domains`
5.16 || Defines recipient domains
5.17 +}}}
5.18 +
5.19 +Where [[../LocalSMTP|local SMTP routing]] is being performed, the following
5.20 +files are also useful:
5.21 +
5.22 +{{{#!table
5.23 +'''File''' || '''Purpose'''
5.24 +==
5.25 +`020_exim4-config_people_local`
5.26 +|| Defines routing for local recipients for delivery to local mailboxes
5.27 ==
5.28 `virtual_people_local`
5.29 || Defines recipients and local users for delivery to local mailboxes
5.30 @@ -43,7 +50,7 @@
5.31
5.32 These files can be incorporated into the Exim configuration. On Debian
5.33 systems, the numbered files can be copied into `/etc/exim4/conf.d/router`,
5.34 -whereas the virtual files can be copied into `/etc/exim4`.
5.35 +whereas the `virtual` files can be copied into `/etc/exim4`.
5.36
5.37 == Using Lists with Postfix ==
5.38
5.39 @@ -59,6 +66,13 @@
5.40 ||<rowspan="2"> Defines recipients and outgoing mail routing
5.41 ==
5.42 `virtual_alias_maps_people_outgoing`
5.43 +}}}
5.44 +
5.45 +Where [[../LocalSMTP|local SMTP routing]] is being performed, the following
5.46 +file is also useful:
5.47 +
5.48 +{{{#!table
5.49 +'''File''' || '''Purpose'''
5.50 ==
5.51 `virtual_alias_maps_local`
5.52 || Defines recipients and local users for delivery to local mailboxes
6.1 --- a/docs/wiki/MailboxIntegration Fri Oct 30 21:26:11 2015 +0100
6.2 +++ b/docs/wiki/MailboxIntegration Fri Oct 30 22:17:50 2015 +0100
6.3 @@ -1,4 +1,3 @@
6.4 -= Mailbox Integration =
6.5 = Mailbox Integration =
6.6
6.7 Use of the imip-agent software should not affect the solutions chosen to store
6.8 @@ -10,16 +9,23 @@
6.9 and mail storage is done, in case you have not already decided on a particular
6.10 solution. Tested solutions are as follows:
6.11
6.12 - * [[http://www.cyrusimap.org/|Cyrus]] is a mail storage system that exposes
6.13 - mailboxes using the [[http://tools.ietf.org/html/rfc3501|IMAP]] protocol
6.14 -
6.15 - * [[http://dovecot.org/|Dovecot]] is a mail server that supports IMAP and
6.16 - [[http://tools.ietf.org/html/rfc1939|POP3]]. It can be configured to serve
6.17 - mail stored in traditional mailbox formats
6.18 -
6.19 +{{{#!table
6.20 +'''Solution''' || '''Details'''
6.21 +==
6.22 +[[http://www.cyrusimap.org/|Cyrus]] is a mail storage system that exposes
6.23 +mailboxes using the [[http://tools.ietf.org/html/rfc3501|IMAP]] protocol
6.24 +||
6.25 +The Cyrus documentation provides a guide on integrating Cyrus with
6.26 +[[http://www.cyrusimap.org/docs/cyrus-imapd/2.5.6/install-configure.php#mta|MTAs]].
6.27 +==
6.28 +[[http://dovecot.org/|Dovecot]] is a mail server that supports IMAP and
6.29 +[[http://tools.ietf.org/html/rfc1939|POP3]]. It can be configured to serve
6.30 +mail stored in traditional mailbox formats
6.31 +||
6.32 The Dovecot documentation provides guides for integrating Dovecot with
6.33 [[http://wiki2.dovecot.org/LMTP/Exim|Exim]] and with
6.34 [[http://wiki2.dovecot.org/HowTo/PostfixDovecotLMTP|Postfix]].
6.35 +}}}
6.36
6.37 == Exim ==
6.38
7.1 --- a/docs/wiki/OutgoingMessages Fri Oct 30 21:26:11 2015 +0100
7.2 +++ b/docs/wiki/OutgoingMessages Fri Oct 30 22:17:50 2015 +0100
7.3 @@ -12,6 +12,55 @@
7.4 same effect as the outgoing message rule, as well as to notify any mail
7.5 clients that would normally be managing calendar events on behalf of the user.
7.6
7.7 +{{{#!graphviz
7.8 +//format=svg
7.9 +//transform=notugly
7.10 +digraph outgoing {
7.11 + node [shape=box,fontsize="16.0",fontname="sans-serif",tooltip="Outgoing messages"];
7.12 + edge [tooltip="Outgoing messages"];
7.13 + rankdir=LR;
7.14 +
7.15 + mail [label="Outgoing mail",shape=folder,style=filled,fillcolor=cyan];
7.16 +
7.17 + subgraph {
7.18 + rank=same;
7.19 + outgoingrouter [label="Outgoing router"];
7.20 + personrouter [label="Person router"];
7.21 + }
7.22 +
7.23 + subgraph {
7.24 + rank=same;
7.25 + outgoinghandler [label="Outgoing handler",style=filled,fillcolor=gold];
7.26 + personhandler [label="Person handler",style=filled,fillcolor=gold];
7.27 + scheduling [label="Scheduling",shape=ellipse,style=filled,fillcolor=gold];
7.28 + freebusy [label="Free/busy",shape=folder,style=filled,fillcolor=gold];
7.29 + manager [label="imip-manager",style=filled,fillcolor=gold];
7.30 + }
7.31 +
7.32 + webserver [label="Web server\n(Apache, ...)",tooltip="Web server"];
7.33 +
7.34 + subgraph {
7.35 + rank=same;
7.36 + client [label="Mail clients"];
7.37 + browser [label="Web browsers"];
7.38 + }
7.39 +
7.40 + client -> mail;
7.41 + mail -> outgoingrouter -> outgoinghandler;
7.42 +
7.43 + browser -> webserver [penwidth="3.0"];
7.44 + webserver -> manager [penwidth="3.0"];
7.45 + manager -> mail [penwidth="3.0"];
7.46 + mail -> personrouter [penwidth="3.0"];
7.47 + personrouter -> personhandler [penwidth="3.0"];
7.48 +
7.49 + outgoinghandler -> scheduling;
7.50 + personhandler -> scheduling [penwidth="3.0"];
7.51 + scheduling -> freebusy;
7.52 + freebusy -> manager;
7.53 +}
7.54 +}}}
7.55 +
7.56 == Events ==
7.57
7.58 {{{#!table