почта
1) держаться на сервере или храниться в /home/user ?
это разве не одно и то же?
это разве не одно и то же?
Я думал сервер держит почту где-нибудь у себя в /var
> 1) держаться на сервере или храниться в /home/user ?
Если человек работает из разных мест, то удобнее IMAP, который хранит на сервере. Если человек читает мало почты, не подписан на списки рассылки и сидит на диалапе, то удобнее POP. Если работаешь все время за своей машиной, то удобнее хранить в $HOME.
> 2) mbox или maildir ?
mbox проще и понятнее. maildir намного производительнее. Хранение в SQL сосет. Заморачиваться на maildir имеет смысл тогда, когда это большой нагруженный почтовый сервер.
> 3) кто должен применять фильтры: почтовая программа при получении или сервер (или procmail?) при доставке?
И то и другое. MTA должен резать письма, но только если это 100 % спам или вирус, то есть по таким признакам, которые на дают false positives. А юзер же на свой страх и риск может поставить себе еще более жесткие фильтры.
> 4) sendmail или qmail или postfix или exim или .... ?
Однозначно не qmail, бо извращение это. Из оставшихся трех
юзай то, что больше нравится, или по чему сможешь получить консультацию.
btw, могу дать по sendmail. Но это вовсе не значит, что я считаю что он лучше.
Если человек работает из разных мест, то удобнее IMAP, который хранит на сервере. Если человек читает мало почты, не подписан на списки рассылки и сидит на диалапе, то удобнее POP. Если работаешь все время за своей машиной, то удобнее хранить в $HOME.
> 2) mbox или maildir ?
mbox проще и понятнее. maildir намного производительнее. Хранение в SQL сосет. Заморачиваться на maildir имеет смысл тогда, когда это большой нагруженный почтовый сервер.
> 3) кто должен применять фильтры: почтовая программа при получении или сервер (или procmail?) при доставке?
И то и другое. MTA должен резать письма, но только если это 100 % спам или вирус, то есть по таким признакам, которые на дают false positives. А юзер же на свой страх и риск может поставить себе еще более жесткие фильтры.
> 4) sendmail или qmail или postfix или exim или .... ?
Однозначно не qmail, бо извращение это. Из оставшихся трех
юзай то, что больше нравится, или по чему сможешь получить консультацию.
btw, могу дать по sendmail. Но это вовсе не значит, что я считаю что он лучше.

> maildir намного производительнее
часто встречающаяся операция - получение заголовков всех писем в ящике, чтобы показать пользователю индекс
прочитать по очереди 10000 и более файликов - на порядки дольше, чем один файл в 100Мбайт
часто встречающаяся операция - получение заголовков всех писем в ящике, чтобы показать пользователю индекс
прочитать по очереди 10000 и более файликов - на порядки дольше, чем один файл в 100Мбайт
Ну все на так плохо. В maildirах нормальных почтовых систем
есть индексы заголовков.
Зато если ты удалишь одно письмо из 100 Мб ящика, перезаписываться он будет очень долго.
есть индексы заголовков.
Зато если ты удалишь одно письмо из 100 Мб ящика, перезаписываться он будет очень долго.
Нормальные - это CGP?
Или есть ещё?
Или есть ещё?
cyrus, courier
интересно было бы знать, что стоит на mail.ru
интересно было бы знать, что стоит на mail.ru
> cyrus
в моём какие-то индексы вроде есть, но не помогают
mutt читает оглавление где-то 10мессаг/сек при холодном кеше
в моём какие-то индексы вроде есть, но не помогают
mutt читает оглавление где-то 10мессаг/сек при холодном кеше
mutt через IMAP?
Думаю тормоза не от maildir, а от того что клиент вытягивает
каждое сообщение по отдельности. Если была такая server-side команда, то все было бы быстрее. Думаю, если бы на IMAP сервере был mbox, то тормоза были бы не меньшии.
Согласись - вытащить хедеры кучи писем это весьма странный запрос.
Думаю тормоза не от maildir, а от того что клиент вытягивает
каждое сообщение по отдельности. Если была такая server-side команда, то все было бы быстрее. Думаю, если бы на IMAP сервере был mbox, то тормоза были бы не меньшии.
Согласись - вытащить хедеры кучи писем это весьма странный запрос.
Про 10 сообщ/сек я погорячился, реально ближе к 100, но всё равно очень плохо.
> Думаю, если бы на IMAP сервере был mbox, то тормоза были бы не меньшии.
Если сервер при этом догадался бы извлечь все заголовки за один проход, то гораздо меньшие
> Согласись - вытащить хедеры кучи писем это весьма странный запрос.
Что в нём странного? Как ещё построить оглавление?
> Думаю, если бы на IMAP сервере был mbox, то тормоза были бы не меньшии.
Если сервер при этом догадался бы извлечь все заголовки за один проход, то гораздо меньшие
> Согласись - вытащить хедеры кучи писем это весьма странный запрос.
Что в нём странного? Как ещё построить оглавление?
На самом деле в твоем случае проблема стоит именно в том,
что нет server-side команды которая это сделает одним махом. Клиенту приходится тащить каждое письмо.
Так что узкое место здесь не maildir.
что нет server-side команды которая это сделает одним махом. Клиенту приходится тащить каждое письмо.
Так что узкое место здесь не maildir.
"Однозначно не qmail, бо извращение это."
why?
why?
"Или есть ещё? " на нашей есть ещё...........
> Так что узкое место здесь не maildir.
Именно maildir, точнее диск, где оно лежит. При горячем кеше (повторный вход в тот же фолдер) читается минимум на порядок быстрее
Именно maildir, точнее диск, где оно лежит. При горячем кеше (повторный вход в тот же фолдер) читается минимум на порядок быстрее
Недостатков у него куча, но я все наизусть не знаю.
Что бы проиллюстрировать всю гениальность этого продукта, достаточно сказать что он иcпользует только одну MX запись из DNS, ту у которой наибольший приоритет. Если этот сервер не доступен, то письмо будет лежать в спуле до посинения и на другие MX не пойдет.
Заметьте, это не баг, это фича.
Что бы проиллюстрировать всю гениальность этого продукта, достаточно сказать что он иcпользует только одну MX запись из DNS, ту у которой наибольший приоритет. Если этот сервер не доступен, то письмо будет лежать в спуле до посинения и на другие MX не пойдет.
Заметьте, это не баг, это фича.
Мб это даже не файловый кэш. а кэш imapd?
> что он иcпользует только одну MX запись из DNS,
это сильное преувеличение
http://www-dt.e-technik.uni-dortmund.de/~ma/qmail-bugs.html п 3.2
это сильное преувеличение
http://www-dt.e-technik.uni-dortmund.de/~ma/qmail-bugs.html п 3.2
> кэш imapd?
нет
нет
> что нет server-side команды которая это сделает одним махом.
кстати может и есть
точно не помню, спецификацию читал давно, но общее впечатление такое, что там есть всё
кстати может и есть
точно не помню, спецификацию читал давно, но общее впечатление такое, что там есть всё
Не преувеличение, а неточность. Правильнее было сказать: "если первый MX посылает его, то на более низкие он не лезет".
Вот:
qmail would never try any other MX than the first it connects to, even if that MX does not reply with a 220 greeting. When the server replies with e. g. a 554 greeting, qmail disconnects and later retries the same server again, ignoring the fact that 554 is a permanent error.
Вот:
qmail would never try any other MX than the first it connects to, even if that MX does not reply with a 220 greeting. When the server replies with e. g. a 554 greeting, qmail disconnects and later retries the same server again, ignoring the fact that 554 is a permanent error.
на mail.ru используется полностью самостоятельный продукт, в котором есть индексы.
>> cyrus
> в моём какие-то индексы вроде есть, но не помогают
> mutt читает оглавление где-то 10мессаг/сек при холодном кеше
у cyrus точно maildir?
глядя на поведение imapd при скачивании мыла, я в этом уже начал сомневаться
> в моём какие-то индексы вроде есть, но не помогают
> mutt читает оглавление где-то 10мессаг/сек при холодном кеше
у cyrus точно maildir?
глядя на поведение imapd при скачивании мыла, я в этом уже начал сомневаться
Это эффект от ext3 наверное
-rw------- 1 cyrus mail 822892 Feb 28 13:42 cyrus.index.NEW
-rw------- 1 cyrus mail 822944 Feb 28 13:42 cyrus.index
-rw------- 1 cyrus mail 15450968 Feb 28 13:42 cyrus.cache.NEW
-rw------- 1 cyrus mail 15451672 Feb 28 13:42 cyrus.cache
Оно cyrus.cache переписывает сначала, а потом делает fsync
Похоже, по разу для каждого сообщения
Какие команды твоя скачивалка посылает?
-rw------- 1 cyrus mail 822944 Feb 28 13:42 cyrus.index
-rw------- 1 cyrus mail 15450968 Feb 28 13:42 cyrus.cache.NEW
-rw------- 1 cyrus mail 15451672 Feb 28 13:42 cyrus.cache
Оно cyrus.cache переписывает сначала, а потом делает fsync
Похоже, по разу для каждого сообщения

Какие команды твоя скачивалка посылает?
fetchmail: IMAP> A0011 FETCH 1 BODY.PEEK[TEXT]
fetchmail: IMAP< * 1 FETCH (BODY[TEXT] {2247}
(2247 body octets) *************************.******************************.****
fetchmail: IMAP< )
fetchmail: IMAP< A0011 OK Completed
fetchmail: SMTP>. (EOM)
fetchmail: SMTP< 250 ok 1046429317 qp 11703
flushed
fetchmail: IMAP> A0012 STORE 1 +FLAGS (\Seen \Deleted)
fetchmail: IMAP< * 1 FETCH (FLAGS (\Deleted \Seen
fetchmail: IMAP< A0012 OK Completed
придётся сделать 2 итерации:
fetchmail -a -k
fetchmail -F
вместо fetchmail -a
fetchmail -a -k
fetchmail -F
вместо fetchmail -a
Значит, cyrus сосёт, только и всего 

Оставить комментарий
Landstreicher
Как правильно на ваш взгляд должна ходить почта (в UNIX-системе):1) держаться на сервере или храниться в /home/user ?
2) mbox или maildir ?
3) кто должен применять фильтры: почтовая программа при получении или сервер (или procmail?) при доставке?
4) sendmail или qmail или postfix или exim или .... ?
Хотелось бы по каждому пункту узнать все плюсы и минусы возможных решений.