Dovecot: автоматически создавать публичные почтовые ящики?

В настоящее время у меня есть проблемы с моим пониманием общедоступных почтовых ящиков с dovecot. В настоящее время работает postfix вместе с dovecot (также с sasl dovecot). Всякий раз, когда электронная почта достигает моего сервера, выполняется один или несколько запросов userdb (против моего ldap), и, если адрес назначения существует, создается почтовый ящик (местоположение зависит от информации ldap) и доставляется почта. Хорошо.

Сейчас я пытаюсь настроить следующее: если адрес получателя электронной почты (например, info@example.com) не соответствует обычной учетной записи, а группа в моем ldap (например, информация), это почтовый ящик должен быть создан как общедоступный почтовый ящик, на который затем можно подписаться (я знаю, что мне все равно нужно будет установить ACL; однако я написал работающий плагин dovecot, чтобы сделать это сразу после создания).

После просмотра документации dovecot я получил следующий конфиг:

namespace {
  type = private
  separator = /
  #prefix =
  inbox = yes
  #subscriptions = yes
}
namespace {
  type = public
  separator = /
  prefix = groups/
  location = maildir:/var/vmail/%d/groups/%n/mail:LAYOUT=fs
  subscriptions = no
  list = children
}

Что работает, так это то, что (в соответствии с домашним и почтовым расположением учетной записи группы из ldap) почтовый ящик создается в /var/vmail/example.com/groups/info. К сожалению, этот почтовый ящик создается в частном пространстве имен, Очевидно, что dovecot не заботится о моей файловой структуре.

Не могли бы вы объяснить мне, какие другие параметры использует dovecot, чтобы определить, является ли почтовый ящик личным или общедоступным? Помимо типичных папок, в почтовой папке есть файл dovecot-acl-list, но я сомневаюсь, что это может быть; либо это?

Более того: знаете ли вы, способен ли dovecot автоматически создавать публичные почтовые ящики?

Заранее большое спасибо!

1 ответ

Решение

Хорошо, сделал это самостоятельно. Метод проб и ошибок привел меня к этому:

namespace {
  type = public
  separator = /
  prefix = groups/
  location = maildir:/var/vmail/%d/groups:LAYOUT=fs
  subscriptions = no
  list = children
}

Мои публичные почтовые ящики теперь будут иметь свои почтовые папки, например, в /var/vmail/example.com/groups/info/, но, по крайней мере, теперь это работает;)

Причиной моего недоразумения было то, что мой плагин всегда сообщал, что пространство имен коробки будет приватным. Это произошло потому, что при использовании dovecot в качестве LDA (который запускает автоматическое создание почтового ящика) у вас нет контекста "обычного пользователя", который мог бы идентифицировать это пространство имен как общедоступное.

В любом случае, спасибо всем, кто прочитал этот пост!

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