imip-agent

Annotated docs/wiki/MailIntegration--LMTP

1053:068aa85f0c45
2016-02-08 Paul Boddie Made the retraction operation a complete transaction. Tidied up the locking and unlocking function application.
paul@955 1
= LMTP Delivery =
paul@955 2
paul@973 3
When imip-agent is configured to use LMTP, it connects directly to
paul@973 4
[[../../MailboxIntegration|mail storage solutions]]. By using LMTP from the
paul@973 5
agent software, the issue of configuring the mail system to integrate with
paul@973 6
such solutions is avoided, but then those solutions must expose their LMTP
paul@973 7
interface appropriately.
paul@955 8
paul@976 9
{{{#!graphviz
paul@976 10
//format=svg
paul@976 11
//transform=notugly
paul@976 12
digraph lmtp {
paul@1006 13
  node [shape=box,fontsize="13.0",fontname="Helvetica",tooltip="LMTP delivery"];
paul@976 14
  edge [tooltip="LMTP delivery"];
paul@976 15
  rankdir=LR;
paul@976 16
paul@976 17
  mail [label="Incoming mail",shape=folder,style=filled,fillcolor=cyan];
paul@976 18
paul@976 19
  subgraph {
paul@976 20
    rank=same;
paul@976 21
    personrouter [label="Person router"];
paul@976 22
    recipients [label="Recipient database",shape=folder];
paul@976 23
  }
paul@976 24
paul@976 25
  subgraph {
paul@976 26
    rank=same;
paul@976 27
    personhandler [label="Person handler",style=filled,fillcolor=gold];
paul@976 28
  }
paul@976 29
paul@976 30
  mailbox [label="Mailboxes\n(Cyrus, Dovecot, ...)",tooltip="Mailboxes"];
paul@976 31
paul@976 32
  mail -> personrouter -> personhandler -> mailbox;
paul@976 33
paul@976 34
  recipients -> personrouter;
paul@976 35
}
paul@976 36
}}}
paul@976 37
paul@973 38
Although this topic is largely beyond the scope of this documentation,
paul@973 39
systems such as Cyrus and Dovecot can be configured to provide a Unix domain
paul@973 40
socket offering support for LMTP connections.
paul@955 41
paul@976 42
== Cyrus ==
paul@976 43
paul@976 44
For Cyrus on Debian, the following bug report is pertinent:
paul@955 45
paul@955 46
 * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=494746
paul@955 47
paul@973 48
A permanent change in permissions on the Cyrus LMTP socket may be required to
paul@973 49
make delivery available to the `lmtp` group:
paul@955 50
paul@955 51
{{{
paul@955 52
dpkg-statoverride --force --update --add cyrus lmtp 750 /var/run/cyrus/socket
paul@955 53
}}}
paul@955 54
paul@955 55
See the [[../../SystemUsers|system users]] documentation for a discussion of
paul@955 56
users and groups.