Настройка davmail под windows

Обновлено: 07.07.2024

О замене MS Exchange на другие решения было сказано уже достаточно много. Попробуем наоборот – использовать Mozilla Thunderbird в качестве клиента самого MS Exchange – и посмотрим, насколько полноценный получается клиент

Ход конем? Нет – птицей. Синей

О замене MS Exchange на другие решения было сказано уже достаточно много. Попробуем наоборот – использовать Mozilla Thunderbird в качестве клиента самого MS Exchange – и посмотрим, насколько полноценный получается клиент

Ход конем? Нет – птицей. Синей

О замене MS Exchange на разнообразные Open Source-решения вышло уже множество публикаций, особенно в последнее время, когда все чаще начали появляться более-менее стоящие альтернативы, которые обычно распространяются по принципу двойного лицензирования – существует Сommunity edition, которая бесплатная, и advanced (или еще как-нибудь называющаяся) edition, которая стоит денег. Об этом мы еще напишем полноценный обзор, а пока что попробуем решить диаметрально противоположную проблему – подключить Open Source-клиента к MS Exchange таким образом, чтобы получить функционал, максимально близкий к Outlook. Такое решение должно одинаково работать и в Windows, и в Linux.

Единственным кандидатом на такую роль является Mozilla Thunderbird, причем в решении данной принципиально невозможной задачи еще несколько лет назад существенную помощь оказал… сам Microsoft.

Каким образом, спросите вы? Да очень просто. После появления Exchange 2013 вся работа Outlook Web Access стала строиться на основе протокола Exchange Web Service (EWS), который в общем плане представляет собой запросы, передаваемые по порту 443, и возвращаемые на них ответы. Ну а дальше все просто – Exchange не различает запросов, переданных OWA или какой-либо еще другой программой, – он их просто выполняет и возвращает результат. Таким образом, найдя соответствующий плагин или установив соответствующую программу, можно получить функционал как минимум на уровне OWA.

Мы рассмотрим все основные сервисы Outlook и способы их реализации с помощью Thunderbird или сторонних программ. Рассматриваться будут не только почта, но и полный комплект Groupware-сервисов – календарь, задачи, контакты, заметки.

Почтовый сервис через Davmail

В первую очередь рассмотрим, конечно же, самое главное – почту. Казалось бы, c этим проблем никаких нет – Exchange поддерживает IMAP/POP3, достаточно настроить подключение к серверу, и все заработает. Но не все так просто, как кажется.

По совершенно необъяснимым причинам IMAP, встроенный в Exchange, работает чрезвычайно медленно. Возможно, это связано с недостаточной настройкой. Возможно, так и задумывалось – сказать трудно. Но, если в почтовом клиенте существует большое количество локальных фильтров, клиент может просто не успевать получать новые письма от сервера, а веб-интерфейс, например, Horde Groupware, позволяющий задавать подключение к серверу, расположенному на другом компьютере, просто выдает ошибку соединения с сервером. При этом никаких ошибок со стороны Exchange-сервера не фиксируется, IMAP работает нормально – просто очень медленно.

Ну и, кроме того, IMAP на Exchange может быть просто не разрешен – политикой организации может предусматриваться взаимодействие исключительно через MAPI или EWS. Как поступить в такой ситуации?

Специально для таких случаев была разработана программа Davmail Gateway [1] , распространяемая по лицензии GNU GPL. Идея ее чрезвычайно проста: на компьютере запускается локальный модуль-переходник, который принимает запросы по стандартным протоколам IMAP/SMTP, а передает полученные запросы (на получение или отправку почты) по протоколу EWS, точно так же, как это делает OWA, в результате чего письмо, отправленное через Davmail, невозможно отличить от письма, отправленного через OWA.

Davmail – приложение, написанное на языке Java, поэтому оно работает одинаково и в Windows, и в Linux, и в FreeBSD. Для Windows существует инсталлятор, Linux-версия просто распаковывается в каталог и запускается davmail.sh. Настойки совершенно идентичны, поэтому описывается Windows-версия.

Статью целиком читайте в журнале «Системный администратор», №7-8 за 2015 г. на страницах 29-33.

Установка DavMail

Для установки DavMail на CentOS 6 необходимо добавить сторонний репозиторий. Загрузите файл .repo и обновите кэш yum:

Затем установите DavMail с помощью yum:

sudo yum install davmail

Также нужно установить дополнительный пакет, необходимый для работы скрипта инициализации:

sudo yum install redhat-lsb-core

Базовая настройка DavMail

Конфигурационный файл DavMail находится в /etc/davmail.properties; откройте его с помощью любого удобного текстового редактора (в данном случае это nano):

sudo nano /etc/davmail.properties

Переведите DavMail в серверный режим, чтобы программа не требовала X11:

Активируйте удаленный режим и выполните привязку к IP-адресу сервера (в противном случае оставьте поле bindAddress пустым):

В поле davmail.url укажите Outlook Web App/Outlook Web Access URL, что, как правило, заканчивается на /owa:

По умолчанию DavMail использует нестандартные порты; чтобы облегчить процесс создания почтовых клиентов, вероятно, нужно изменить эти порты. Чтобы программа DavMail использовала порты по умолчанию SSL-зашифрованных IMAP и SMTP, измените опции davmail.imapPort и davmail.smtpPort:

Сохраните и закройте конфигурационный файл.

Создание SSL-сертификата

Для активации SSL-шифрования понадобится SSL-сертификат и закрытый ключ SSL в формате PEM. За таким сертификатом можно обратиться в центр сертификации; также можно создать его самостоятельно, выполнив следующие действия.

С помощью OpenSSL сгенерируйте ключ RSA:


sudo openssl genrsa -out /etc/pki/tls/private/davmail.key 2048

Убедитесь в том, что ключ принадлежит root-пользователю и привилегии указаны верно:

sudo chown root:root /etc/pki/tls/private/davmail.key
sudo chmod 600 /etc/pki/tls/private/davmail.key

Теперь создайте запрос на сертификат:

sudo openssl req -new -key /etc/pki/tls/private/davmail.key -out /etc/pki/tls/certs/davmail.csr

Подпишите запрос на сертификат с помощью закрытого ключа, указав дату окончания срока действия с помощью аргумента -days:

sudo openssl x509 -req -signkey /etc/pki/tls/private/davmail.key -in /etc/pki/tls/certs/davmail.csr -out /etc/pki/tls/certs/davmail.crt -days 365

Согласно вышеприведенному примеру сертификат будет действителен 365 дней.

Настройка SSL

Получив SSL-сертификат, переведите его в понятный DavMail формат. В приведенных ниже примерах используются созданные ранее ключ и сертификат. Если сертификат был получен в центре сертификации, используйте эти файлы вместо davmail.key и davmail.crt.

С помощью команды cat объедините сертификат и ключ в один файл:

sudo cat /etc/pki/tls/private/davmail.key /etc/pki/tls/certs/davmail.crt > /etc/pki/tls/certs/davmail.pem

Опять же, привилегии на этот файл должны быть только у пользователя root:

sudo chown root:root /etc/pki/tls/certs/davmail.pem
sudo chmod 600 /etc/pki/tls/certs/davmail.pem

Теперь конвертируйте полученный файл в pkcs12:

openssl pkcs12 -export -in /etc/pki/tls/certs/davmail.pem -out /etc/pki/tls/certs/davmail.p12 -name “davmail”

После этого будет предложено ввести пароль экспорта. Это поле не может быть пустым! Установите пароль, в противном случае DavMail не будет работать правильно.

sudo chown root:root /etc/pki/tls/certs/davmail.pem
sudo chmod 600 /etc/pki/tls/certs/davmail.pem

Снова откройте конфигурационный файл DavMail.

sudo nano /etc/davmail.properties

Внесите в него следующие опции, чтобы сообщить DavMail расположение только что созданного файла pkcs12 и установленный пароль.

davmail.ssl.keystoreType=PKCS12
davmail.ssl.keystoreFile=/etc/pki/tls/certs/davmail.p12
davmail.ssl.keyPass=password
davmail.ssl.keystorePass=password

Обратите внимание: строки davmail.ssl.keyPass и davmail.ssl.keystorePass должны иметь одинаковое значение.

Запуск DavMail

Из-за особенностей работы системы Linux необходим root-доступ, чтобы открыть используемые порты (993 и 465); то есть, DavMail необходимо запускать с правами root. По умолчанию скрипт инициализации, который поставляется с пакетом DavMail, запускает Davmail с помощью учетной записи пользователя davmail и не сможет запустить его с помощью установленных настроек. Это можно обойти с помощью небольшой поправки настроек скрипта инициализации.

Создайте копию скрипта инициализации по умолчанию:

sudo cp /etc/init.d/davmail /etc/init.d/davmail-root

Откройте эту копию в текстовом редакторе:

sudo nano /etc/init.d/davmail-root

[. ] su - root -s /bin/sh -c "exec nohup $DAVMAIL_HOME/davmail $DAVMAIL_CONF >> $LOGFILE 2>&1 &"
[. ]

Сохраните изменения и закройте файл. Запустите DavMail с помощью отредактированного скрипта инициализации:

service davmail-root start

В завершение настройте запуск DavMail при загрузке сервера:

chkconig davmail-root on

Настройка клиентов

Примечание: убедитесь, что IMAP и SMTP используют SSL/TLS, а не STARTTLS.

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

Дополнительную информацию и инструкции для Thunderbird, Mac OSX и iOS можно найти на сайте DavMail.

Готово! Теперь можно отправлять и получать электронные письма на учетную запись Microsoft Exchange с использованием открытых технологий!

Могу работать под Windows, но не люблю. Если есть возможность выбирать рабочее окружение я выберу Xubuntu.


  1. На рабочей машине установим VirtualBox создадим в ней гостевую виртуальную машину и перенесем на неё всю свою рабочую среду. Сохраним образ.
  2. Установим Xubuntu и развернем в ней готовый образ виртуальной машины.
  3. Постепенно перенесем всю работу в основную ОС т.е. в Xubuntu.

Перечислим основные проблемы перехода на другую ОС внутри корпоративной сети:
  • Рабочий процесс не должен прерываться.
  • Вы не являетесь администратором домена и не сможете отредактировать свои настройки.
  • Компания Microsoft использовала весь свой потенциал что бы удержать вас под Exchange на Outlook
  • Предстоит настроить сетевые папки, принтеры, прочие ресурсы и программы привязанные к Windows

Этап Первый. Виртуализация рабочей среды.

  • Устанавливаем VirtualBox.
  • Создаем динамический диск на 10-40 гигабайт и ставим туда Windows XP.
  • Устанавливаем MS Office и прочие необходимые программы.
  • Открываем настройки сети и меняем адрес DNS сервера с "авто" на IP DNS сервера (взять из результатов ipconfig).
  • Подключаем сетевые диски и принтеры. Запишите IP принтсервера.
  • Пару дней работаем, вылавливая проблемы.

Кстати, никогда не ставьте драйвера виртуализации дисков SPTD внутрь виртуальной машины. Например, при установке DAEMON Tools. Они вызовут конфликт с драйверами самой VM.

После того, как вы гарантированно закончили тюнить свой образ рабочей системы, прогоните по ней утилиту ccleaner с параметром обнуления пустого пространства. Это уменьшит размер экспортируемого образа.
Последним этапом: Меню > Файл > Экспорт конфигурации. Экспортируем виртуальную машину и сохраняем на отдельный носитель.

Этап 1.2 (не обязательный). Полный BackUp.

На случай быстрого отката на прежнюю архитектуру, сохраняем образ диска С с предустановленной системой средствами утилиты типа Acronis True Image или Comodo BackUp. Использование ccleaner замедляет процесс, но сокращает размер конечного файла.

Этап Второй. Установка в Xubuntu.

Если процессор поддерживает и оперативной памяти от 4 Гб - ставьте 64-bit версию. В остальных случаях лучше поставить 32-bit систему.
Процесс установки и настройки можно посмотреть в статье "Рецепт приготовления Хubuntu или нетбук для супруги".

Для исключения путаницы используйте свой корпоративный логин и пароль в качестве имени и пароля пользователя системы.

Импортируем нашу виртуальную машину и начинаем работать из неё.
При запуске сетевых приложений будет запрошен логин и пароль в корпоративной сети. Логин пишем вместе с именем домена. Домен обязательно большими буквами:

Запуск виртуальной машины можно вставить в автозагрузку или вывести на отдельную кнопку командой:

В режиме интеграции рабочего стола VM границы двух ОС пропадают.



Не тратьте свое время на попытки поднять всё необходимое под Wine, Q4Wine, PlayOnLinyx, Crossover. Я уже прошел весь этот путь. Как не странно, бесплатный PlayOnLinyx оказался проще и надежнее платного Crossover, но все равно, не смог победить MS Outlook 2010. Все варианты использования Wine хороши для запуска одного единственного, конкретного приложения. Все нюансы, возникающие в процессе работы смогут решить только виртуальные машины. Именно, во множественном числе. Поскольку VM можно клонировать, доводить до бесчувствия, стирать и легко возвращаться к исходному состоянию.

Этап Третий. Настройка Xubuntu.

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


Параметр "дополнительные поисковые домены" позволит обращаться по коротким доменным именам. Это минимум. В идеале вам лучше пройти путь полной интеграции в домен Windows.

Настройка почты и календаря Exchange

Если в вашей компании настроен удаленный доступ к почте Exchange через браузер, можно использовать эту возможность для подключения почты и календаря в Thunderbird. Для этого необходимо будет поставить гейт DavMail и дополнения к Thunderbird (Lightning,SOGo)
Подробно и с картинками этот процесс описан в статьях:

Ставим DavMail
для запуска может понадобится Java и пакет libswt-cairo-gtk-3-jni

sudo apt-get install openjdk-7-jre libswt-gtk-3-java libswt-cairo-gtk-3-jni


Монтирование сетевых папок

sudo apt-get install samba system-config-samba cifs-utils

Раньше мы редактировали фаил /etc/samba/smb.conf Например, параметр:

Теперь, это делается через интерфейс system-config-samba. Настройка хорошо описана тут.



Самым простым способом доступа к сетевым ресурсам является программа Gigolo. На втором месте, файловый менеджер nautilus. Впрочем, в любом файловом менеджере с командной строкой можно прописать:

Монтирование сетевой папки в консоли :

создаем папку для монтирования сетевого тома
sudo mount -t cifs -o username=Ваш_Логин,workgroup= ВАШ_ДОМЕН ,password=Ваш_пароль ,rw,hard,nosetuids,noperm,sec=ntlm //сервер/папка /mnt/ Ваш_Логин/папка_монтирования

Для удобства и безопастности логин и пароль лучше спрятать в отдельном файле / root / .credentials

domain= your_smb_ domain
username=your_smb_username
password=your_smb_password

Делаем файл .credentials недоступным для пользователей, а для root -- только на чтение:

В последних версиях возникает ошибка mount error(13): Permission denied т.к. файл должен быть доступен пользователю на чтение.

Защищенный вариант монтирования сетевой папки в консоли:

sudo mount -t cifs -o credentials=/root/.credentials,rw,hard,nosetuids,noperm,sec=ntlm //сервер/папка /mnt/ Ваш_Логин /папка_монтирования

Автомонтирование сетевой папки при загрузке:

Для монтирования ваших сетевых ресурсов автоматически при загрузке правим файл /etc/fstab

//сервер/папка /mnt/ Ваш_Логин /папка_монтирования cifs credentials=/root/.credentials 0 0

или, если чтение-запись:

//сервер/папка /mnt/ Ваш_Логин /папка_монтирования cifs credentials=/root/.credentials,iocharset=utf8,dir_mode=0777,file_mode=0777 0 0

Регулярная смена пароля пользователя домена Windows.

В компаниях принято регулярно менять пароль для входа в домен. В зависимости от уровня админов в компании вам, или придет предупреждение, или просто пропадет доступ к почте через браузер, при доступности самого сервиса. Это означает, что пришло время смены пароля доступа к домену. Если срок пароля еще не истек его можно сменить в настройках web-интерфейса Outlook. Если истек - необходимо залогиниться в домен с любой Windows системы. При введении пароля пользователя, она сообщит о том, что пароль устарел и предложит его сменить. Наиболее удобным вариантом решения является удаленный доступ к виртуальной машине, где-нибудь внутри корпоративной сети.

Решение проблем.

1. Недоступны домены локальной сети оканчивающиеся на .local
Зона local связана с демоном Avahi и современный dnsmasq, использующийся в Убунту, по умолчанию не делает запрос к DNS серверам вашего провайдера для зоны local. т.е. команда: nslookup хххх.ххх.local сервер находит, а ping хххх.ххх.local - нет.
Сперва, отправляем Avahi в зону .alocal в файле /etc/avahi/avahi-daemon.conf
раскомментируем и меняем запись: domain-name=.alocal

Затем, в файле /etc/nsswitch.conf меняем строчку на:

hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4

2. Включения спящего режим. Может вызывать глюки, связанные с конкретикой вашего оборудования.

Настройте Thunderbird для доступа к адресной книге LDAP Office 365

Я уже настроил Thunderbird в Win10 для доступа к моей учетной записи Office 365. Отправка и получение почты (через IMAP) работает, и TB правильно показывает папки с подпиской.

Как я могу это сделать?

Самый простой способ, который я нашел, - использовать коннектор Davmail.

Это Java-апплет, который работает в фоновом режиме на вашем ПК с Windows 10. Для Thunderbird это похоже на IMAP для получения электронной почты, SMTP для ее отправки и LDAP для запросов адресной книги. На стороне Office365 он говорит о собственных протоколах.

Пользуюсь им уже около пяти лет, и IME он прочный и надежный.

Настройки конфигурации для Davmail

  • Адрес привязки: 127.0.0.1
  • Все остальное: НЕТ или пусто
  • Редактировать уведомления Caldav: ДА (вы можете предпочесть НЕТ)
  • Отображать стартовый баннер: ДА
  • Включить KeepAlive: ДА
  • Все остальное: НЕТ или пусто

Параметры конфигурации для Thunderbird

Инструменты> Параметры> Адресация

Сервер каталогов: [Изменить каталоги . ]> Добавить

  • Имя: Office 365
  • Имя хоста: localhost
  • Базовое DN: ou = Люди
  • Номер порта: 389
  • Привязать DN:

У меня были проблемы с использованием DavMail (в основном со значком в трее). И календарем было непросто.

Итак, я искал глубже. И я нашел TbSync, который хорошо работает вместе с поставщиком EAS.

Работает "из коробки". Нет технической конфигурации, нет фонового процесса. Я просто дал свою учетную запись и пароль, и все остальное было обнаружено. Адреса и календари теперь работают как шарм.

Единственный совет, который вы должны знать о TbSync, - это то, что после его установки (как инструменты → Дополнения ) к конфигурации можно получить доступ из инструменты → Настройки синхронизации (TbSync) :


. или альтернативно под инструменты → Дополнительные параметры → TbSync :

Читайте также: