Статья Dovecot 2 по шагам
Модератор: f0s
-
- проходил мимо
Статья Dovecot 2 по шагам
Моя первая попытка не только пользоваться чужими материалами и опытом, но и поделиться своими знаниями. Статья надеюсь пригодиться начинающим почтовым администраторам. Мне кажется я достаточно подробно расписал как с 0 получить работоспособную систему (по части dovecot v2), не просто делай так работать будет, а что бы видно было что за что цепляется, откуда берет данные и как работает. Буду рад ценным замечаниям.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- проходил мимо
Статья Dovecot 2 по шагам
Здесь отзывы/замечания к статье http://www.lissyara.su/?id=2238
- Alex Keda
- стреляли...
- Сообщения: 35436
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Статья Dovecot 2 по шагам
а если в
Код: Выделить всё
конфиг впихнуть = хуже станет?
Убей их всех! Бог потом рассортирует...
-
- проходил мимо
Re: Статья Dovecot 2 по шагам
Да, лучше, я там еще в конце накосячил. Чуток времени появится все поправлю. Спасибо за внимание.
-
- проходил мимо
Re: Статья Dovecot 2 по шагам
Нашёл большой косяк в базе mysql для пользователей ограничение на пароль 64 а CRAM-MD5 может и больше занимать символов.
Не освещено настройка параметров smtpd_recipient_restrictions и т.д.
Не освещено настройка параметров smtpd_recipient_restrictions и т.д.
-
- лейтенант
- Сообщения: 895
- Зарегистрирован: 2007-07-08 23:53:20
- Откуда: SPb
- Контактная информация:
Re: Статья Dovecot 2 по шагам
День добрый, вопрос, с Dovecot 1.2 перейти на Dovecot2 можно оставив старый конфиг, или лучше конфиг новый создавать?Синтаксис отличается?
Xeon X5460, RAM 8Gb, FreeBSD 13.1-RELEASE on amd64, Apache 2.4, PHP 7.3.30, MySQL 5.7, Exim 4.95_5, Dovecot 2.3.19.1
-
- ст. прапорщик
- Сообщения: 568
- Зарегистрирован: 2009-09-04 12:23:30
- Откуда: Где-то в России...
- Контактная информация:
Re: Статья Dovecot 2 по шагам
конфиг похож, но его на мелкие куски (файлы) поделили во второй версии
www.info-x.org - информационный ресурс о ОС FreeBSD.
-
- проходил мимо
- Сообщения: 1
- Зарегистрирован: 2013-12-11 16:38:02
Re: Статья Dovecot 2 по шагам
Да, действительно, серьезный мой косяк, исправлю. Спасибо за замечание.Demius писал(а):Нашёл большой косяк в базе mysql для пользователей ограничение на пароль 64 а CRAM-MD5 может и больше занимать символов.
Не освещено настройка параметров smtpd_recipient_restrictions и т.д.
MD5 (Message Digest 5) — 128-битный алгоритм хеширования текстов.


По поводу параметров smtpd - это postfix. Статья типо про dovecot, а настройка postfix абсолютно минимальна -только получить работоспособную связку для полноценного хождения почты.
Всяких smtpd_*_restrictions там много, как и статей по этому поводу в инете.
-
- проходил мимо
- Сообщения: 1
- Зарегистрирован: 2013-12-12 15:02:09
Re: Статья Dovecot 2 по шагам
Долго не мог разобраться, почему у меня не работает плагин expire (не появлялись записи в таблице expires). Нашел, когда игрался с doveadm search. Выяснил, что некоторые плагины используют префикс namespace, а некоторые не используют. Например, если для namespace inbox типа private указать префикс "INBOX." (сейчас точно не помню, но вроде прописал при переходе с Courier-IMAP и пользователи почти даже не заметили), то плагин antispam примет папки Trash и Junk. А вот плагин expire примет INBOX.Trash и INBOX.Junk.
З.Ы. Вот такие вот бывают фокусы.
З.Ы. Вот такие вот бывают фокусы.
-
- проходил мимо
Re: Статья Dovecot 2 по шагам
Подскажите пожалуйста, возникла задача по сортировке вложений:
С почты поставщиков приходят письма с накладными, нужно вырвать вложенный файлик и перенести его в нужную папку на фтп, который находится на этойже машинке.
Не знаю куда рыть и как это побороть
С почты поставщиков приходят письма с накладными, нужно вырвать вложенный файлик и перенести его в нужную папку на фтп, который находится на этойже машинке.
Не знаю куда рыть и как это побороть

-
- проходил мимо
Re: Статья Dovecot 2 по шагам
А вот такой вопрос к тем, кто смог успешно установить dspam-devel с поддержкой MYSQL55.
В /var/db/ports/mail_dspam-devel/options имеем OPTIONS_FILE_SET+=MYSQL55
при этом после make install в папке, где должны находиться StorageDriver's пусто:
homepages# ll /usr/local/lib/dspam
total 0
dspam к базе при этом не обращается, на директиву StorageDriver в dspam.conf не реагирует (хоть абракадабру туда пиши, хоть и вовсе комментируй), работает с hash-бэкэндом сам по себе.
Конфиг при старте хватает правильный. Проверял изменением имен сокетов. Письма анализирует, соответствующие заголовки вставляет, успешно передает в LDA (dovecot).
И самое печальное - в логах ( как .log, так и .debug - никакого криминала, как будто просто работает hash-драйвер в штатном режиме)
Что бы это значило?
Пробовал ставить /usr/ports/mail/dspam, там с базой работа идет, в /usr/local/lib/dspam лежат соответствующие библиотечки, но при этом в MTA, после анализа сообщения и (!) успешного коннекта с LDA, возвращается отлуп 501 unknown option. Письма в LDA не поступают. Конфиг используется тот же, что и у devel'а.
В /var/db/ports/mail_dspam-devel/options имеем OPTIONS_FILE_SET+=MYSQL55
при этом после make install в папке, где должны находиться StorageDriver's пусто:
homepages# ll /usr/local/lib/dspam
total 0
dspam к базе при этом не обращается, на директиву StorageDriver в dspam.conf не реагирует (хоть абракадабру туда пиши, хоть и вовсе комментируй), работает с hash-бэкэндом сам по себе.
Конфиг при старте хватает правильный. Проверял изменением имен сокетов. Письма анализирует, соответствующие заголовки вставляет, успешно передает в LDA (dovecot).
И самое печальное - в логах ( как .log, так и .debug - никакого криминала, как будто просто работает hash-драйвер в штатном режиме)
Что бы это значило?
Пробовал ставить /usr/ports/mail/dspam, там с базой работа идет, в /usr/local/lib/dspam лежат соответствующие библиотечки, но при этом в MTA, после анализа сообщения и (!) успешного коннекта с LDA, возвращается отлуп 501 unknown option. Письма в LDA не поступают. Конфиг используется тот же, что и у devel'а.
-
- проходил мимо
Re: Статья Dovecot 2 по шагам
Да, и к слову.. Если собирать все без портов, из гольных сырцов (3.10.2), то все прекрасно работает. Пока остановился на этом варианте.
-
- проходил мимо
- Сообщения: 1
- Зарегистрирован: 2014-02-08 21:45:41
Re: Статья Dovecot 2 по шагам
Огромное спасибо автору за такую статью! Очень долго искал по интернету руководство по Dovecot v2.x и кроме официальной вики ничего не мог найти. Так как английский я знаю не особо хорошо, то сложновато читать вики и полностью понимать что там написано. Благодаря этому руководству всё начало становиться на свои места. Сейчас пытаюсь поднять свой первый почтовый сервер для своей организации и эта статья надеюсь мне очень в этом поможет.
-
- проходил мимо
Re: Статья Dovecot 2 по шагам
Не пробелами, а запятыми.# A comma separated list of IPs or hosts where to listen in for connections.
# Список адресов или хостов, разделенный пробелами на которых мы
# будем ожидать входящие соединения
-
- проходил мимо
- Сообщения: 3
- Зарегистрирован: 2012-10-22 3:03:34
Re: Статья Dovecot 2 по шагам
Спасибо автору большое, тоже искала связку, еще бы с постфиксадмином.
Но сейчас об ошибке, которая вылезает у меня, понимаю что я сделала что то, но не могу найти что именно.
до конца 5 шага все сделала по статье и почта для локального рута доставлялась, хотя с клиента нет:
<mail.info> mail postfix/pipe[25547]: 6F28220602E6: to=<jana@lvrz.ru>, orig_to=<root>, relay=dovecot, delay=0.09, delays=0.02/0.01/0/0.06, dsn=2.0.0, status=sent (delivered via dovecot service)
Пока пыталась настроить, чтоб с клиента доходила, перестала доходить с локального с такой ошибкой:
<mail.info> mail postfix/pipe[1759]: BAEA620603D3: to=<jana@lvrz.ru>, orig_to=<root>, relay=dovecot, delay=326, delays=326/0.01/0/0.01, dsn=4.3.0, status=deferred (temporary failure. Command output: lda: Error: user jana@lvrz.ru: Error reading configuration: stat(/usr/local/etc/dovecot/dovecot.conf) failed: Permission denied (euid=999(vmail) egid=999(vmail) missing +x perm: /usr/local/etc, dir owned by 0:0 mode=0644) lda: Fatal: Internal error occurred. Refer to server log for more information. )
Все вернула на круги своя, но не помогло. Подскажите, плиз.
Но сейчас об ошибке, которая вылезает у меня, понимаю что я сделала что то, но не могу найти что именно.
до конца 5 шага все сделала по статье и почта для локального рута доставлялась, хотя с клиента нет:
<mail.info> mail postfix/pipe[25547]: 6F28220602E6: to=<jana@lvrz.ru>, orig_to=<root>, relay=dovecot, delay=0.09, delays=0.02/0.01/0/0.06, dsn=2.0.0, status=sent (delivered via dovecot service)
Пока пыталась настроить, чтоб с клиента доходила, перестала доходить с локального с такой ошибкой:
<mail.info> mail postfix/pipe[1759]: BAEA620603D3: to=<jana@lvrz.ru>, orig_to=<root>, relay=dovecot, delay=326, delays=326/0.01/0/0.01, dsn=4.3.0, status=deferred (temporary failure. Command output: lda: Error: user jana@lvrz.ru: Error reading configuration: stat(/usr/local/etc/dovecot/dovecot.conf) failed: Permission denied (euid=999(vmail) egid=999(vmail) missing +x perm: /usr/local/etc, dir owned by 0:0 mode=0644) lda: Fatal: Internal error occurred. Refer to server log for more information. )
Все вернула на круги своя, но не помогло. Подскажите, плиз.
-
- проходил мимо
Re: Статья Dovecot 2 по шагам
Права на почтовые папки смените. У Вас сейчас root:wheel а надо vmail:wmail
- raven428
- проходил мимо
- Сообщения: 6
- Зарегистрирован: 2013-03-18 10:25:04
- Откуда: Челябинск
Статья Dovecot 2 по шагам
воспользовался статьёй, очень полезно, спасибо. настроил ещё не все, буду продолжать. для потомков оставлю тут заметку. у dovecot2 есть великолепная функция - хранение атачей отдельно от основной базы с их дедубликацией, но с "mail_attachment_fs = sis posix" оно у меня не совсем взлетело. т.е. в рамках одного пользователя всё хорошо дедублицирует. а вот между несколькими пользователями уже нет. возможно, я что-то не так сделал, но меня спасло sis-queue за одним небольшим нюансом: пример из conf.d/10-mail.conf: "mail_attachment_fs = sis-queue posix" нерабочий.
при его включении dovecot2 перестаёт работать, рисуя в лог ошибку "Error: User initialization failed: Namespace '': mdbox: mail_attachment_fs: sis-queue: Parent filesystem not given as parameter". в гугле и документации причину проблемы найти не удалось, поэтому пришлось покопаться в исходниках. собственно, должно быть вот так: "mail_attachment_fs = sis-queue /usr/mail/tmp/q:posix", где /usr/mail/tmp/q - директория с очередью, которую нужно периодически разгребать с помощью "doveadm sis deduplicate /usr/mail/virtual/a /usr/mail/tmp/q".
теперь, надеюсь, поисковики ошибку проиндексируют и эта заметка кому-то поможет.
при его включении dovecot2 перестаёт работать, рисуя в лог ошибку "Error: User initialization failed: Namespace '': mdbox: mail_attachment_fs: sis-queue: Parent filesystem not given as parameter". в гугле и документации причину проблемы найти не удалось, поэтому пришлось покопаться в исходниках. собственно, должно быть вот так: "mail_attachment_fs = sis-queue /usr/mail/tmp/q:posix", где /usr/mail/tmp/q - директория с очередью, которую нужно периодически разгребать с помощью "doveadm sis deduplicate /usr/mail/virtual/a /usr/mail/tmp/q".
теперь, надеюсь, поисковики ошибку проиндексируют и эта заметка кому-то поможет.
too much raVen over paradise...
-
- рядовой
- Сообщения: 44
- Зарегистрирован: 2009-10-15 23:01:33
Статья Dovecot 2 по шагам
а подскажите уважаемые. в связи с "повсеместным внедрением" пакетного менеджера pkg, можно как-то поставить postfix не из портов с поддержкой mysql? модуля не нашёл.
- Neus
- капитан
- Сообщения: 1961
- Зарегистрирован: 2008-09-08 21:59:56
Статья Dovecot 2 по шагам
пакеты собраны с опциями по умолчанию, смотри умолчания тут http://www.freshports.org/mail/postfix/
-
- рядовой
- Сообщения: 44
- Зарегистрирован: 2009-10-15 23:01:33
Статья Dovecot 2 по шагам
так я в курсе. я интересуюсь, может есть отдельно модуль, как например для proftpd - proftpd-mod_sql_mysql
- xM
- ст. лейтенант
- Сообщения: 1316
- Зарегистрирован: 2009-01-15 23:57:41
- Откуда: Königsberg
- Контактная информация:
Статья Dovecot 2 по шагам
В дополнение, настройка antispam-plugin для Spamassassin
Из-под Roundcube работает намного приятнее, чем cmd-learn из markasjunk2. Последний, кстати, можно теперь отключить и удалить, заменив на стандартный markasjunk из дистрибутива.

Код: Выделить всё
# -- Spam autolearning
plugin {
antispam_backend = mailtrain
antispam_trash = Trash
antispam_spam = Junk
antispam_mail_sendmail = /usr/local/bin/sa-learn
antispam_mail_spam = --spam
antispam_mail_notspam = --ham
antispam_mail_sendmail_args = -u;%u
}

IT voodoo blog https://kostikov.co