Pull to refresh

Comments 11

У меня только один вопрос — зачем почта в докере? (Мне серьезно интересно — зачем?)
P.S. За статью спасибо, узнал про opensmtpd и rspamd :)
Для простоты описания настройки сервиса/инфраструктуры. Собственно, всё то, что даёт докер.
Для простоты/быстроты разворачивания: почтовый сервис (9 контейнеров) разворачивается (например, nomad'ом) за пару минут.

Ещё потому, что докер — это болезнь. Попробовал один раз — и отказаться уже не можешь. :)
А как часто вы раскатываете новые почтовые сервисы? И мне вто тоже кажется это больше обусловлено «докером как болезнью» :)))
Хотелось бы предостеречь от использования dbmail тех, кто только выбирает себе IMAP / POP сервер. Это может показаться хорошей затеей — хранить почту в БД, но dbmail — очень сырой продукт и фактически не развивается. Мучились с ним несколько лет, постоянно что-то ломалось и не работало (250 пользователей, 200 Гб база). В итоге наткнулись на то, что при больших значениях id сообщения в базе все начинает просто еле шевелится.

Перешли на dovecot в итоге и всем довольны. Недовольны только тем, что с начала его не взяли)
База почти всегда однозначным образом ускоряется: партиции, индексы. И преимущества базы (независимость от конкретной файловой системы на конкретном сервере) могут играть большую роль, чем скорость.

Но для больших, нагруженных почтовиков согласен, что файлы будут быстрее.
База почти всегда однозначным образом ускоряется: партиции, индексы.

В том-то и дело, что "… и вам придется это делать".


Для нагруженных почтовиков — файлы будут быстрее.

А для ненагруженных DBMail тем более не нужен — им нет необходимости "создавать произвольное число точек входа", а других преимуществ нет, одни недостатки.


Тот же Dovecot создает какие-то нужные ему индексы "из коробки", без дополнительных настроек.
Установил и забыл.


В случае DBMail — почта гуляет внутри сервера между программами: сначала подгружается в СУБД, там кешируется, затем передается даймону DBMail, кешируется в нем (нужно же получить полный результат SQL-запроса), и только затем передается почтовому клиенту.


Зачем нужно всё это кратное усложнение процесса и соответствующее увеличение нагрузки на сервер, если можно просто сразу отдать содержимое письма из файла?


И это мы еще не говорим о разных "вкусностях" Dovecot, которые, например, позволяют создать в нем папку "Спам" и интегрировать скрипты, обучающие rspamd по факту перемещения почты в/из этой папки.


Да тот же DBMail даже SSL не умеет, судя по его Wiki — там предлагается SSL настраивать через stunnel. Зачем всё это надо?

Есть ряд замечаний по статье. Во-первых, режим --mime предназначен не для реинжектирования письма по SMTP, а для того, чтобы передать готовое письмо на LDA, а не MTA. Проблема там ровно в том, что Rspamd не добавляет Received заголовок, отчего запросто можно получить mail loop. В теории, в 1.5 можно сделать поддержку правильного реинжектирования на базе lua_tcp и убрать все эти странные костыли на nc.


Тем не менее, все такие решения страдают одной неприятной проблемой: в них крайне сложно реализовать выборочный грейлистинг, который я считаю одним из самых эффективных методов борьбы со спамом: за время грейлистинга могут успеть среагировать спамтрапы и всякие репутационные списки: surbl, ip_score, rbl и прочее. Именно поэтому я довольно много общался с разработчиком opensmtpd на предмет форсирования проекта с фильтрами, но, увы, никакого прогресса по фильтрам я не вижу.


Ну и последний момент: а зачем вам еще сущность в виде dkim-proxy? Rspamd прекрасно работает как для проверки DKIM, так и для генерации подписей.

Всё, описанное в статье, если говорить прямо — не очень эффективный по ресурсам набор костылей. Отсюда и --mime и удаление Delivered-To, чтобы избежать лупа.

По поводу грейлистинга и фильтров — поддержу на все 100%. Если бы были фильтры, то из коробки бы всё заработало. Судя по прогрессу — может, через полгода будут фильтры.

dkim-proxy — чтобы логика обработки исходящих была прозрачной (и unixway). Получил opensmtpd письмо от внутренних систем на выделенный порт, отправил его на подпись dkim-proxy, тот его подписал и перенаправил на другой выделенный порт. А rspamd занимается только проверкой dkim/dmarc/spf, да.
UFO landed and left these words here
Аналогичный вопрос про Exim — рассматривался ли как вариант?

Уже который год работаю с композицией exim + clamav + dspam + dovecot. Компактно (если не считать ощутимого расхода памяти ClamAV), стабильно и нет проблем добавлять фильтры и всё такое.
малое потребление памяти и меньше спама на почту.


Вы на Pentium 166 с 32 Mb памяти что-ли запускали? К чему весь этот геморой, когда проще поставить планку памяти в 8 гиг на сервер и не мучиться?
У меня стоит postfix + rspamd + dovecot (clamav выкинул нафиг т.к. он не эффективен в поиске вирусов, гораздо правильнее и проще запретить прием и отправку exe,com,dll и прочих файлов на уровне postfix) на сервере с 8 Гб ОЗУ, обслуживает порядка 30 доменов с 1500+ ящиками и никакого сверх потребления памяти нет, больше 3 гигов не съедают.
Sign up to leave a comment.

Articles