URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 90276
[ Назад ]

Исходное сообщение
"Dovecot не видит локальных пользователей."

Отправлено Paltusssss , 11-Ноя-10 17:44 
Здравствуйте!

Пытаюсь связать постфикс и довекот. При отправке сообщения в логах появляется. status = bounced (unknown user) В настройках серверов прописано следующее:

main.cf

#Imap-server settings
mailbox_transport = dovecot
mailbox_command = /usr/lib/dovecot/deliver
dovecot_destination_recipient_limit = 1
#virtual_transport = dovecot

master.cf

dovecot unix - n n - - pipe
flags=DRhu user=wmail:mail argv=/usr/lib/dovecot/deliver -d $(recipient)

dovecot.conf

passdb passwd {
#args = /etc/passwd
}
passdb shadow {
#args = /etc/shadow
}
userdb passwd {
#args = /etc/passwd
}

protocol lda {
#postmaster_address =
#hostname = mail.spice.lan
#mail_plugins =
#mail_plugin_dir = /usr/lib/dovecot/lda
#quota_full_tempfail = no
#deliver_log_format = msgid=%m: %$
#sendmail_path = /usr/lib/sendmail
#rejection_subject = Rejected: %s
#auth_socket_path = /var/run/dovecot/auth-master
}

Может у меня каких то параметров не хватает?


Содержание

Сообщения в этом обсуждении
"Dovecot не видит локальных пользователей."
Отправлено Aquarius , 11-Ноя-10 19:39 
как минимум надо разкомментировать строки

>[оверквотинг удален]
> passdb passwd {

здесь
> #args = /etc/passwd
> }
> passdb shadow {

здесь
> #args = /etc/shadow
> }
> userdb passwd {

и здесь
> #args = /etc/passwd
> }
> [оверквотинг удален]


"Dovecot не видит локальных пользователей."
Отправлено DeadLoco , 11-Ноя-10 23:52 
Вот в этой строке master.cf не хватает ключа -f

> flags=DRhu user=wmail:mail argv=/usr/lib/dovecot/deliver -d $(recipient)

Деливеру для корректной работы нужно передавать из МТА Return-Path, чтобы деливер мог делать баунсы и скидывать их обратно в МТА. Для этого нужно поправить dovecot.conf:

> protocol lda {
> ...
> sendmail_path = /path/to/the/postfix/sendmail
> ...

}


"Dovecot не видит локальных пользователей."
Отправлено paltusssss , 16-Ноя-10 18:46 
> Вот в этой строке master.cf не хватает ключа -f
>> flags=DRhu user=wmail:mail argv=/usr/lib/dovecot/deliver -d $(recipient)
> }

Заменил строку

dovecot unix - n n - - pipe
flags=DRhu user=wmail:mail argv=/usr/lib/dovecot/deliver -d $(recipient) на

dovecot unix - n n - - pipe
flags=DRhu user=wmail:mail argv=/usr/lib/dovecot/deliver -f $(recipient)

В логах появилось status=sent но если посмотреть в /var/spool/mail/user то письма там нет, а вместо него создаётся странная папка wmail со следующим содержимым

cur/               dovecot-uidlist      dovecot-uidvalidity.4ce2a2f8  tmp/
dovecot.index.log  dovecot-uidvalidity  new/

если указываю -f $(recipient) -d $(recipient) появляется старая ошибка status=bounced (user unknown)
Подскажите пожалуйста, как правильно прописать


"Dovecot не видит локальных пользователей."
Отправлено DeadLoco , 16-Ноя-10 20:30 
Ключ -f $(sender) не заменяет, а дополняет ключ -d $(recipient). Нужен он для того, чтобы деливер, в случае неудачной доставки, знал адрес, на который отправлять уведомление (баунс).

Как правильно записать отправителя и получателя ($(sender) и $(recipient)) я не знаю, с постфиксом незнаком.

То, что у вас лезет ошибка с сообщением "user unknown" означает, что переменная $(recipient) не экспандится в корректный юзернейм. Причин для этого может быть множество, советую запустить постфикс с уровнем отладки повыше и внимательно почитать полученные логи, там будет много интересного.