[О блоге] [наверх] [пред] [2022-07-28 22:25:44+03:00] [b54eee0a42cf88a1bc85e18e682797405b8f7608]
Темы: [mail][perl]

Познакомился с public-inbox

https://public-inbox.org/README.html
Упоминал в 24cb57beb1d53c4822b881300c73a37f1f36cc03 про то, что не плохо
бы иметь NNTP интерфейс к архивам почтовых рассылок. Я не нашёл ни
одного простого средства, как минимум без серьёзных СУБД типа PostgreSQL
или MySQL, чтобы Maildir/mbox можно было выдавать. Я не прочь бы был и
просто через pipe в команду скармливать по сообщению, чтобы оно попадало
в какую-нибудь БД, но ничего не нашёл удовлетворительно простого.

Вспомнил про public-inbox, который уже не помню почему не рассматривал
(05bfb59b71520599ab105f0b189a5876988c0dcc). Наверное потому что
показалось большим overhead-ом хранить это всё в репозитории и потому
что нужно иметь запущенный демон в качестве frontend-а. Но посмотрел и
попробовал это поближе.

Мне очень понравилась аккуратность документации и минималистичность
проекта. Я не ожидал что настолько легко будет сделать архив и отдавать
его. public-inbox-init с тривиальными аргументами, public-inbox-mda
скормить через stdin просто все файлы архива mlmmj
(aac872add6b3defe52aef4d70dbb54a6fcddf973), public-inbox-index --all, а
дальше просто запускать или -httpd, или -nntpd, или -imapd.

Но обнаружились проблемы: он отказывается помещать в архив HTML письма,
как минимум. В рассылке про криптопати многие письма отсутствуют, есть
только ответы в plain text-е. И public-inbox настолько минималистичен,
что настроить это ничего нельзя. Хотя оно на Perl и в качестве
преимущества указывается (7140d7a5634957df1b459a4d6dae976b642d18f4)
возможность всё это править, но не думаю что я возьмусь за это. Люди
использующие HTML в письмах заслуживают презрения и неуважительного
отношения и недостойны помещения в архив.

Другая, более важная проблема: я не нашёл ни одного клиента который бы
отображал мне кириллические письма. Впервые пробовал использовать NNTP и
поэтому опыта никакого. slrn, tin и NeoMutt пробовал, а также Lynx. В
общем-то, кириллические письма всегда в закодированных MIME сообщениях
встречаются. tin показывает содержимое писем, но не декодирует их темы,
поэтому список сообщений в криптопати-рассылке состоит из сплошных
вопросительных знаков. slrn наоборот отображает темы, но не тела. Или
наоборот -- уже запутался. Lynx ничего не декодирует.

А NeoMutt не показывает список сообщений вообще, хотя список доступных
групп имеется. С Gmane-ом он сообщения показывает, так что наверное
что-то с public-inbox не стыкуется у него. Причём нашёл пару ошибок в
нём: на одной строчке из muttrc он падает и ругается что там какая-то
ошибка. На одном из предыдущих коммитов, когда я пробовал "другую"
версию NNTP реализации, увидел что он явно написал мне про ошибку
(mailboxes указывал на несуществующий mailbox). То есть явно произошла
деградация в нём. А другая ошибка была в том, что в нём по умолчанию
включён всякий force TLS, он выдаёт ошибке о невозможности провести
STARTTLS, но зачем же при этом показывать мне список групп новостей? То
есть, не смотря на force TLS, он всё равно общается с сервером.

В итоге NNTP как бы отпадает, ибо всё плачевно с MIME поддержкой в
популярных клиентах.

Но, зато работает IMAP! Анонимный пользователь без проблем может войти,
ну и отдаётся всё в этом почтовом ящике. Уж IMAP-capable софта гораздо
больше и с MIME проблем быть не должно ни в каком виде уже.

Наверное буду переезжать на эту штуку. С daemontools тривиально
интегрируется. godlighty надо научить проксировать запросы в -httpd.
Посмотреть как бы красиво письмо можно бы было скармливать -mda. Понять
нужен ли IMAP. Скорее всего нет, ибо если в news:// ещё можно указывать
конкретное сообщение, то в imap:// не слышал о таком.

    [оставить комментарий]