Проблема со связкой exim + dovecot + fetchmail

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Syn-McJ
проходил мимо
Сообщения: 1
Зарегистрирован: 2012-10-08 6:27:10

Проблема со связкой exim + dovecot + fetchmail

Непрочитанное сообщение Syn-McJ » 2012-10-08 8:25:24

Всем доброго времени суток. Суть поставленной мне задачи такова: необходимо перенести почтовый хостинг предприятия на собственный сервер. При этом средствами fetchmail нужно слить всю существующую почту со старого хостинга. Знаний и опыта системного администрирования у меня кот наплакал, однако до сих пор со всеми проблемами справлялся, в том числе и с переносом сайта предприятия. Конечно, большая часть того, что я сделал, сделано скорее всего через задницу. Но, к сожалению, времени на вдумчивое изучение вопроса обычно нет.
В процессе я столкнулся со многими граблями, в том числе и лежавшими здесь до меня. В результате все встало практически на конечном этапе получения почты, и сейчас есть 2 возможных состояния системы, в зависимости от того, в какую часть неба я ткнул до этого пальцем.
Итак, связка exim + dovecot + fetchmail стоит на нашем маршрутизаторе. Здесь же находятся прокси-сервер, nat, и bind в качестве dns сервера. Почта проходит через nat абсолютно прозрачно, никаких правил для 25го порта нет, плюс к этому полное его отключение ничего не изменило, так что проблема не в этом. В bind настроена зона для почтового домена следующим образом:

Код: Выделить всё

$ORIGIN .
$TTL 3600
mailtest.ru.              IN SOA mailtest.ru. admin.mailtest.ru. (
                                2012100804 ; serial
                                28800      ; refresh (8 hours)
                                7200       ; retry (2 hours)
                                604800     ; expire (1 week)
                                86400      ; minimum (1 day)
                                )
                                NS mailtest.ru.
                                A 10.0.0.21
                                MX 10 mail.mailtest.ru.
$ORIGIN mailtest.ru.
www                       CNAME mailtest.ru.
mail                      A 127.0.1.1
Здесь 10.0.0.21 - другая машина, веб-сервер.
Насчет 127.0.1.1. Я так понимаю, этот адрес (да и вообще все адреса 127.0.0.0 => 127.255.255.255) так же завязан на loopback интерфейс. Но мне, в таком случае, не совсем понятно, почему записи

Код: Выделить всё

mail    A 127.0.1.1
и

Код: Выделить всё

mail    A 127.0.0.1
дают разные результаты. Вероятно потому, что в файл /etc/hosts имеет у меня следующий вид:

Код: Выделить всё

127.0.0.1      localhost
127.0.1.1      mailtest.ru

#The following lines are desirable for IPv6 capable hosts
... здесь всякая ерунда про IPv6 ...
В целом, процесс получения почты следующий: я отсылаю на почтовый ящик старого хостинга некоторое письмо. Fetchmail его получает и отправляет exim'у. Конфиг fetchmail:

Код: Выделить всё

set daemon    300

set no syslog
set logfile=/var/log/fetchmail

set no bouncemail

defaults:
    antispam -1
    batchlimit 100

poll mail.megacorp.ru protocol imap
          user spiderman@megacorp.ru
          password fetchmail
          is admin@mailtest.ru here

mda "/usr/sbin/sendmail -oem -f %F %T"
/usr/sbin/sendmail пролинкован на exim, естественно.

Здесь вроде все в порядке. Затык происходит, когда Exim получает эту почту от fetchmail. Здесь есть два сценария. Если я указал в зоне для mailtest 127.0.1.1, то exim уходит в петлю и в итоге вываливается с ошибкой "Too many "Received" headers". Часть лога ниже:

Код: Выделить всё

2012-10-08 15:52:38 1TL5KC-0008KJ-Jl <= fetchmail@mailtest.ru U=fetchmail P=local S=2231511 id=507259D0.4000602@megacorp.ru from <fetchmail@mailtest.ru> for admin@mailtest.ru
2012-10-08 15:52:38 1TL5KY-0008KO-2R <= fetchmail@mailtest.ru H=mailtest.ru [127.0.1.1] P=esmtp S=2231676 id=507259D0.4000602@megacorp.ru from <fetchmail@mailtest.ru> for admin@mailtest.ru
2012-10-08 15:52:38 1TL5KC-0008KJ-Jl => admin@mailtest.ru R=dnslookup T=remote_smtp H=mail.mailtest.ru [127.0.1.1] C="250 OK id=1TL5KY-0008KO-2R"
2012-10-08 15:52:38 1TL5KC-0008KJ-Jl Completed
2012-10-08 15:52:38 1TL5KY-0008KR-AW <= fetchmail@mailtest.ru H=mailtest.ru [127.0.1.1] P=esmtp S=2231874 id=507259D0.4000602@megacorp.ru from <fetchmail@mailtest.ru> for admin@mailtest.ru
2012-10-08 15:52:38 1TL5KY-0008KO-2R => admin@mailtest.ru R=dnslookup T=remote_smtp H=mail.mailtest.ru [127.0.1.1] C="250 OK id=1TL5KY-0008KR-AW"
2012-10-08 15:52:38 1TL5KY-0008KO-2R Completed
...
...
2012-10-08 15:52:45 1TL5Kf-0008Lh-0L <= fetchmail@mailtest.ru H=mailtest.ru [127.0.1.1] P=esmtp S=2237022 id=507259D0.4000602@megacorp.ru from <fetchmail@mailtest.ru> for admin@mailtest.ru
2012-10-08 15:52:45 1TL5Kf-0008Lh-0L ** admin@mailtest.ru: Too many "Received" headers - suspected mail loop
2012-10-08 15:52:45 1TL5Ke-0008Le-OS => admin@mailtest.ru R=dnslookup T=remote_smtp H=mail.mailtest.ru [127.0.1.1] C="250 OK id=1TL5Kf-0008Lh-0L"
2012-10-08 15:52:45 1TL5Ke-0008Le-OS Completed
2012-10-08 15:52:45 1TL5Kf-0008Lj-7z <= <> R=1TL5Kf-0008Lh-0L U=Debian-exim P=local S=114143 from <> for fetchmail@mailtest.ru
2012-10-08 15:52:45 1TL5Kf-0008Lh-0L Completed
2012-10-08 15:52:45 1TL5Kf-0008Lm-CJ <= <> H=mailtest.ru [127.0.1.1] P=esmtp S=114304 id=E1TL5Kf-0008Lj-7z@mailtest.ru from <> for fetchmail@mailtest.ru
2012-10-08 15:52:45 1TL5Kf-0008Lj-7z => fetchmail@mailtest.ru R=dnslookup T=remote_smtp H=mail.mailtest.ru [127.0.1.1] C="250 OK id=1TL5Kf-0008Lm-CJ"
2012-10-08 15:52:45 1TL5Kf-0008Lj-7z Completed
...
...
2012-10-08 15:52:49 1TL5Kj-0008N8-8e <= <> H=mailtest.ru [127.0.1.1] P=esmtp S=118812 id=E1TL5Kf-0008Lj-7z@mailtest.ru from <> for fetchmail@mailtest.ru
2012-10-08 15:52:49 1TL5Kj-0008N5-4Z => fetchmail@mailtest.ru R=dnslookup T=remote_smtp H=mail.mailtest.ru [127.0.1.1] C="250 OK id=1TL5Kj-0008N8-8e"
2012-10-08 15:52:49 1TL5Kj-0008N5-4Z Completed
2012-10-08 15:52:49 1TL5Kj-0008NB-DG <= <> H=mailtest.ru [127.0.1.1] P=esmtp S=118973 id=E1TL5Kf-0008Lj-7z@mailtest.ru from <> for fetchmail@mailtest.ru
2012-10-08 15:52:49 1TL5Kj-0008NB-DG ** fetchmail@mailtest.ru: Too many "Received" headers - suspected mail loop
2012-10-08 15:52:49 1TL5Kj-0008NB-DG Frozen (delivery error message)
2012-10-08 15:52:49 1TL5Kj-0008N8-8e => fetchmail@mailtest.ru R=dnslookup T=remote_smtp H=mail.mailtest.ru [127.0.1.1] C="250 OK id=1TL5Kj-0008NB-DG"
2012-10-08 15:52:49 1TL5Kj-0008N8-8e Completed
Соответственно, почта exim'ом никуда не доставляется, а оседает в /var/spool/exim4/input.

Если же я указал в зоне для mailtest.ru 127.0.0.1, то все ещё проще (мне этот вариант меньше нравится, btw):

Код: Выделить всё

2012-10-08 16:02:52 1TL5US-0008TZ-0D <= fetchmail@mailtest.ru U=fetchmail P=local S=68847 id=50725E66.7090401@megacorp.ru from <fetchmail@mailtest.ru> for admin@mailtest.ru
2012-10-08 16:02:52 1TL5US-0008TZ-0D == admin@mailtest.ru R=local_domains defer (-17): error in redirect data: domain missing or malformed in "admin@"
Такие вот дела.
Конфиг exim'а: http://pastebin.com/JCLuKFhY
(там ещё много файликов в conf.d, я так понял, конфиг разбит на составляющие. Могу привести содержимое любого из них, если необходимо).
Товарищи, прошу вашей помощи, буду очень благодарен любому совету, подсказке, чему угодно. Выполню любую необходимую последовательность действий, вплоть до битья себя линейкой по рукам.
Заранее спасибо.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Проблема со связкой exim + dovecot + fetchmail

Непрочитанное сообщение Alex Keda » 2013-01-23 14:13:57

это всё кривые линуксы
Убей их всех! Бог потом рассортирует...