On Fri, Oct 16, 2015 at 09:13:14AM +0300, Valentin Nechayev wrote: > Fri, Oct 16, 2015 at 02:35:11, eugen wrote about "Re: [freebsd] sendmail + > roundcube": > > > >> Можно подумать, sendmail негибок в конфигурировании или много жрет :-) > > > sendmail очень неудобен и сложен в настройке, особенно если требуется > > > гибкость, > > Неправда. Так может говорить только тот, кто не читал документацию > > на используемый софт, но с exim или postfix ситуация такая же: > > неудобно тому, кто доку не читает, > > Евгений, я надеюсь, мой авторитет по sendmail (на основании K+1 года > его использования в продакшене и десятков патчей на разные темы) ты > опровергать не будешь? Так вот - я категорически подтверждаю слова > cirtin@: sendmail неудобен и сложен - по крайней мере для всего, что > выходит за рамки простой стратегии "накидать опций по ману в > ${hostname}.mc и вызвать make", и эта сложность далеко выходит за > пределы того, что определяется "естественными" факторами сложности > тематики. По пунктам:
Раз пошла такая пьянка -- режь последний огурец. Я как бы тоже sendmail использую года так с 1995 во всеяких сложных конфигурациях, postfix -- примерно с 2003, ну и еще и exim несколько меньше. Так что тоже выскажусь. в простых ситуациях все три продукта ставятся и работают. и не ломаются. в конце концов это же не qmail (хотя мне встречались и его апплогеты, может конечно это был эффект утенка, а может просто иного сложно ждать ударенных безопасностью и не понимающих ее связи с реальностью). sendmail в vps я не использовал, но на железе уровня 2005 года спамер, сперший пароль, наплодит 30 тыщ писем в очереди, но проблемой будет не тормоза системы, а попадание в спамлисты. да, в sendmail REFAL. но в остальных нет ничего. т.е. можно только выбрать набор каких-то фиксированых проверок и их порядок. если надо что-то нестандартное -- патчи сырцы! сейчас найти рецепты для sendmail кажется несколько сложнее. postfix/exim в последнее время по фичам несколько подтянулись (научились наконец DSN без патчей!), но у всех трех с SRS не очень хорошо. в плюсы postfix/exim можно записать sender email verify из коробки -- к sendmail нужно через milter крутить. в минусы же postfix -- логи хуже sendmailовских. ну и вообще, общую переусложненность postfix: postfix 48387 51021 51021 51021 0 I - 0:00.02 pickup -l -t fifo -u root 51021 1 51021 51021 0 Ss - 0:18.19 /usr/local/libexec/postfix/master -w postfix 51023 51021 51021 51021 0 I - 0:14.45 qmgr -l -t fifo -u postfix 51218 51021 51021 51021 0 S - 0:00.02 smtpd -n smtp -t inet -u -o stress= postfix 51219 51021 51021 51021 0 S - 0:00.01 anvil -l -t unix -u postfix 52607 51021 51021 51021 0 S - 0:00.01 trivial-rewrite -n rewrite -t unix -u postfix 52677 51021 51021 51021 0 I - 0:00.01 cleanup -z -t unix -u postfix 52680 51021 51021 51021 0 I - 0:00.01 smtp -t unix -u postfix 52682 51021 51021 51021 0 I - 0:00.01 smtp -t unix -u postfix 52684 51021 51021 51021 0 I - 0:00.01 pipe -n dovecot -t unix flags=DRhu user=mailnull:mailnull argv=/usr/local/libexec/dovecot/deliver -d ${recipient} postfix 52709 51021 51021 51021 0 S - 0:00.02 smtpd -n smtp -t inet -u -o stress= postfix 52793 51021 51021 51021 0 I - 0:00.01 smtp -t unix -u postfix 52795 51021 51021 51021 0 I - 0:00.01 smtp -t unix -u куча каких-то демонов, как-то перадающих задание друг другу, сквозной queue-id заводится достаточно поздно и если отлуп происходит до его заведения (из-за rDNS у отправителя или еще по каким подобным причинам) то при большом потоке почты искать причину можно до морковкиного заговения. да, я в курсе, что postfix писался для того что бы управлять рассылками на пень-100. только те, кому такое (смасштабированное) нужно сейчас -- об этом спрашивать не будут. ну и заодно камень в огород dovecot -- тоже переусложненный в устанвке продукт, на мой взгляд, требующий для своего функционирования кучу различных пользователей, отличных еще и от постфиксовых, если склероз не врет. в этом плане cyrus, работающий целиком от одного пользователя -- гораздо проще и удобней. в общем, несмотря на то, что весь интернет полон шпаргалками на тему "postfix+dovecot+mysql+вебморда" -- я его настоятельно не советую. и да, SQLite не советую тоже, как я понял у него очень плохо с совместным доступом. тут надо выбирать - или berkley DB - или нормальный SQL - или спрашивать про пользователей у IMAP > 3. Код чудовищно архаичен и не подвергался редизайну верхнего уровня > и/или рефакторингу как минимум последние 30 лет. Для софта это просто > безумный срок. > Кто будет возражать - прошу вначале прочитать и понять логику таких > замечательных функций, как getrequests(), sendall(), dropenvelope(), > описать её словами. Продолжить содержимым файла queue.c, разобрать > тёмные моменты логики. я разбирался, ничего, жив остался. > 5. Настройка по умолчанию несопровождаема кроме установки вида > "получать daily run output в локальный ящик". Начать с дефолта > LogLevel=9, который не пишет завершения заданий (и от этого нельзя > вести анализ доставки по логу). Шо? Oct 16 13:50:35 inter sm-mta[96000]: t9G9oP4x095819: to=leader-...@yandex.ru, delay=00:00:04, xdelay=00:00:01, mailer=esmtp, pri=203421, relay=mx.yandex.ru. [213.180.204.89], dsn=2.0.0, stat=Sent (Ok: queued on mxfront3j.mail.yandex.net as 1444989035-eeXLwLnCXA-oYK8vqd7) лог -- по дефолту. В общем, моя кочка зрения: postfix -- нафиг в простых случая и exim и sendmail справятся если думать лень и хочется готовых рецептов и менять *точно* ничего никогда не будет (как и усложнять) -- наверное exim проще если светит в перспективе усложнение (вообще-то оно почти всегда светит) -- лучше потратить время на sendmail. REFAL конечно требует несколько выворачивать мозг, но это, вообще-то полезно.