Здравствуйте!Пытаюсь связать постфикс и довекот. При отправке сообщения в логах появляется. 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 = dovecotmaster.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
}Может у меня каких то параметров не хватает?
как минимум надо разкомментировать строки>[оверквотинг удален]
> passdb passwd {здесь
> #args = /etc/passwd
> }
> passdb shadow {здесь
> #args = /etc/shadow
> }
> userdb passwd {и здесь
> #args = /etc/passwd
> }
> [оверквотинг удален]
Вот в этой строке 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
> ...}
> Вот в этой строке 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)
Подскажите пожалуйста, как правильно прописать
Ключ -f $(sender) не заменяет, а дополняет ключ -d $(recipient). Нужен он для того, чтобы деливер, в случае неудачной доставки, знал адрес, на который отправлять уведомление (баунс).Как правильно записать отправителя и получателя ($(sender) и $(recipient)) я не знаю, с постфиксом незнаком.
То, что у вас лезет ошибка с сообщением "user unknown" означает, что переменная $(recipient) не экспандится в корректный юзернейм. Причин для этого может быть множество, советую запустить постфикс с уровнем отладки повыше и внимательно почитать полученные логи, там будет много интересного.