почта
это разве не одно и то же?
Я думал сервер держит почту где-нибудь у себя в /var
Если человек работает из разных мест, то удобнее IMAP, который хранит на сервере. Если человек читает мало почты, не подписан на списки рассылки и сидит на диалапе, то удобнее POP. Если работаешь все время за своей машиной, то удобнее хранить в $HOME.
> 2) mbox или maildir ?
mbox проще и понятнее. maildir намного производительнее. Хранение в SQL сосет. Заморачиваться на maildir имеет смысл тогда, когда это большой нагруженный почтовый сервер.
> 3) кто должен применять фильтры: почтовая программа при получении или сервер (или procmail?) при доставке?
И то и другое. MTA должен резать письма, но только если это 100 % спам или вирус, то есть по таким признакам, которые на дают false positives. А юзер же на свой страх и риск может поставить себе еще более жесткие фильтры.
> 4) sendmail или qmail или postfix или exim или .... ?
Однозначно не qmail, бо извращение это. Из оставшихся трех
юзай то, что больше нравится, или по чему сможешь получить консультацию.
btw, могу дать по sendmail. Но это вовсе не значит, что я считаю что он лучше.
часто встречающаяся операция - получение заголовков всех писем в ящике, чтобы показать пользователю индекс
прочитать по очереди 10000 и более файликов - на порядки дольше, чем один файл в 100Мбайт
есть индексы заголовков.
Зато если ты удалишь одно письмо из 100 Мб ящика, перезаписываться он будет очень долго.
Или есть ещё?
интересно было бы знать, что стоит на mail.ru
в моём какие-то индексы вроде есть, но не помогают
mutt читает оглавление где-то 10мессаг/сек при холодном кеше
Думаю тормоза не от maildir, а от того что клиент вытягивает
каждое сообщение по отдельности. Если была такая server-side команда, то все было бы быстрее. Думаю, если бы на IMAP сервере был mbox, то тормоза были бы не меньшии.
Согласись - вытащить хедеры кучи писем это весьма странный запрос.
> Думаю, если бы на IMAP сервере был mbox, то тормоза были бы не меньшии.
Если сервер при этом догадался бы извлечь все заголовки за один проход, то гораздо меньшие
> Согласись - вытащить хедеры кучи писем это весьма странный запрос.
Что в нём странного? Как ещё построить оглавление?
что нет server-side команды которая это сделает одним махом. Клиенту приходится тащить каждое письмо.
Так что узкое место здесь не maildir.
why?
"Или есть ещё? " на нашей есть ещё...........
Именно maildir, точнее диск, где оно лежит. При горячем кеше (повторный вход в тот же фолдер) читается минимум на порядок быстрее
Что бы проиллюстрировать всю гениальность этого продукта, достаточно сказать что он иcпользует только одну MX запись из DNS, ту у которой наибольший приоритет. Если этот сервер не доступен, то письмо будет лежать в спуле до посинения и на другие MX не пойдет.
Заметьте, это не баг, это фича.
Мб это даже не файловый кэш. а кэш imapd?
> что он иcпользует только одну MX запись из DNS,
нет
кстати может и есть
точно не помню, спецификацию читал давно, но общее впечатление такое, что там есть всё
Вот:
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 используется полностью самостоятельный продукт, в котором есть индексы.
> в моём какие-то индексы вроде есть, но не помогают
> mutt читает оглавление где-то 10мессаг/сек при холодном кеше
у cyrus точно maildir?
глядя на поведение imapd при скачивании мыла, я в этом уже начал сомневаться
Это эффект от ext3 наверное
-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
fetchmail -a -k
fetchmail -F
вместо fetchmail -a
Значит, cyrus сосёт, только и всего
Оставить комментарий
Landstreicher
Как правильно на ваш взгляд должна ходить почта (в UNIX-системе):1) держаться на сервере или храниться в /home/user ?
2) mbox или maildir ?
3) кто должен применять фильтры: почтовая программа при получении или сервер (или procmail?) при доставке?
4) sendmail или qmail или postfix или exim или .... ?
Хотелось бы по каждому пункту узнать все плюсы и минусы возможных решений.