imip-agent

Annotated docs/wiki/MailboxIntegration

1053:068aa85f0c45
2016-02-08 Paul Boddie Made the retraction operation a complete transaction. Tidied up the locking and unlocking function application.
paul@963 1
= Mailbox Integration =
paul@963 2
paul@963 3
Use of the imip-agent software should not affect the solutions chosen to store
paul@963 4
mail received by your mail system. However, the software does support direct
paul@963 5
connections to mail storage solutions employing the LMTP protocol. See the
paul@963 6
[[../MailIntegration/LMTP|LMTP guide]] for more information.
paul@963 7
paul@963 8
It can, however, be useful to see how delivery to various kinds of mailboxes
paul@963 9
and mail storage is done, in case you have not already decided on a particular
paul@969 10
solution. Tested solutions are as follows:
paul@963 11
paul@971 12
{{{#!table
paul@971 13
'''Solution''' || '''Details'''
paul@971 14
==
paul@971 15
[[http://www.cyrusimap.org/|Cyrus]] is a mail storage system that exposes
paul@971 16
mailboxes using the [[http://tools.ietf.org/html/rfc3501|IMAP]] protocol
paul@971 17
||
paul@971 18
The Cyrus documentation provides a guide on integrating Cyrus with
paul@971 19
[[http://www.cyrusimap.org/docs/cyrus-imapd/2.5.6/install-configure.php#mta|MTAs]].
paul@971 20
==
paul@971 21
[[http://dovecot.org/|Dovecot]] is a mail server that supports IMAP and
paul@971 22
[[http://tools.ietf.org/html/rfc1939|POP3]]. It can be configured to serve
paul@971 23
mail stored in traditional mailbox formats
paul@971 24
||
paul@963 25
The Dovecot documentation provides guides for integrating Dovecot with
paul@963 26
[[http://wiki2.dovecot.org/LMTP/Exim|Exim]] and with
paul@963 27
[[http://wiki2.dovecot.org/HowTo/PostfixDovecotLMTP|Postfix]].
paul@971 28
}}}
paul@963 29
paul@969 30
== Exim ==
paul@969 31
paul@969 32
Example configuration files for Exim are distributed in `conf/exim/lmtp`:
paul@963 33
paul@963 34
{{{#!table
paul@963 35
'''File''' || '''Purpose'''
paul@963 36
==
paul@969 37
`30_exim4-config_cyrus_lmtp`
paul@969 38
|| Delivers messages to Cyrus via LMTP
paul@969 39
==
paul@963 40
`30_exim4-config_dovecot_lmtp`
paul@963 41
|| Delivers messages to Dovecot via LMTP
paul@974 42
}}}
paul@974 43
paul@974 44
On Debian systems, these files would be copied into the `/etc/exim4/conf.d/transport`
paul@974 45
directory.
paul@974 46
paul@976 47
The mailbox integration for local system users is also found in the
paul@976 48
`conf/exim/lmtp` directory:
paul@976 49
paul@974 50
{{{#!table
paul@974 51
'''File''' || '''Purpose'''
paul@963 52
==
paul@975 53
`890_exim4-config_cyrus_lmtp_local_system`
paul@969 54
|| Routes messages for local system users to Cyrus
paul@969 55
==
paul@976 56
`890_exim4-config_dovecot_lmtp_local_system`
paul@976 57
|| Routes messages for local system users to Dovecot
paul@976 58
}}}
paul@976 59
paul@976 60
Meanwhile, both the `conf/exim/ldap` and `conf/exim/simple` directories
paul@976 61
provide the following files. The appropriate file for the chosen configuration
paul@976 62
should be used:
paul@976 63
paul@976 64
{{{#!table
paul@976 65
'''File''' || '''Purpose'''
paul@976 66
==
paul@975 67
`890_exim4-config_cyrus_lmtp_local_lmtp`
paul@975 68
|| Routes messages for local virtual users to Cyrus
paul@975 69
==
paul@974 70
`890_exim4-config_dovecot_lmtp_local_lmtp`
paul@975 71
|| Routes messages for local virtual users to Dovecot
paul@963 72
}}}
paul@963 73
paul@974 74
On Debian systems, these files would be copied into the `/etc/exim4/conf.d/router`
paul@974 75
directory. Depending on whether system user identities are to be employed for mail
paul@974 76
or whether genuine virtual identities (not connected to the system) are to be
paul@975 77
employed, one type (`local_system` or `local_lmtp`) of these files should be
paul@975 78
selected.
paul@969 79
paul@969 80
== Postfix ==
paul@969 81
paul@969 82
Example configuration files for Postfix are distributed in `conf/postfix/lmtp`:
paul@969 83
paul@969 84
{{{#!table
paul@969 85
'''File''' || '''Purpose'''
paul@969 86
==
paul@983 87
`lmtp_generic`
paul@983 88
|| Configures LMTP delivery for local recipients (for installation into
paul@983 89
.. `/etc/postfix`)
paul@969 90
==
paul@969 91
`master.cf.items`
paul@983 92
|| Enables LMTP delivery for local recipients
paul@983 93
==
paul@983 94
`transport.items`
paul@983 95
|| Defines LMTP delivery methods for local recipients
paul@969 96
}}}
paul@969 97
paul@983 98
These files provide example definitions for the `master.cf` and `transport`
paul@969 99
files that typically reside under `/etc/postfix`. Their contents can be
paul@969 100
merged with those files as appropriate.
paul@984 101
paul@984 102
== Permissions ==
paul@984 103
paul@984 104
Note that remarks about permissions management in the
paul@984 105
[[../MailIntegration/LMTP|LMTP guide]], concerning communication with mail
paul@984 106
storage systems such as Cyrus, also apply when getting MTAs such as Postfix
paul@984 107
to communicate with those systems. Consequently, it may be necessary to add
paul@984 108
the dedicated MTA system user to a specially-created `lmtp` group. For
paul@984 109
example:
paul@984 110
paul@984 111
{{{
paul@984 112
adduser postfix lmtp
paul@984 113
}}}
paul@984 114
paul@984 115
See the [[../SystemUsers|system users guide]] for more information on the `lmtp`
paul@984 116
group.