У меня sendmail установлен на сервере под управлением Ubuntu 10.04. Мне нужно иметь возможность отправлять электронную почту на почтовый сервер моей компании с этого компьютера, но в настоящее время я не могу это сделать. Представитель отдела IP определил, что моя проблема заключалась в том, что IP-адрес, который мой сервер разрешает для почтового сервера компании, является внешним адресом, и мне нужно подключиться к его внутреннему адресу (из-за того, как настроены правила маршрутизации). Он дал мне IP-адрес, к которому мне нужно подключиться, и проинструктировал меня настроить mail.mycompany.com для разрешения на этот IP-адрес. Как мне этого добиться? (Я пробовал / etc / hosts, но очень быстро обнаружил, что это не работает для sendmail).
Вы можете проверить, что резолвер дает почтовому серверу, используя команду getent hosts mail.example.com
используя свой почтовый сервер вместо mail.example.com. Если это не дает правильного результата, sendmail тоже этого не сделает. Также попробуйте команду host -a example.com
чтобы узнать, какой адрес почтового сервера вы получаете от DNS. Он должен вернуть внутренний почтовый сервер.
Также возможно, что внешний IP-адрес жестко запрограммирован в конфигурации sendmail. Проверьте файл конфигурации на внешний адрес почтового сервера. Если я правильно помню, это должно /etc/sendmail.conf
.
Проверьте свои изменения в /etc/hosts
сделать это. Убедитесь, что хосты входят в /etc/nsswitch.conf
есть файлы, перечисленные перед DNS. Начать сначала nscd
после внесения изменений в /etc/hosts
. Затем повторно запустите команду genent выше. Строка hosts должна выглядеть так:
192.0.2.5 mail.example.com
Есть ли причина, по которой вы используете sendmail, а не postfix или exim?