Как говориться: "давно не брал я в руки шашку"
Намедни скрещивал sendmail c dovecot.
Раньше между MDA и dovecot была прослойка антиспама DSPAM. Но производитель перестал осуществлять поддержку и пришлось с этой прогой попрощаться. Причем у довекота свое хитрое хранилище почты, никоим образом не пересекающееся с домашними директориями пользователей. База пользователей хранится в LDAP, поиск пользователя по uid без домена. Т.е. они там просто vasia, petia, а не vasia@domen.com и т.п.
По этой причине стандартные "быстрые" howto не подошли.
Пример из официального руководства http://wiki2.dovecot.org/LDA/Sendmail не работал. После преобразования имен sendmail упорно выдавал пользователя с доменом локальной машины. Т.е. на входе преобразования petia@virt.domain.com, на выходе petia@host.com
Проблема решается путем удаления флага h и замены правила EnvToSMTP на PseudoToReal.
В результате получился вот такой m4
######################################################################
# to user = user@domain.com use F=DFMPhnu95l
# to user = user use F=DFMPnu95l
Mdovecot, P=/usr/libexec/dovecot/dovecot-lda,
F=DFMPnu95l,
S=EnvFromSMTP/HdrFromSMTP,
R=PseudoToReal/HdrFromSMTP,
T=DNS/RFC822/X-Unix,
A=/usr/libexec/dovecot/dovecot-lda -d $u
sendmail.mc содержит:
define(`confLOCAL_MAILER',`dovecot')dnl
MAILER(dovecot)dnl
И самое смешное, после того как все это начало работать, я подумал: " а зачем так сложно?" и прикрутил sendmail к dovecot через LMTP :) Тем более что в howto было написано: Best solution is to use LMTP instead :) Но к сожалению эта фраза попалась мне только после окончания прикручивания своего мейлера :(
FEATURE(`local_lmtp',`[IPC]',`FILE /var/run/dovecot/lmtp')dnl
MAILER(local)dnl
Майлер local по автомату не подставляет имя хоста.
Намедни скрещивал sendmail c dovecot.
Раньше между MDA и dovecot была прослойка антиспама DSPAM. Но производитель перестал осуществлять поддержку и пришлось с этой прогой попрощаться. Причем у довекота свое хитрое хранилище почты, никоим образом не пересекающееся с домашними директориями пользователей. База пользователей хранится в LDAP, поиск пользователя по uid без домена. Т.е. они там просто vasia, petia, а не vasia@domen.com и т.п.
По этой причине стандартные "быстрые" howto не подошли.
Пример из официального руководства http://wiki2.dovecot.org/LDA/Sendmail не работал. После преобразования имен sendmail упорно выдавал пользователя с доменом локальной машины. Т.е. на входе преобразования petia@virt.domain.com, на выходе petia@host.com
Проблема решается путем удаления флага h и замены правила EnvToSMTP на PseudoToReal.
В результате получился вот такой m4
######################################################################
# to user = user@domain.com use F=DFMPhnu95l
# to user = user use F=DFMPnu95l
Mdovecot, P=/usr/libexec/dovecot/dovecot-lda,
F=DFMPnu95l,
S=EnvFromSMTP/HdrFromSMTP,
R=PseudoToReal/HdrFromSMTP,
T=DNS/RFC822/X-Unix,
A=/usr/libexec/dovecot/dovecot-lda -d $u
sendmail.mc содержит:
define(`confLOCAL_MAILER',`dovecot')dnl
MAILER(dovecot)dnl
И самое смешное, после того как все это начало работать, я подумал: " а зачем так сложно?" и прикрутил sendmail к dovecot через LMTP :) Тем более что в howto было написано: Best solution is to use LMTP instead :) Но к сожалению эта фраза попалась мне только после окончания прикручивания своего мейлера :(
FEATURE(`local_lmtp',`[IPC]',`FILE /var/run/dovecot/lmtp')dnl
MAILER(local)dnl
Майлер local по автомату не подставляет имя хоста.
Комментариев нет:
Отправить комментарий