Настройка общей адресной книги в различных почтовых клиентах

Обновлено Обновлено: Опубликовано Опубликовано:

В данной инструкции мы просто разберем настройку почтовых клиентов, а именно, подключение глобальной адресной книги LDAP-пользователей. Другие варианты централизованного хранения пользовательских email-адресов не является универсальным.

Настройка LDAP

1. Учетная запись для привязки.

Для связки с LDAP нам понадобится учетная запись с минимальными правами. Поэтому настройка сводится к простому созданию пользователя.

В моем примере будет создана учетная запись gab (Global Address Book).

2. Фильры.

В зависимости от настроек клиента, могут использоваться фильтры, в которых можно отсечь ненужные записи. В разных реализациях LDAP мы можем иметь дело с различными атрибутами и значениями. Например, в Active Directory класс пользователя будет person, а в OpenLDAP — user. Такие нюансы необходимо учитывать, поэтому стоит заранее изучить все поля, которые мы хотим использовать в адресной книге.

3. Сетевая доступность.

Сервер LDAP должен быть доступен по сети с компьютера, на котором работает почтовый клиент. Если данный сервер находится за NAT или он закрыт брандмауэром, необходимо обеспечить доступность по портам:

  • 389 tcp или udp. Незащищенный доступ к активному каталогу.
  • 636 tcp или udp. Доступ с защитой SSL.

Достаточно открыть и использовать один из данных портов, желательно 636.

Mozilla Thunderbird

Запускаем почтовый клиент и переходим к настройкам адресной книги:

Переход к настройке адресной книги в Thunderbird

* также к настройке адресной книги можно перейти в меню Инструменты - Адресная книга. Или сочетанием клавиш Ctrl + Shift + B.

В открывшемся окне кликаем по Файл - Создать - Каталог LDAP:

Переход к созданию каталога LDAP

На вкладке Основное вводим данные для подключения к LDAP:

Заполняем данные для настройки подключения к LDAP

* где:

  • Название — произвольное название для адресной книги.
  • Имя сервера — сервер ldap (имя или IP-адрес).
  • Корневой элемент (Base DN) — корень, в котором нужно искать нужные учетные данные. Можно задать конкретный контейнер.
  • Порт — порт для подключения к глобальному каталогу.
  • Имя пользователя (Bind DN) — учетная запись для привязки к LDAP, которую мы создали в самом начале. Обратите внимание, что формат данной учетной записи может отличаться в зависимости от реализации службы каталогов, например, во FreeIPA в качестве bind dn нужно будет прописать uid=gab,cn=users,cn=accounts,dc=dmosk,dc=local (при условии, что именно по данному пути расположена учетная запись).

На вкладке Дополнительно добавляем фильтр (mail=*):

Дополнительные параметры для настройки LDAP

* данный фильтр позволяет отбросить все записи без email.

Попробуем поискать что-либо в адресной книге:

Поиск по общей адресной книге

... мы увидим запрос на ввод пароля для учетной записи связывания с LDAP:

Ввод пароля для учетной записи gab

Вводим пароль — поиск должен показать результаты найденных учетных записей. Можно закрывать адресную книгу.

Переходим на настройкам почтового клиента Mozilla Thunderbird. Для этого кликаем по значку настройки и выбираем Настройки:

Переход к настройкам Thunderbird

В разделе Составление находим подраздел Адресация. Ставим галочку для Сервере каталогов и выбираем нашу созданную книгу:

Настройка адресации

Настройка завершена. При составлении письма в разделе «Кому» пишем имя получателя для его поиска по общей книге.

MS Outlook

В случае использования почтового сервера Exchange, нет необходимости вручную создавать адресную книгу, так как она создается автоматически. Без Exchange (например, при использовании Postfix / hMailServer / exim) необходимо ее подключить вручную.

Запускаем почтовый клиент. Кликаем по Файл:

В Outlook кликаем по Файл

Переходим в Настройка учетных записей - еще раз Настройка учетных записей:

Переходим к настройке учетных записей аутлука

На вкладке Адресные книги кликаем по Создать:

На вкладке Адресные книги кликаем по Создать

На странице выбора типа каталога выбираем Служба каталогов Интернета (LDAP):

Выбираем создание адресной книги на основе LDAP

В следующем окне вводим адрес сервера LDAP и логин с паролем для подключения:

Данные для подкючения к LDAP

Обратите внимание, что формат записи для имени пользователя может отличаться в зависимости от реализации службы каталогов, например

  • Во FreeIPA в качестве bind dn нужно будет прописать uid=gab,cn=users,cn=accounts,dc=dmosk,dc=local (при условии, что именно по данному пути расположена учетная запись).
  • В некоторых версиях MS Active Directory мы должны указать учетную запись с доменом, например, dmosk\gab.

Кликаем по кнопке Другие настройки и вводим имя для адресной книги:

Задаем название для общей книги

... а на вкладке Поиск, при необходимости, задаем базу для поиска и ставим галочку Включить предпросмотр (для отображения всех контактов в адресной книге при ее открытии):

Расширенные настройки поиска

Готово. Чтобы Outlook увидел новую адресную книгу, перезапускаем его.

Roundcube

Для подключения адресной книги в Roundcube открываем конфигурационный файл на сервере:

vi /var/www/webmail/config/config.inc.php

* в моем примере roundcube установлен в каталог /var/www/webmail.

Добавляем следующие строки:

$config['autocomplete_addressbooks'] = array('sql','ldap');

$config['ldap_public'] = array(
    'ldap' =>array (
        'name' => 'Общая адресная книга',
        'hosts' => array('dmosk.local'),
        'sizelimit' => 600,
        'port' => 389,
        'use_tls' => false,
        'user_specific' => false,
        'base_dn' => 'DC=dmosk,DC=local',
        'bind_dn' => 'gab@dmosk.local',
        'bind_pass' => 'gab_password',
        'writable' => false,
        'ldap_version' => 3,
        'search_fields' => array(
           'mail',
           'cn',
        ),
        'name_field' => 'cn',
        'email_field' => 'mail',
        'surname_field' => 'sn',
        'firstname_field' => 'givenName',
        'organization_field'     => 'company',
        'jobtitle_field'    => 'title',
        'department_field'   => 'department',
        'sort' => 'sn',
        'scope' => 'sub',
        //'filter' => '(&(mail=*)(|(&(objectClass=user)(!(objectClass=computer)))(objectClass=group)))',
        'filter' => '(&(mail=*)(|(&(objectcategory=person)(!(objectClass=computer)))(objectClass=group)))',
        'global_search' => true,
        'fuzzy_search' => true
    ),
);

$config['ldap_cache'] = 'db';
$config['ldap_cache_ttl'] = '10m';

* где:

  • autocomplete_addressbooks — перечень источников адресных книг. В нашем примере не первом месте идет база данных, на втором — LDAP.
  • ldap_public — список подключений к LDAP. В нашем примере будет одно со следующими параметрами:
    • name — имя адресной книги.
    • hosts — перечень ldap-сервером.
    • port — порт для подключения к LDAP.
    • use_tls — нужно ли использовать шифрованное соединение. В данном примере, нет, но если требуется, необходимо также изменить порт подключения.
    • base_dn — в каком базовом контейнере искать учетные данные.
    • bind_dn — учетная запись, от которой будет идти обращение к LDAP. Формат данной записи может отличаться в зависимости от реализации службы каталогов, например, во FreeIPA в качестве bind dn нужно будет прописать uid=gab,cn=users,cn=accounts,dc=dmosk,dc=local (при условии, что именно по данному пути расположена учетная запись).
    • bind_pass — пароль для учетной записи, от которой будет идти обращение к LDAP.
    • search_fields — поля, по которым будет осуществляться поиск учетной записи.
    • name_field — поле для имени учетной записи.
    • email_field — поле с email.
    • filter — фильтр поиска учетных записей. В данном примере раскомметированный фильтр больше подходит для Microsoft Active Directory.
    • * стоит иметь ввиду, что у разных реализаций LDAP поля могут иметь разные имена.
  • ldap_cache — место хранения кэша. Возможны варианты db, apc и memcache.
  • ldap_cache_ttl — время хранения кэша.

Открываем Roundcube и переходим в контакты. Мы должны увидеть новую адресную книгу с название, описанным в поле name

# Active Directory # Почта
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет