Я запускаю Dovecot с несколькими виртуальными пользователями в файле passwd: http://wiki2.dovecot.org/AuthDatabase/PasswdFile . Это файл / etc / dovecot / userdb. Как я могу позволить пользователям менять свои пароли?
Это Debian GNU / Linux (Wheezy).
На самом деле dovecot не заботится об управлении пользователями. Его основной задачей было только сделать аутентификацию и авторизацию прочитав (не изменив) файл passwd, обработка соединений POP3 и IMAP и иногда доставить электронную почту на mailboИкс. Также как сказал Андре Даниэль, IMAP / POP3 не был протоколом для управления пользователями. Это протокол к получить электронную почту и синхронизация. Вам нужен другой инструмент для управления пользователями.
Обычным подходом было хранение userdb в бэкэнде базы данных, таком как MySQL или LDAP. Таким образом, язык веб-приложений, такой как PHP, может легко изменить его, потому что для него есть собственный драйвер. Этот подход был принят несколькими веб-почтовыми службами, такими как этот плагин Roundcube.
Если вы используете файл passwd, то у вас может быть скрипт или веб-приложение, используемое пользователем, и вы должны читать файл passwd и изменять его при запросе на смену пароля.