LINUX.ORG.RU
ФорумAdmin

Sendmail+dovecot - deliver для виртуальных пользователей?


0

0

Доброго времени суток! Пытаюсь сделать доставку писем, используя dovecot deliver. Хочу получить - сендмаил отдает письма deliver вместо локального сортировщика, а тот раскидывает их по папкам вида /home/vmail/%u/Maildir. Пользователи %u виртуальные. Вроде в примерах все разжевано, но где-то у меня затык... Если есть 2 пользователя user1 и user2, то вместо желаемой почты в /home/vmail/user1/Maildir и /home/vmail/user2/Maildir вся почта оставляется в папку локальному пользователю vmail, а именно в /home/vmail/vmail/Maildir.

CentOS 5.3, Sendmail 8.13.8, Dovecot 1.0.7.

Конфиги:

//----------mailertable

test1.ru local:local test2.ru local:local

//----------virtusertable

user1@test1.ru vmail user2@test2.ru vmail

//----------semdmail.mc (практически дефолтный, только мейлер заменил)

divert(-1)dnl

include(`/usr/share/sendmail-cf/m4/cf.m4')dnl

VERSIONID(`setup for linux')dnl

OSTYPE(`linux')dnl

define(`confDEF_USER_ID', ``8:12'')dnl

define(`confTO_CONNECT', `1m')dnl

define(`confTRY_NULL_MX_LIST', `True')dnl

define(`confDONT_PROBE_INTERFACES', `True')dnl

define(`PROCMAIL_MAILER_PATH', `/usr/bin/procmail')dnl

define(`ALIAS_FILE', `/etc/aliases')dnl

define(`STATUS_FILE', `/var/log/mail/statistics')dnl

define(`UUCP_MAILER_MAX', `2000000')dnl

define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl

define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun') dnl

define(`confAUTH_OPTIONS', `A')dnl

define(`confTO_IDENT', `0')dnl

FEATURE(`no_default_msa', `dnl')dnl

FEATURE(`smrsh', `/usr/sbin/smrsh')dnl

FEATURE(`mailertable', `hash -o /etc/mail/mailertable.db')dnl

FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dnl

FEATURE(redirect)dnl

FEATURE(always_add_domain)dnl

FEATURE(use_cw_file)dnl

FEATURE(use_ct_file)dnl

FEATURE(`access_db', `hash -T<TMPF> -o /etc/mail/access.db')dnl

FEATURE(`blacklist_recipients')dnl

EXPOSED_USER(`root')dnl

DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl

LOCAL_DOMAIN(`localhost.localdomain')dnl

define(`LOCAL_MAILER_PATH',`/usr/libexec/dovecot/deliver')

define(`LOCAL_MAILER_FLAGS',`DFMPhfnu9')

define(`LOCAL_MAILER_ARGS',`deliver -f $g -d $u')

MAILER(local)dnl

MAILER(smtp)dnl

//----------dovecot.conf

base_dir = /var/run/dovecot/

protocols = imap imaps pop3 pop3s

disable_plaintext_auth = no

log_path = /var/log/dovecot.log

info_log_path = /var/log/dovecot-info.log

ssl_disable = yes

mail_location = maildir:/home/vmail/%u/Maildir

protocol imap { }

protocol pop3 { pop3_uidl_format = %08Xu%08Xv }

protocol lda { postmaster_address = postmaster@localhost sendmail_path = /usr/lib/sendmail auth_socket_path = /var/run/dovecot/auth-master log_path = info_log_path = }

auth default { mechanisms = plain

passdb passwd-file { args = /etc/dovecot/passwd }

userdb static { args = uid=vmail gid=vmail home=/home/vmail/%u }

user = root

socket listen { master { path = /var/run/dovecot/auth-master mode = 0600 user = dovecot group = dovecot } } }

dict { }

plugin { }

Наличие доменов в классе w тоже проверял - не работает хоть с ними, хоть без них - вся почта валится vmail'у. Буду благодарен любой помощи...


Привет, коллега. Сам с давкотом борюсь :-) Вроде ошибок не вижу, только я с sendmail-ом не знаком, поэтому меня вот это смущает:

define(`LOCAL_MAILER_ARGS',`deliver -f $g -d $u')

Здесь точно надо слово deliver? Это ж ARGS. И не пытается ли он подставить вместо $u обоих пользователей одновременно?

Попробуй сам вызвать этот deliver и посмотреть, что получится. Например, так:

/usr/local/bin/dovecot/deliver -d vuser1 <emailmessage

Ещё советовал бы включить логи авторизации (auth_debug=yes и auth_verbose=yes). У меня были проблемы с подключением к мастер-процессу, пока ему флаги 666 не выставил, но у тебя user=root, не знаю как в этом случае.

shamus24
()
Ответ на: комментарий от shamus24

Я в общем все настроил, проблема теперь только в одном - как реализовать алиасы или перенаправление почты для виртуальных пользователей давкота? Ничего не найду на эту тему(

ESP
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.