Назад | Перейти на главную страницу

Exim4 использует удаленный SMTP для доставки на @ mydomain.com, даже если mydomain.com находится в / etc / mailname

Как описано в заголовке. Если mydomain.com это локальный домен, зачем exim пытаться доставлять почту, связываясь с ним, а не просто хранить ее в локальном mbox? Т.е. когда я делаю echo hello | mail root, он отправляет электронное письмо на root@mydomain.com связавшись с MX, указанным в mydomain.com. Конфиги являются стабильной версией Debian по умолчанию.

Кстати, именно такого поведения я и хочу, так как mydomain.com использует Google Apps, поэтому я хочу, чтобы вся почта доставлялась на указанный там MX, но я также хочу, чтобы мой сервер вел себя так же, как и его собственное имя (т.е. его локально отправляемая почта должна быть с @mydomain.com). Должен ли я тогда настраивать exim по-другому?

Exim не обязательно предполагает какую-либо магию в вашей системе - он будет направлять именно туда, куда вы ему скажете.

Тем не менее, файл конфигурации по умолчанию обычно заполняет local_domains список доменов со значением @, что просто означает «доменное имя этого хоста». Затем, позже dnslookup маршрутизатор может специально исключить локальные домены, сказав domains = ! +local_domains, что предотвратит любую почту, адресованную домену, указанному в local_domains не перенаправляться удаленно через SMTP.

Чтобы устранить вашу проблему, я бы посмотрел в двух местах. Во-первых, хотя у вас может быть /etc/mailname заселен, это не означает, что @ значение в конфигурации exim расширяется до правильного имени локального домена. Убедитесь, что у вас есть правильный fqdn, указанный в /etc/hosts и это dnsdomainname (Я думаю, что он существует в Debian) возвращает то, что вы ожидаете.

Во-вторых, я бы дважды перепроверил конфигурацию exim, проследив за всеми маршрутизаторами до транспортов и убедившись, что ничего не пропало.

У меня была точно такая же проблема, что и у OP - я пытался понять, почему exim обрабатывал все локальные доставки (т.е. сообщения, сгенерированные cron, например, предназначенные для локального почтового ящика, или вывод 'echo "test" | mail' ) как нелокальный.

Типичные записи журнала из такой команды, как:

echo "test" | mail userfoo

будет выглядеть так:

2013-03-20 12:44:02 1UIIN7-0004t9-8R <= root@example.com H = localhost (hostname.example.com) [127.0.0.1] P = esmtps X = TLSv1: DHE-RSA-AES256- SHA: 256 S = 811 id=201303201244.r2KCi11V018784@hostname.example.com

когда они должны выглядеть просто так:

2013-03-20 17:49:17 1UIN8X-0005iz-4Y <= root@example.com U=root P=local S=323

В моем случае проблема заключалась в том, как была настроена моя почтовая оболочка - в моей ОС - FreeBSD - вы настраиваете почтовую оболочку в /etc/mail/mailer.conf, а я пренебрегал изменением различных псевдонимов в этом файле. использовать Exim вместо двоичного файла sendmail по умолчанию. В результате, я думаю, выдача почтовых команд в командной строке означала, что двоичный файл sendmail использовался вместо exim, что привело к попытке доставки через ESMTP, а не через локальную конвейерную доставку.

Изменение файла конфигурации почтовой оболочки /etc/mailer.conf с:

sendmail        /usr/libexec/sendmail/sendmail
send-mail       /usr/libexec/sendmail/sendmail
mailq           /usr/libexec/sendmail/sendmail
newaliases      /usr/libexec/sendmail/sendmail
hoststat        /usr/libexec/sendmail/sendmail
purgestat       /usr/libexec/sendmail/sendmail

кому:

sendmail          /usr/local/sbin/exim
send-mail         /usr/local/sbin/exim
mailq             /usr/local/sbin/exim -bp
newaliases        /usr/bin/true

имел желаемый эффект замены sendmail в качестве двоичного файла почтовой программы по умолчанию для локальной доставки. На самом деле это небольшая ошибка школьника, я помню, что это было одной из первых вещей, которые я изменил, когда впервые установил Exim 5-10 лет назад на FreeBSD, но с тех пор у меня не было необходимости возиться с этим!

Надеюсь, это кому-то все равно поможет, это был единственный результат, который точно касался моей проблемы.

Ура.

Ссылки:

Замена другого MTA на Exim