Доброго времени суток.
Есть почтовый сервер sendmail+dovecot с 2мя почтовыми доменами - один локальный, второй виртуальный. На виртуальном dovecot работает с виртуальными пользователям. На реальном нужно, чтобы работал с реальными.
Мне удалось добиться, чтобы и вирутальные и реальные проходили аутентификацию, но проблема в расположении и формате почтовых ящиков. Для виртуальных вызывается dovecot LDA и складывает их в maildir:/home/vmail/%u/Maildir, а для реальных локальный мейлер складывает в /var/spool/mail/user.
Не могу понять, можно ли как-то заставить довекот искать в разных локациях для разных типов пользователей?
Сразу скажу, что вики изучил уже вдоль и поперек. Вот это http://wiki.dovecot.org/Authentication/MultipleDatabases мне не помогло - LDA для локальных не вызывается, а если mail_location указать как /var/spool/mail/%u - довекот ругается на то, что это не папка...Какое может быть в данном случае решение?
Конфиг:
dovecot -n# 1.0.7: /etc/dovecot.conf
base_dir: /var/run/dovecot/
log_path: /var/log/dovecot.log
info_log_path: /var/log/dovecot-info.log
protocols: pop3
ssl_disable: yes
login_dir: /var/run/dovecot//login
login_executable: /usr/libexec/dovecot/pop3-login
mail_location: maildir:/home/vmail/%u/Maildir
mail_debug: yes
mail_executable: /usr/libexec/dovecot/pop3
mail_plugins: quota
mail_plugin_dir: /usr/lib/dovecot/pop3
auth default:
verbose: yes
debug: yes
debug_passwords: yes
passdb:
driver: passwd-file
args: /etc/dovecot/passwd
passdb:
driver: pam
userdb:
driver: static
args: uid=vmail gid=vmail home=/home/vmail/%u
socket:
type: listen
master:
path: /var/run/dovecot/auth-master
mode: 384
user: dovecot
group: dovecot
plugin:
quota: maildir:storage=10240
sieve_global_path: /home/vmail/default.sieve
Варианты:
1. Сделать реальных пользователей в виртуальными
2. Покурить документацию на предмет того, сможет ли dovecot из userdb при driver: static
получить параметр home
3. Перевести userdb на sql. У меня база пользователей в sql, я могу задать для каждого пользователя свое расположение home
>Варианты:
>1. Сделать реальных пользователей в виртуальнымиНе хотелось бы. Это как бы привелигированная группа, им нужен системный аккаунт.
>2. Покурить документацию на предмет того, сможет ли dovecot из userdb при
>driver: static
>получить параметр homeПосмотрю.
>3. Перевести userdb на sql. У меня база пользователей в sql, я
>могу задать для каждого пользователя свое расположение homeТам уже крутится субд, но не mysql. Наверно, можно, но непросто будет.
http://wiki.dovecot.org/UserDatabase/ExtraFields, последний абзац - именно то что вам надоа то что ругается что не папка - наверное надо указывать что тип ящика файл, по дефолту мейлдир
>http://wiki.dovecot.org/UserDatabase/ExtraFields, последний абзац - именно то что вам надоТут ведь в последнем абзаце как раз речь о виртуальных пользователях, а с ними у меня все ок - письма берутся из userdb static и складываются в maildir:/home/vmail/%u/Maildir. А нужно как-то сказать давкоту брать для реальных, которые аутентифицируются через userdb pam, из mbox:/var/spool/mail/%u.
>а то что ругается что не папка - наверное надо указывать что
>тип ящика файл, по дефолту мейлдирПробовал, не выходит. Туплю второй день. Кажется, все должно быть очень просто...
Имею аналогичную проблему.
Никак не получается ящики реальных пользователей находить в /var/spool/mail
Dovecot почему-то эту папку вообще не опрашивает если в домашней папке пользователя ящик не найден.