С недавнего времени начал много пользоваться почтой на Яндексе (почта для домена или Яндекс.Коннект). Неприятным сюрпризом стало то, что, хотя почта работает по imap, но Microsoft Outlook при подключении аккаунта в Яндекс не позволяет синхронизировать календарь и контакты.
Так как только почта без календаря теряет очень много своей ценности не только для меня, то после поисков и изучения вопроса, решил описать найденное решение.
В чем корень проблемы
Microsoft Outlook из коробки умеет работать только с календарями в Exchange Server. Календарь Яндекс, а также многие другие онлайн сервисы календарей по умолчанию используют протокол CalDAV и не поддерживают формат Exchange.
Возможные причины такого несовпадения стандартов:
- MS Outlook ориентирован на бизнес пользователей, у которых как правило свой почтовый сервер и, обычно, это именно Exchange
- Большая часть ПО нормально работает именно с CalDAV: iOS, Android, Mozilla Thunderbird (с плагином) и т.д.
- Онлайн календари - намного менее востребованный сервис, по сравнению с почтой, и поэтому актуальность проблемы стандартизации ниже
Рабочее решение
В общем виде, решение заключается в установке в Outlook плагина для синхронизации локального календаря с онлайн календарем.
Из нескольких опробованных вариантов, мне больше всего понравились два:
- CalDAV Synchronizer
- Простенькое расширение, синхронизирует только календарь
- Можно синхронизировать разные календари
- Легкая настройка. Можно выбрать простую настройку из списка популярных онлайн календарей, включая Google и Яндекс
- Бесплатно и работает без ограничений
- Открытый код и 300+ звезд на GitHub (для тех, кто не в курсе, это уже приличный показатель популярности)
- OpenProtocolsConnector
- Более комплексная надстройка, которая также позволяет синхронизировать контакты
- Настройка сложнее, так как Яндекса в списке CalDAV провайдеров нет (нужно идти самому искать правильный путь к онлайн-календарю)
- Для работы необходима лицензия. Персональная домашняя лицензия бесплатна, но требует ежегодного обновления.
- Есть исходный код для CalDAV библиотеки, на основе которой работает надстройка
- Кажется менее популярным, чем CalDAV Synchronizer
Альтернативные (неоптимальные) решения
- Экспорт календаря Google. В календаре Google возможно указать публичную ссылку для календаря в формате, который понимает Outlook. Но у данного решения есть ряд минусов:
- MS Outlook подключает календарь только в режиме “read only”
- Нет возможности настроить права, кто угодно у кого есть ссылка, сможет прочитать содержимое календаря
- EVO Collaborator. Есть гуглить тему с календарем, то именно это расширение будет в первых результатах поиска. Я попробовал, мне не очень понравилось (может быть просто не разобрался):
- Вместо того, чтобы синхронизировать уже существующий локальный календарь с онлайн сервисом, надстройка добавляет новый локальный календарь под каждый сервис и синхронизирует уже его
- Стоит 28 евро на фоне бесплатных альтернатив
- Отказаться от MS Outlook:
- Не сильно рассматривал вариант, так как, даже если отбросить вопрос привычки и удобства, то остается вопрос (не-)переносимости своих vba-макросов и надстроек (можно назвать это vendor lock’ом)
Заключение
На самом деле задача синхронизации Outlook и внешних провайдеров достаточно тривиальна. Предположу, что есть и другие удобные альтернативы, но описанные выше варианты показались мне достаточными. Если вы знаете более удобные способы или решения, то пишите в комментарии.