Exim с авторизацией из файла
Если на почтовом сервере немного пользователей, гораздо проще использовать авторизацию через текстовый файл, нежели через SQL.
Exim
В секции begin authenticators необходимо написать:
begin authenticators plain_server: driver = plaintext public_name = PLAIN server_condition = \ ${if eq{$auth3}{${extract{1}{:}{${lookup{$auth2}lsearch{/etc/dovecot/users}}}}}{1}{0}} server_set_id = $auth2 server_prompts = :
В данном случае используется общий с Dovecot’ом файл пользователей /etc/dovecot/users вида:
email1@mydomain.com:Password:1000:12::::userdb_mail=maildir:/var/mail/email1@mydomain.com email2@mydomain.com:Password:1000:12::::userdb_mail=maildir:/var/mail/email2@mydomain.com email1@mydomain1.com:Password:1000:12::::userdb_mail=maildir:/var/mail/email1@mydomain1.com email1@mydomain2.com:Password:1000:12::::userdb_mail=maildir:/var/mail/email1@mydomain2.com
где Password — пароль в не зашифрованном виде, /var/mail/email1@mydomain.com — домашний каталог для виртуального пользователя, 1000 и 12 — поля uid и gid (пользователь и группа).
Dovecot
Файл /etc/dovecot/conf.d/auth-passwdfile.conf.ext для авторизации через файл:
# Authentication for passwd-file users. Included from 10-auth.conf. # # passwd-like file with specified location. #passdb { driver = passwd-file args = scheme=PLAIN username_format=%u /etc/dovecot/users } userdb { driver = passwd-file args = username_format=%u /etc/dovecot/users }