FreeBSD 12.0 + Postfix 3.4.5,1 + Dovecot 2.3.5.2 + PostgreSQL 11.2-1. Не удаётся создать почтовый ящик в /var/vmailivanovii

14 Записи
2 Пользователи
0 Reactions
5,295 Просмотры
Записи: 13
Создатель темы
(@xhfzj)
Active Member
Присоединился: 6 лет назад

Коллеги, здравствуйте!

Выполнена авторизация от имени почтового ящика пользователя ivanovii@domain.ru в Mozilla Thunderbird 60.6.1 (32-бит) на Windows Server 2016 Standard x64. При попытке отправить письмо с данного ящика этому же пользователю ivanovii@domain.ru в логе /var/log/dovecot.log следующие сообщения об ошибке:

May 07 12:34:07 imap-login: Info: Disconnected (no auth attempts in 0 secs): user=<>, rip=192.168.1.25, lip=192.168.1.5, TLS, session=<oTwh60iIBMPAqJEZ>
May 07 12:34:43 imap-login: Info: Login: user=<ivanovii@it-vav.ru>, method=PLAIN, rip=192.168.1.25, lip=192.168.1.5, mpid=945, TLS, session=<48lN7UiICcPAqJEZ>
May 07 12:34:44 imap(ivanovii@it-vav.ru)<945><48lN7UiICcPAqJEZ>: Error: mkdir(/var/vmailivanovii) failed: Permission denied (euid=1002(vmail) egid=1002(vmail) missing +w perm: /var, dir owned by 0:0 mode=0755)
May 07 12:34:44 imap(ivanovii@it-vav.ru)<945><48lN7UiICcPAqJEZ>: Error: Mailbox INBOX: Failed to autocreate mailbox: Internal error occurred. Refer to server log for more information. [2019-05-07 12:34:44]

Если на /var поставить права 777, ошибка уходит, папка /var/vmailivanovii создаётся.

Вопрос. Где находится параметр, отвечающий за создание директории vmailivanovii в каталоге /var?

Задание параметра mail_location в конфигурационном файле /usr/local/etc/dovecot/conf.d/10-mail.conf не даёт никакого результата.

Примечания.

1. По следующей ссылке https://cloud.mail.ru/public/5DM2/tBVpkTM3v

доступны конфигурационные файлы Postfix (/usr/local/etc/postfix/), Dovecot (/usr/local/etc/dovecot/), PostgreSQL (/var/db/postgres/data11).

2. 192.168.1.25 - контроллер домена под управлением Windows Server 2016, с которого отправляется письмо, 192.168.1.5 - почтовый сервер.

3. mail.domain.ru = FQDN почтового сервера

4. domain.ru - имя домена, в котором работает почтовый сервер

Ответить
13 Ответов
Записи: 926
Admin
(@zerox)
Prominent Member
Присоединился: 11 лет назад

Явно надо фиксить вот эту ошибку - /var/vmailivanovii. В пути не хватает слеша, должно быть вот так - /var/vmail/ivanovii. 

В postfix за это отвечает параметр:

virtual_mailbox_base = /var/vmail

В dovecot вот этот:

mail_location = maildir:/var/vmail/%u/

Проверяйте, где у вас ошибка.

Ответить
1 Ответ
(@xhfzj)
Присоединился: 6 лет назад

Active Member
Записи: 13

В /usr/local/etc/dovecot/conf.d/10-mail.conf не было прописано

mail_location = maildir:/var/vmail/%u/

Прописал. Перезапускал как службы postfix, dovecot, postgresql, так и сам почтовый сервер. Пересоздавал в Thunderbird учётную запись ivanovii@domain.ru. Результат тот же. Прописывал и удалял этот параметр (mail_location) и раньше. Содержимое /var/log/dovecot.log наполняется точь-в-точь вышеуказанными ошибками. Меня как раз и смущает отсутствие слеша. Если не из /usr/local/etc/dovecot/conf.d/10-mail.conf и /usr/local/etc/postfix/main.cf берётся параметр /var/vmailivanovii, то откуда? В /usr/local/etc/postfix/main.cf указано

virtual_mailbox_base = /var/vmail

Ответить
Записи: 926
Admin
(@zerox)
Prominent Member
Присоединился: 11 лет назад

Скорее всего в базе указан неверный путь. Надо смотреть, кто пишет путь до ящика в саму базу. Там ошибка. 

Ответить
1 Ответ
(@xhfzj)
Присоединился: 6 лет назад

Active Member
Записи: 13

Владимир, Вы были правы. PostgreSQL пыталась создать директорию /var/vmailivanovii в связи с тем, что добавление пользователя ivanovii в консоли PostgreSQL выполнялось следующим образом:

mail=>insert into users (email, password, maildir) values ('ivanovii@domain.ru', 'password-for-ivanovii', ivanovii/');

А надо было так (должен быть слеш перед ivanovii):

mail=>insert into users (email, password, maildir) values ('ivanovii@domain.ru', 'password-for-ivanovii', /ivanovii/');

В результате исправления ошибки почтовый ящик создается в /var/vmail/ivanovii.

Примечание.

Настройки

virtual_mailbox_base = /var/vmail (файл /usr/local/etc/postfix/main.cf)

mail_location = maildir:/var/vmail/%u/ (файл /usr/local/etc/dovecot/conf.d/10-mail.conf)

, конечно, тоже нужно оставить.

 

Большое Вам спасибо!

Вопрос. Можно я приведу ссылку на данную тему форума на следующей теме форума (тема-дубликат, создана мною)

https://forum.lissyara.su/mta-mail-transfer-agent-f20/freebsd-12-0-postfix-3-4-5-1-dovecot-2-3-5-2-postg-t45502.html

?

Ответить
Записи: 926
Admin
(@zerox)
Prominent Member
Присоединился: 11 лет назад

Конечно можно. 

Кто с ошибкой создавал запись в базе? Какая-то панель или самописный скрипт?

Ответить
1 Ответ
(@xhfzj)
Присоединился: 6 лет назад

Active Member
Записи: 13

Спасибо!

Я в консоли PostgreSQL руками (без скрипта, без панели) создавал запись для нового пользователя. За основу построения почтового сервера взял эту инструкцию:

https://www.youtube.com/watch?v=CZ5XFDmgDmg

На видео с 17.05 опечатка как раз в рамках данного вопроса.

Ответить
Записи: 926
Admin
(@zerox)
Prominent Member
Присоединился: 11 лет назад

Рекомендую свою актуальную статью по настройке почтового сервера -  https://serveradmin.ru/nastroyka-postfix-dovecot-centos-7/

В консоли руками заводить пользователей не придется, используется postfixadmin.

Ответить
2 Ответов
(@xhfzj)
Присоединился: 6 лет назад

Active Member
Записи: 13

Статью видел. Бегло читал. Спасибо, обязательно изучу внимательно.

Дополнительная информация. Если в /usr/local/etc/postfix/main.cf указано virtual_mailbox_base = /var/vmail, то параметр mail_location = maildir:/var/vmail/%u/ можно не указывать в /usr/local/etc/dovecot/conf.d/10-mail.conf.

Проверено.

 

Ответить
(@xhfzj)
Присоединился: 6 лет назад

Active Member
Записи: 13
От: Zerox

Рекомендую свою актуальную статью по настройке почтового сервера -  https://serveradmin.ru/nastroyka-postfix-dovecot-centos-7/

В консоли руками заводить пользователей не придется, используется postfixadmin.

Владимир, пожелание. В Интернете так мало информации об интеграции Postfix и Dovecot с Active Directory. Хотелось бы хорошей инструкции на эту тему в дополнение к уже существующей. Если это будет на FreeBSD, то вообще здорово. Но и на Linux подойдет.

Ответить
Страница 1 / 2
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar