imip-agent

Annotated docs/wiki/MailboxIntegration

1384:9baa0aae5b43
2017-10-31 Paul Boddie Provided a convenience function for instantiating handler objects. Added a mode that produces output instead of sending messages without also producing debugging information. client-editing-simplification
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@1339 28
==
paul@1339 29
Traditional Unix mailboxes for local system users
paul@1339 30
||
paul@1339 31
If routing is defined for local users and if
paul@1339 32
[[../MailIntegration/LocalSMTP|local SMTP]] is employed, no other mail storage
paul@1339 33
solution is required.
paul@971 34
}}}
paul@963 35
paul@1339 36
With the traditional Unix mailbox approach, no further configuration should be
paul@1339 37
necessary because Exim and Postfix support delivery to such mailboxes amongst
paul@1339 38
their normal configuration rules. The rest of this document describes the
paul@1339 39
integration of these mail transport agents with other mail storage solutions
paul@1339 40
using LMTP.
paul@1339 41
paul@969 42
== Exim ==
paul@969 43
paul@969 44
Example configuration files for Exim are distributed in `conf/exim/lmtp`:
paul@963 45
paul@963 46
{{{#!table
paul@963 47
'''File''' || '''Purpose'''
paul@963 48
==
paul@969 49
`30_exim4-config_cyrus_lmtp`
paul@969 50
|| Delivers messages to Cyrus via LMTP
paul@969 51
==
paul@963 52
`30_exim4-config_dovecot_lmtp`
paul@963 53
|| Delivers messages to Dovecot via LMTP
paul@974 54
}}}
paul@974 55
paul@974 56
On Debian systems, these files would be copied into the `/etc/exim4/conf.d/transport`
paul@974 57
directory.
paul@974 58
paul@976 59
The mailbox integration for local system users is also found in the
paul@976 60
`conf/exim/lmtp` directory:
paul@976 61
paul@974 62
{{{#!table
paul@974 63
'''File''' || '''Purpose'''
paul@963 64
==
paul@975 65
`890_exim4-config_cyrus_lmtp_local_system`
paul@969 66
|| Routes messages for local system users to Cyrus
paul@969 67
==
paul@976 68
`890_exim4-config_dovecot_lmtp_local_system`
paul@976 69
|| Routes messages for local system users to Dovecot
paul@976 70
}}}
paul@976 71
paul@976 72
Meanwhile, both the `conf/exim/ldap` and `conf/exim/simple` directories
paul@976 73
provide the following files. The appropriate file for the chosen configuration
paul@976 74
should be used:
paul@976 75
paul@976 76
{{{#!table
paul@976 77
'''File''' || '''Purpose'''
paul@976 78
==
paul@975 79
`890_exim4-config_cyrus_lmtp_local_lmtp`
paul@975 80
|| Routes messages for local virtual users to Cyrus
paul@975 81
==
paul@974 82
`890_exim4-config_dovecot_lmtp_local_lmtp`
paul@975 83
|| Routes messages for local virtual users to Dovecot
paul@963 84
}}}
paul@963 85
paul@974 86
On Debian systems, these files would be copied into the `/etc/exim4/conf.d/router`
paul@974 87
directory. Depending on whether system user identities are to be employed for mail
paul@974 88
or whether genuine virtual identities (not connected to the system) are to be
paul@975 89
employed, one type (`local_system` or `local_lmtp`) of these files should be
paul@975 90
selected.
paul@969 91
paul@969 92
== Postfix ==
paul@969 93
paul@969 94
Example configuration files for Postfix are distributed in `conf/postfix/lmtp`:
paul@969 95
paul@969 96
{{{#!table
paul@969 97
'''File''' || '''Purpose'''
paul@969 98
==
paul@983 99
`lmtp_generic`
paul@983 100
|| Configures LMTP delivery for local recipients (for installation into
paul@983 101
.. `/etc/postfix`)
paul@969 102
==
paul@969 103
`master.cf.items`
paul@983 104
|| Enables LMTP delivery for local recipients
paul@983 105
==
paul@983 106
`transport.items`
paul@983 107
|| Defines LMTP delivery methods for local recipients
paul@969 108
}}}
paul@969 109
paul@983 110
These files provide example definitions for the `master.cf` and `transport`
paul@969 111
files that typically reside under `/etc/postfix`. Their contents can be
paul@969 112
merged with those files as appropriate.
paul@984 113
paul@984 114
== Permissions ==
paul@984 115
paul@984 116
Note that remarks about permissions management in the
paul@984 117
[[../MailIntegration/LMTP|LMTP guide]], concerning communication with mail
paul@984 118
storage systems such as Cyrus, also apply when getting MTAs such as Postfix
paul@984 119
to communicate with those systems. Consequently, it may be necessary to add
paul@984 120
the dedicated MTA system user to a specially-created `lmtp` group. For
paul@984 121
example:
paul@984 122
paul@984 123
{{{
paul@984 124
adduser postfix lmtp
paul@984 125
}}}
paul@984 126
paul@984 127
See the [[../SystemUsers|system users guide]] for more information on the `lmtp`
paul@984 128
group.