Сделать курьером автоматически создать maildir

В настоящее время я настраиваю почтовый сервер, используя postfix и курьера.

postfix настроен для проверки учетных записей электронной почты в базе данных MySQL. Например, когда я отправляю электронное письмо по адресу "john.doe@example.com", postfix проверяет, находится ли "john.doe" в базе данных, и записывает письмо в /var/mail/vhosts/john.doe/, Если этот maildir не существует, postfix создает его.

Курьер (сервер POP/IMAP) также настроен для аутентификации через MySQL. Когда я подключаюсь к своему серверу и аутентифицируюсь с помощью "john.doe", курьер просматривает ту же базу данных MySQL и знает, что электронные письма находятся в /var/mail/vhosts/john.doe/,

Проблема в том, что курьер возвращает сообщение об ошибке, если каталог не существует, что происходит с каждой новой учетной записью, которая еще не получила письмо. Ошибка просто "chdir() не удалось для каталога /var/mail/vhosts/john.doe/".

Когда я хочу создать учетную запись электронной почты, я должен добавить ее в базу данных и создать соответствующий каталог. Тем не менее, я бы хотел избежать доступа к файловой системе, если это возможно.

Есть ли способ для курьера автоматически создать каталог или вернуть "нет электронной почты во входящей почте", если каталог не существует?

1 ответ

Решение

Не может быть ошибки "нет электронной почты во входящей почте", потому что нет входящей почты, и сервер не имеет ни малейшего понятия, что делать.

Вы уже знаете о правильном решении. Просто создайте папку при создании учетной записи.

Но я понимаю, что вы не хотите связываться с файловой системой при создании учетной записи. Тем не менее, вы можете захотеть взглянуть на PostfixAdmin, это может помочь в процессе.

Если вы действительно не хотите трогать файловую систему, просто отправьте пользователю приветственное письмо. Он будет получен Postfix, и Postfix создаст каталог.

Другие вопросы по тегам