shaman007: (Default)
Google тут ответил мне на запрос включения Inbox для моей личной почты. Ну что, для личной почты хорошо, агрегация и сортировка вот это все. Только слишком цветасто. Для рабочей - скорее не надо, тем более, что многое еще не до делано, например, Out Of Office нет.

Приятно, что он Gmail намертво не заменяет, можно пользоваться и тем и другим. Но отключать уже нельзя.
shaman007: (Default)

Так как KLMS у меня так и не заработал, то я почитал актуальные заметки на тему борьбы со спамом. Выводов глобально 2:

- системы распределенных хешей, черных списков и т.п. как-то сошли на нет, бесплатные совсем, платные почти. Многие проекты не обновлялись много лет. Самообучающиеся системы - тоже самое: платная поддержка шевелится, бесплатные версии ниочень.
- грейлист + helo restrictions решают проблему на столько, что дальше копать смысла нет. Буквально: настроил себе и все, редкий бот пройдет 4 раза на моих трех MX'ах. Недостатки грейлиста известны, да и черт с ними, я никуда не спешу.

shaman007: (Default)

Раз уж я решился строить свой собственный Луна-парк, то почта на своем домене - первое, что приходит в голову. Не вопрос прописать MX запись, поставить Postfix на локальную доставку, установить IMAP-сервер Dovecot и почтовый веб-клиент Roundcube, вопрос повторить функциональность "большой" системы, в первую очередь, сортировку. Что меня не устраивает в Gmail? Это идеология меток (labels), которых можно прицепить к одному и тому же письму несколько, а в IMAP отобразить их в виде папок. В результате корневая папка всегда полна писем, а я такой человек (возможно, мой случай уникален), что всю "лишнюю" почту я удаляю, а всю "нужную" раскладываю по папкам. Я стираю все уведомления от веб-магазинов, форумов, сервисов и т.п., что не укладывается в идеологию Гугла "зачем удалять, если место бесконечно?". Гугл хочет видеть у меня как можно больше, а я не хочу видеть мусор. Далее, я пользовался iCloud/me.com, там все просто: правила сортировки входящей почты просто не работают и все.

Итак, задача: чтобы Dovecot сам раскладывал почту по папкам IMAP'а. Честно говоря, я провел минут 20 в поиске "а где же у Roundcube'а настройки фильтрации?", а потом начал читать инструкции. К сожалению, все, что можно найти в вебе, не содержит полного списка граблей, на которые можно наступить, постараюсь по горячим следам описать их тут.

Сперва, надо выучить слово sieve, это целый язык описания правил фильтрации, созданный Cyrusoft'ом во время работы над почтовым сервером Cyrus (не к ночи помянут). Он позволяет писать такие вот самоочевидные правила:

require ["fileinto"];
# rule:[LinkedIn]
if header :contains "From" "linkedin.com"
{
fileinto "INBOX/LinkedIn";
stop;
}
# rule:[Drupal Alerts]
if header :contains "Subject" "yet another home page"
{
fileinto "INBOX/Drupal Alerts";
stop;
}
if header :contains "From" [ "user@example.com" ] {
addflag "\\flagged";
fileinto "Trash";
stop;
}
# rule:[Paypal]
if allof (header :contains "From" "paypal")
{
fileinto "INBOX/Ebay, Paypal";
stop;
}

Конечно, не очень хочется лезть в консоль, чтобы прописать новое правило фильтрации, к счастью, есть протокол managesieve, который позволяет почтовому клиенту рулить правилами на сервере. Удачно, что и Dovecot, и Roundcubе поддерживают обе функциональности. А дальше, начинаются грабли.

Во-первых, самое простое и естественное, что делается для включения seive, это установка mail_plugins = sieve где-то глобально для всего Dovecot'а. Это неправильно! Будет так:


Error: dlopen(/usr/lib64/dovecot/lib90_sieve_plugin.so) failed: /usr/lib64/dovecot/libdovecot-sieve.so.0: undefined symbol: mail_deliver_get_log_var_expand_table

Переменную следует выставить в /etc/dovecot/conf.d/15-lda.conf, для lda, локальной доставки. Включение managesieve и в Dovecot'е и в Roundcube проблем не вызывает (плагины есть в стандартной поставке), надо только не забыть прописать порт. Можно начинать писать правила, только работать они не будут, так как хотя почта раскладыватеся по папкой из клиента, "локальный доставщик" по-прежнему Postfix и INBOX не в /home/username, а в /var/mail/username. Надо прописать в main.cf mailbox_command = /usr/lib/dovecot/deliver -d «$USER» . Теперь кажется, что все нормально: почти все письма раскладываются по почти всем правилам. Я потратил день на то, чтобы выяснить почему почта не попадает в папку "рассылка модераторов ЛОР" и вывел коллег-модераторов из себя своими экспериментами. Я думал, что неправильно описываю свойства заголовка, так как там данные конверта и доставки отличаются (потому что общение происходит на сервере рассылки в рассылке, а выглядеть все должно как от модератора модератору). Потом я увидел ошибку:


Mar 16 17:53:01 DJBZ002 dovecot: lda(shaman007): Error: write() failed with mbox file /home/shaman007/mail/INBOX/LOR: File too large (process was started with ulimit -f limit)
Mar 16 17:53:01 DJBZ002 dovecot: lda(shaman007): Error: sieve: msgid=: failed to store into mailbox 'INBOX/LOR': Internal error occurred. Refer to server log for more information. [2013-03-16 17:52:57]
Mar 16 17:53:01 DJBZ002 dovecot: lda(shaman007): sieve: msgid=: stored mail into mailbox 'INBOX'
Mar 16 17:53:01 DJBZ002 dovecot: lda(shaman007): Error: sieve: execution of script /home/shaman007/.dovecot.sieve failed, but implicit keep was successful (user logfile /home/shaman007/.dovecot.sieve.log may reveal additional details)
Mar 16 17:53:01 DJBZ002 postfix/local[13359]: 4575811F76E: to=, orig_to=, relay=local, delay=3.9, delays=0.21/0.02/0/3.7, dsn=2.0.0, status=sent (delivered to command: /usr/libexec/dovecot/dovecot-lda -f "$SENDER" -a "$RECIPIENT")
Mar 16 17:53:01 DJBZ002 postfix/qmgr[29435]: 4575811F76E: removed

File too large! Целых 100 мегабайт! Оказалось, что хотя инициирует ошибку Dovecot, дело в параметре mailbox_size_limit Postfix'а. По умолчанию там 5 что-ли мегабайт, надо выставить в 0. Кажется, это все грабли.

August 2015

S M T W T F S
      1
2345678
91011 12131415
161718192021 22
23 2425262728 29
3031     

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 21st, 2017 07:35 pm
Powered by Dreamwidth Studios