imip-agent

Annotated docs/wiki/MailIntegration--LDAP

1122:2003934ef901
2016-04-19 Paul Boddie Support replies from attendees that refer to specific recurrences before the organiser does so, thus allowing attendees to selectively accept and decline recurrences. Allowed the test handler to refer to recurrences that have not been explicitly separated from their parent objects. Added a docstring for the Object initialiser as a reminder of how to use it. freebusy-collections
paul@951 1
= LDAP Mail Integration =
paul@951 2
paul@951 3
LDAP can be used to identify mail recipients by configuring the mail transport
paul@951 4
agent (MTA) to issue queries to a suitable service. Where necessary, the
paul@951 5
following definitions need to be incorporated into the example configuration
paul@951 6
files given below:
paul@951 7
paul@951 8
|| '''Definition'''        || '''Purpose''' ||
paul@951 9
|| `LDAP_SERVICE_BIND_DN`  || LDAP user identity to connect to the service ||
paul@951 10
|| `LDAP_SERVICE_PASSWORD` || LDAP user password for connection ||
paul@951 11
|| `LDAP_HOST`             || The host providing the LDAP service ||
paul@951 12
|| `LDAP_PORT`             || The port number of the LDAP service ||
paul@951 13
|| `LDAP_BASE_DN`          || The section of the database to search ||
paul@951 14
paul@951 15
== Using LDAP with Exim ==
paul@951 16
paul@951 17
Example configuration files for Exim are distributed in `conf/exim/ldap`:
paul@951 18
paul@951 19
{{{#!table
paul@951 20
'''File''' || '''Purpose'''
paul@951 21
==
paul@951 22
`010_exim4-config_ldap_people_outgoing`
paul@951 23
||<rowspan="4"> Defines recipients and outgoing mail routing
paul@951 24
==
paul@951 25
`020_exim4-config_ldap_people`
paul@951 26
==
paul@951 27
`020_exim4-config_ldap_resources`
paul@951 28
==
paul@951 29
`020_exim4-config_ldap_people_outgoing_recipients`
paul@971 30
}}}
paul@971 31
paul@976 32
Where [[../LocalSMTP|local SMTP routing]] is being performed ''and'' the
paul@976 33
recipients are local system users, the following file is also useful:
paul@971 34
paul@971 35
{{{#!table
paul@971 36
'''File''' || '''Purpose'''
paul@969 37
==
paul@976 38
`020_exim4-config_ldap_people_local_system`
paul@971 39
|| Defines routing for local recipients for delivery to local system
paul@971 40
.. mailboxes
paul@951 41
}}}
paul@951 42
paul@951 43
These files can be incorporated into the Exim configuration. On Debian
paul@951 44
systems, they can be copied into `/etc/exim4/conf.d/router`.
paul@951 45
paul@951 46
== Using LDAP with Postfix ==
paul@951 47
paul@951 48
Example configuration files for Postfix are distributed in `conf/postfix/ldap`:
paul@951 49
paul@951 50
{{{#!table
paul@951 51
'''File''' || '''Purpose'''
paul@951 52
==
paul@951 53
`main.cf.example`
paul@951 54
|| Defines recipients and outgoing mail routing (for inclusion in `main.cf`)
paul@951 55
==
paul@951 56
`virtual_alias_maps_people.cf`
paul@951 57
||<rowspan="3"> Defines recipients and outgoing mail routing
paul@951 58
==
paul@951 59
`virtual_alias_maps_people_outgoing.cf`
paul@951 60
==
paul@951 61
`virtual_alias_maps_resources.cf`
paul@951 62
}}}
paul@951 63
paul@978 64
The following files are common to LDAP and [[../Simple|simple]] integration
paul@978 65
and are found in `conf/postfix`:
paul@978 66
paul@978 67
{{{#!table
paul@978 68
'''File''' || '''Purpose'''
paul@978 69
==
paul@978 70
`master.cf.items`
paul@978 71
|| Mail handler definitions for the imip-agent transports
paul@978 72
==
paul@978 73
`transport`
paul@978 74
|| Transport definitions for `/etc/postfix/transport`
paul@978 75
==
paul@978 76
`virtual`
paul@978 77
|| Outgoing message routing for `/etc/postfix/virtual`
paul@978 78
}}}
paul@978 79
paul@978 80
These files can be incorporated into the Postfix configuration. On Debian
paul@978 81
systems, `master.cf.items` can be merged into `/etc/postfix/master.cf`,
paul@978 82
whereas the other files can be merged into any existing files of the same
paul@978 83
names in `/etc/postfix`.
paul@971 84
paul@951 85
== LDAP Representations for Mail Recipients ==
paul@951 86
paul@951 87
Relevant LDAP resources for structuring recipient information include the
paul@951 88
following:
paul@951 89
paul@951 90
{{{#!table
paul@951 91
'''RFC''' || '''Relevance'''
paul@951 92
==
paul@969 93
[[http://tools.ietf.org/html/rfc2307|RFC 2307]]
paul@969 94
|| Defines the `posixAccount` object class
paul@969 95
==
paul@969 96
[[https://tools.ietf.org/html/rfc2739|RFC 2739]]
paul@969 97
|| Defines the `calEntry` object class supporting `calFBURL`
paul@951 98
==
paul@951 99
[[http://tools.ietf.org/html/rfc2798|RFC 2798]]
paul@951 100
|| Defines the `inetOrgPerson` object class
paul@951 101
==
paul@969 102
[[http://tools.ietf.org/html/rfc4524|RFC 4524]]
paul@969 103
|| Defines the `mail` attribute
paul@951 104
}}}
paul@951 105
paul@951 106
An additional draft RFC describes the `mailRecipient` object class:
paul@951 107
paul@951 108
 * https://tools.ietf.org/html/draft-lachman-ldap-mail-routing-03
paul@951 109
paul@951 110
Resource schemas for LDAP are not effectively standardised for the purposes of
paul@951 111
this software. A useful object class, `inetResource`, was defined for the
paul@951 112
iPlanet Calendar Server:
paul@951 113
paul@951 114
 * http://docs.oracle.com/cd/E19566-01/819-4437/6n6jckqrf/index.html#anocg
paul@951 115
 * http://docs.oracle.com/cd/E19566-01/819-4437/6n6jckqr8/index.html
paul@951 116
paul@951 117
Although Kolab maintains notions of resources, they are tied up with the
paul@951 118
notion of a shared folder and the `kolabSharedFolder` object class, although the
paul@951 119
`mailRecipient` object class is employed by resources in Kolab.