LinuxForum.Fans
Тема

Exim: проблема с local_delivery transport

Автор: pb13 4 сообщений 2639 просмотров
#204554

Доброго времени суток, комрады!
Давно не появлялся на страницах, даже соскучится успел)))
Но... Перейдем к грустному((

В общем настроил давеча связочку Exim + Dovecot под Debian Squeeze
Пользователи хранятся банально в /etc/exim4/passwd и в /etc/dovecot/dovecot.passwd
В общем авторизация проходит великолепно, письма уходят тоже прекрасно, но вот при получении писем - беда.
Письма на сервер приходят и падают в каталог /var/spool/exim4/input
Но вот дальше сервер не может их раскидать по папкам пользователям.
Папки устроены следующим образом /var/mail/$domain/$user
Вот, что сервер роняет в лог /var/log/exim4/mainlog:

text
16:15:12 1ROTXD-0002gz-No DKIM: d=gmail.com s=gamma c=relaxed/relaxed a=rsa-sha256 [verification succeeded]
2011-11-10 16:15:12 1ROTXD-0002gz-No <= moyemail@gmail.com H=mail-iy0-f176.google.com [209.85.210.176] P=esmtp S=2380 id=CAANO9k=4OpSNnst0jDLRGe9y3nGg__EhFMxVZ4q5ZfQ7xEueew@mail.gmail.com from <moyemail@gmail.com> for admin@blabla.info
2011-11-10 16:15:12 1ROTXD-0002gz-No Failed to find group "" from expanded string "${extract{2}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim4/passwd}}}}" for the local_delivery transport
2011-11-10 16:15:12 1ROTXD-0002gz-No == admin@domain (admin@blabla.info) <admin@blabla.info> R=localuser T=local_delivery defer (-28): Failed to find group "" from expanded string "${extract{2}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim4/passwd}}}}" for the local_delivery transport

А вот сам транспорт local_delivery:

text

        local_delivery:
                driver                  = appendfile
                file                    = ${extract{4}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim4/passwd}}}}/mbox
                #maildir_format
                delivery_date_add
                envelope_to_add
                return_path_add
                mode                    = 0660
                quota                   = ${extract{3}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim4/passwd}}}}M
                quota_warn_threshold    = 75%
                use_lockfile            = no
                no_mode_fail_narrower
                user                    = ${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim4/passwd}}}}
                group                   = ${extract{2}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim4/passwd}}}}

Пробовал также делать и так:

text

        local_delivery:
                driver                  = appendfile
                directory               = ${extract{4}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim4/passwd}}}}/.maildir
                maildir_format
                delivery_date_add
                envelope_to_add
                return_path_add
                mode                    = 0660
                quota                   = ${extract{3}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim4/passwd}}}}M
                quota_warn_threshold    = 75%
                use_lockfile            = no
                no_mode_fail_narrower
                user                    = ${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim4/passwd}}}}
                group                   = ${extract{2}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim4/passwd}}}}

Но тогда в логах еще и user не может определить.

Ну и собственно вот формат файла /etc/exim4/passwd:

text
admin@blabla.info:101:101:0:/var/mail/blabla.info/admin:no:

И /etc/dovecot/dovecot.passwd:

text
admin@blabla.info:{MD5}$1$0VPcB0I6$ldTkeZOY6dIncE.RmMb0w1:101:101::/var/mail/blabla.info/admin:::/var/mail/blabla.info/admin/mbox

В общем из чтения документации я понял, что вроде как изменился формат passwd-файлов (настраивал по старому мануалу).
В общем, запрашиваю поддержку "с воздуха" :D

#204595

Такс... Ну вопрос-то собственно закрыт.
Решил уже :)

На самом деле ошибка у меня была еще на уровне ACL допущена:

text

        local_users:
                driver                  = redirect
                condition               = ${lookup {$local_part@$domain} lsearch {/etc/exim4/passwd} {yes} {no} }
                data                    = $local_part@domain
                redirect_router         = autoreplay

Исправил на:

text

        local_users:
                driver                  = redirect
                condition               = ${lookup {$local_part@$domain} lsearch {/etc/exim4/passwd} {yes} {no} }
                data                    = $local_part@[b]$[/b]domain
                redirect_router         = autoreplay

И все встало на свои места smile

В общем нужно внимательней быть)))

P.S. Пойду теперь SpamAssassin и ClamAV прикручивать :cool:

#204614

Называется найдите 10 отличий.
Хоть бы подчеркнули или курсивом выдили. Я все глаза просмотрел, где разница то?

#204629

Vadimsky, да я цветом выделял, но почему-то теги просто отображает(((
Вот даже сейчас выделил жирным, а отображает просто теги((

P.S. Я вот тоже долго разницу искал))) Почти 10 часов убил на это))))
Внимательно смотри на data

Войдите или зарегистрируйтесь, чтобы ответить.