ClawsMail и vdirsyncer
Jun. 27th, 2018 05:32 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Несколько лет назад я уполз с mutt-а на графический почтовый клиент claws-mail.
Оно такое все из себя gui-шное, умеет поддерживать работу сразу с несколькими аккаунтами, имеет плагины для кучи полезных вещей, включая скажем, vcalendar или managesieve
Плагины для RSS я ставил но как-то они не пошли. А вот разделять адресную книгу и календарь между всеми машинами, где я запускаю этот клиент, а также с телефоном, мне хочется.
Поэтому я поставил на имеющемся у меня сервере radicale, а на всех рабочих машинках настроил vdirsyncer, чтобы иметь доступ к тому что телефон синхронизирует с помощью DAVDroid.
Везде в описаниях vdirsyncer предлагается для локальных хранилищ использвоать type="filesystem".
Claws же почему-то предполагает что все контакты или все события календаря лежат в одном файле.
Но для этого у vdirsyncer-а есть type="singlefile"
С адресной книгой на самом деле все очень просто. Claws-mail позволяет добавить в качестве дополнительной (read-only) адресной книги файл с vcard-ами. Это core функциональность
Соответственно, берем carddav сервер, и синхронизируемся с ним с локальным хранилищем типа singlefile. Поскольку оно все равно readonly, то никаких проблем нет.
Если очень хочется иметь интерфейс для редактирования контактов, ставим khard, и прописываем его базу контактов (по одному файлу на vcard) в конфиг vdirsyncer-а как еще одно локальное хранилище с типом filesystem и синхронизируемся не только с сервером, но и с ним.
Впрочем, надо выкроить пару часов и дописать свой скриптик который редактирует контакты с type="singlefile". Поскольку khard не умеет работать с фотографиями и с текстами с encoding=quoted-printable.
C календарем интереснее. Во-первых, стандарты тем хороши, что их много, и можно выбирать. Поэтому vcalendar плагин к claws поддерживает стандарт webcal, но не поддерживает caldav.
Казалось бы все плохо, но, если указать url со схемой file, указывающую на синхронизированный vdirsyncer-ом календарь с типом singlefile, claws его прекрасно читает. Правда, не пишет.
Что уже гораздо хуже, чем с контактами, потому что основной способ создания событий в рабочем календаре - это импорт аттачмента типа vcalendar из письма. И то, что не получается распространить по машинам созданное таким образом событие - неудобно.
Правда, claws позволяет экспортировать календарь в ics файл, но события из него надо еще как-то смерджить с синхронизируемым календарем. Оно ж не проверит что оно эти события уже экспортировало.
Возможно, дешевле разбирать экспортируемый файл на отдельные события по UID-ам и потом синхронизировать как type="filesystem".
Оно такое все из себя gui-шное, умеет поддерживать работу сразу с несколькими аккаунтами, имеет плагины для кучи полезных вещей, включая скажем, vcalendar или managesieve
Плагины для RSS я ставил но как-то они не пошли. А вот разделять адресную книгу и календарь между всеми машинами, где я запускаю этот клиент, а также с телефоном, мне хочется.
Поэтому я поставил на имеющемся у меня сервере radicale, а на всех рабочих машинках настроил vdirsyncer, чтобы иметь доступ к тому что телефон синхронизирует с помощью DAVDroid.
Везде в описаниях vdirsyncer предлагается для локальных хранилищ использвоать type="filesystem".
Claws же почему-то предполагает что все контакты или все события календаря лежат в одном файле.
Но для этого у vdirsyncer-а есть type="singlefile"
С адресной книгой на самом деле все очень просто. Claws-mail позволяет добавить в качестве дополнительной (read-only) адресной книги файл с vcard-ами. Это core функциональность
Соответственно, берем carddav сервер, и синхронизируемся с ним с локальным хранилищем типа singlefile. Поскольку оно все равно readonly, то никаких проблем нет.
Если очень хочется иметь интерфейс для редактирования контактов, ставим khard, и прописываем его базу контактов (по одному файлу на vcard) в конфиг vdirsyncer-а как еще одно локальное хранилище с типом filesystem и синхронизируемся не только с сервером, но и с ним.
Впрочем, надо выкроить пару часов и дописать свой скриптик который редактирует контакты с type="singlefile". Поскольку khard не умеет работать с фотографиями и с текстами с encoding=quoted-printable.
C календарем интереснее. Во-первых, стандарты тем хороши, что их много, и можно выбирать. Поэтому vcalendar плагин к claws поддерживает стандарт webcal, но не поддерживает caldav.
Казалось бы все плохо, но, если указать url со схемой file, указывающую на синхронизированный vdirsyncer-ом календарь с типом singlefile, claws его прекрасно читает. Правда, не пишет.
Что уже гораздо хуже, чем с контактами, потому что основной способ создания событий в рабочем календаре - это импорт аттачмента типа vcalendar из письма. И то, что не получается распространить по машинам созданное таким образом событие - неудобно.
Правда, claws позволяет экспортировать календарь в ics файл, но события из него надо еще как-то смерджить с синхронизируемым календарем. Оно ж не проверит что оно эти события уже экспортировало.
Возможно, дешевле разбирать экспортируемый файл на отдельные события по UID-ам и потом синхронизировать как type="filesystem".
no subject
Date: 2018-06-27 03:38 pm (UTC)(no subject)
From:no subject
Date: 2018-06-27 07:24 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2018-06-28 07:52 am (UTC)(no subject)
From:no subject
Date: 2018-07-06 05:28 am (UTC)Кстати, к thunderbird есть external editor plugin, который позволяет писать письма в любимом виме. А claws так умеет? И card и cal dav к нему есть.
no subject
Date: 2018-07-06 05:29 am (UTC)