Это противоречит желанию большинства пользователей, но как я могу заставить dovecot выдавать ошибку, если maildir не существует, вместо того, чтобы автоматически создавать его самостоятельно?
Auth основан на pam, и я использую Maildir в пользовательском каталоге:
mail_location = maildir:/stor/mail/imap/%u:INDEX=/stor/mail/imap/indexes/%u
Если я rm -rf /stor/mail/imap
то я ожидаю, что dovecot будет жаловаться при запуске или, по крайней мере, когда пользователь пытается получить его. Тем не менее, он запускается просто отлично без создания директории, а затем автоматически создает /stor/mail/imap/foo
когда foo
входит в систему и выбирает.
Я хотел бы не запускаться, если /stor/mail/imap
не существует или не может этого сделать, чтобы пожаловаться пользователю, когда он пытается извлечь.
РЕДАКТИРОВАТЬ: я могу chown root /stor/mail/imap; chmod 700 /stor/mail/imap
. Dovecot все еще запускается нормально (grrr). Он извлекает жалобы пользователю при получении, хотя ошибка "Ошибка входа в систему на сервере", что является неточным, хотя лучше, чем молчание.
Я попытался установить auto
в no
в defs почтовых ящиков, но безрезультатно. кажется, вы не можете установить auto
для INBOX. Я использую конфигурацию dovecot по умолчанию из Ubuntu 16.04.2, где conf.d/15-mailboxes.conf
имеет:
# NOTE: Assumes "namespace inbox" has been defined in 10-mail.conf.
namespace inbox {
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Trash {
special_use = \Trash
}
mailbox Sent {
special_use = \Sent
}
}
и conf.d/10-mail.conf
имеет:
namespace inbox {
# Namespace type: private, shared or public
#type = private
# Hierarchy separator to use. You should use the same separator for all
# namespaces or some clients get confused. '/' is usually a good one.
# The default however depends on the underlying mail storage format.
#separator =.
# Prefix required to access this namespace. This needs to be different for
# all namespaces. For example "Public/".
#prefix =.
# Physical location of the mailbox. This is in same format as
# mail_location, which is also the default for it.
#location =
# There can be only one INBOX, and this setting defines which namespace
# has it.
inbox = yes
# If namespace is hidden, it's not advertised to clients via NAMESPACE
# extension. You'll most likely also want to set list=no. This is mostly
# useful when converting from another server with different namespaces which
# you want to deprecate but still keep working. For example you can create
# hidden namespaces with prefixes "~/mail/", "~%u/mail/" and "mail/".
#hidden = no
# Show the mailboxes under this namespace with LIST command. This makes the
# namespace visible for clients that don't support NAMESPACE extension.
# "children" value lists child mailboxes, but hides the namespace prefix.
#list = yes
# Namespace handles its own subscriptions. If set to "no", the parent
# namespace handles them (empty prefix should always have this as "yes")
#subscriptions = yes
# See 15-mailboxes.conf for definitions of special mailboxes.
}