1

В настоящее время я настраиваю почтовый сервер, используя 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 ответ1

0

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .