LINUX.ORG.RU
ФорумAdmin

dovecot не забирает почту exim-а

 ,


0

1

Xubuntu 12.04.3
dovecot 2.0.19
exim 4 4.76

Связка настраивалась с целью - exim “ловит” почту от MUA и всяких там PHP и передает ее
dovecot-у - настраивал по, экхем, мануалу тут http://vitalium.org/2010/02/настройка-eximdovecot-в-linux/.

конфиг exim-а (большой) - http://pastebin.com/14qgvwZw
конфиг dovecot-а (небольшой :)) - http://pastebin.com/tnJ5tnUi

На текущий момент - MUA вроде бы как отправляет почту exim-у - почта уходит, и в логах последнего прописано, что дескать все ушло от того, кого надо, тому, кому надо.
Но dovecot видимо ничего не забирает - при заходе telnet-ом в ящики (без ошибок), list выдает аж 0 писем (почтовый клиент аналогично ничего не получает во Входящие).

Из хоть каких-то симптомов, в логе exim-а /var/log/exim4/mainlog перманентно наблюдаю строки вида:
2013-12-28 08:23:26 SMTP syntax error in «\026\003??S\001??O\003?R\276n^\2234\212\027\202\016\326\345\343\236\274\311\302]1\372\v\233L\314\355\345u\030\030\032d\242??(?\377?\210?\207?9?8?\204?5?E?D?3?2?\226?A?/?\005?\004?\026?\023\376\377?» H=[127.0.0.1] NULL character(s) present (shown as '?')


В чем может быть проблема?



Последнее исправление: cetjs2 (всего исправлений: 1)

В конфиг особо не вчитывался, но должно быть приблизительно так

begin routers
    dnslookup:
        driver = dnslookup
        domains = ! +local_domains
        transport = remote_smtp
        ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 :\
                              172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16 :\
                              255.255.255.255
        no_more
    dovecot_user:
        driver = accept
        condition = ${lookup mysql{SELECT goto FROM \
        alias WHERE \
        address='${quote_mysql:$local_part@$domain}' OR \
        address='${quote_mysql:@$domain}'}{yes}{no}}
        transport = dovecot_delivery

begin transports
    remote_smtp:
        driver = smtp
    dovecot_delivery:
        driver = pipe
        command = /usr/lib/dovecot/deliver -d $local_part@$domain
        message_prefix =
        message_suffix =
        delivery_date_add
        envelope_to_add
        return_path_add
        log_output
        user = vmail

getup
()

Не стал вникать глубоко, но, вопрос - куда доставляет почту exim?

Я не стал разбираться в ваших роутерах и транспортах, взял просто для примера: 1.Транспорт mail_spool доставляет почту в file = /var/mail/$local_part (это exim). 2.В dovecot определено mail_location = mbox:%h/mail/%d/%n .

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

Я хотел сказать, что у вас exim доставляет почту в одно место, а dovecot пытается получить из другого (где её нет). Ну, дык настройте всё как положено.

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

гм, а какая разница, где MTA хранит почту в своем внутреннем формате?
насколько понимаю, Exim должен передавать ее dovecot-у по сетевому протоколу, а не просто складывать в соотв. папку

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

exim доставляет почту (не важно локально, или удалённо). Локальную почту он хранит в папках (файлах). dovecot никакую почту не получает и не передаёт, он лишь соединяет клиентов (pop3, imap4), т.е. грубо говоря, подключает клиентов к определённой папке, где хранится его почта. ЕЩЁ раз - МТА не передаёт почту dovecot. В не понимании этого и заключается ваша глобальная ошибка.

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

В ней хранятся пары alias-real email. Postfixadmin по умолчанию там записи создает вида «email1@example.com»-«email1@example.com» «email2@example.com»-«email2@example.com» и т.д. Поэтому удобней из нее выборку делать.

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