Отправка электронной почты с компьютеров локальной сети на локальный почтовый сервер

613
ciuly

Начну со слов: я не уверен, что именно мне нужно. Я гуглил на «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 в локальной сети? Разве мне не нужна конфигурация с нулевым клиентом? Или я скучаю по некоторым вещам, не описанным в учебниках?

Спасибо.

0
Я действительно рекомендую использовать более современную почтовую программу на «клиенте». Настройка sendmail может быть PITA. dirkt 7 лет назад 0
если под «современным» вы подразумеваете приложение с графическим интерфейсом, то об этом не может быть и речи, поскольку «клиент» на самом деле представляет собой серверную коробку, поэтому на нем нет рабочего стола. Если вы имеете в виду что-то еще, приведите пример, чтобы я мог попробовать. ciuly 7 лет назад 0
Я фактически не знаю никакой замены sendmail с GUI, и я сомневаюсь, что такая вещь существует. Более современными почтовыми программами являются, например, `exim`,` qmail` или `postfix`. Например, в Debian exim используется по умолчанию. dirkt 7 лет назад 0

1 ответ на вопрос

0
djsmiley2k

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

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

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

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

Часть, которую я не получаю, - это то, что я указал функцию nullclient для хоста. Я ожидаю, что MTA будет таким хостом, нет? Thunderbird для ex требует полной конфигурации user / pass / host / port /, а что нет, я ожидал увидеть похожую вещь для моего сценария, но ее там нет. Понимая, что для подключения к нему нужен адаптер MTA, почему он выбирает localhost вместо настроенного хоста? ciuly 7 лет назад 0

Похожие вопросы