Начну со слов: я не уверен, что именно мне нужно. Я гуглил на "sendmail LAN" и варианты, и, кажется, мне нужна настройка "нулевого клиента". Так что это мое предположение, а не мое требование (отсюда и не очень четкое название)

Коротко: у меня есть 1 Centos (v6) сервер, на котором запущен сервер XMail (последний), который размещает электронную почту для нескольких доменов, входящих и исходящих. У меня есть компьютер в локальной сети, который может SMTP и POP для учетных записей, размещенных на нем. Сам сервер может отправлять электронную почту как локальным (например, с заданий cron), так и пользователям домена.

Давайте назовем этот "сервер".

Теперь мне нужно настроить существующий сервер CentOS (v5) для отправки его локальных (cronjob) электронных писем (сценарии используют sendmail), а также сценариев php, чтобы можно было отправлять электронные письма (но обычно они настраивают smtp user/pass, так что это должно быть хорошо, я еще не зашел так далеко)

Давайте назовем это "клиент".

На "клиенте" я настроил пустую клиентскую функцию sendmail, основываясь на этом: http://www.faqs.org/docs/securing/chap22sec177.html

В null.mc есть только эти 4 строки с измененным доменом на мой (давайте воспользуемся example.com)

OSTYPE('linux')dnl
DOMAIN('generic')dnl
FEATURE('nullclient','example.com')dnl
undefine('ALIAS_FILE')dnl

В /etc /hosts есть строка для сопоставления example.com с IP-адресом локальной сети "сервера". (Пинг отвечает правильно). Кроме того, telnet на порт 25 подключается и отвечает правильно.

Я тогда выпустил

#sendmail -v root@example.com < /tmp/email.txt

где результат

root@example.com... Connecting to [127.0.0.1] via relay...
root@example.com... Deferred: Connection refused by [127.0.0.1]

Может быть, глупый вопрос, но почему он пытается подключиться к localhost вместо example.com в локальной сети? Разве мне не нужна конфигурация с нулевым клиентом? Или я скучаю по некоторым вещам, не описанным в учебниках?

Спасибо.

1 ответ1

0

Я не могу помочь вам настроить весь сервер, так как я не настраивал подобные вещи раньше, но ваш вопрос о том, почему он подключается к 127.0.0.1, я могу немного рассказать о нем.

sendmail - это почтовый клиент, который вызывается так, как вы его назвали. Представьте, что он работает так же, как Thunderbird или Outlook - ему все еще нужно подключиться к MTA для отправки электронного письма.

В этом случае MTA (почтовый сервер) является одним и тем же сервером - его адрес 127.0.0.1.

Вы увидите ту же «странность», если отправите электронное письмо на адрес, настроенный на сервере, с внешнего адреса электронной почты - оно будет получено на «публичном» ip сервера, соединение с 127.0.0.1 обратно на 127.0 .0.1 для фазы «доставки» транзакции.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .