У меня есть быстрый вопрос. Как настроить postfix для отправки электронного письма на другой сервер (сервер Exchange) при отправке на адрес электронной почты, который имеет поддомен нашего основного сервера. Например, предположим, что наш главный сервер - mail.example.com, и у нас есть сервер Exchange, настроенный для получения писем с exchange.example.com. У нас есть настроенные записи MX в нашем DNS, и они правильно принимаются, если мы отправляем из учетной записи GMail. Однако, когда мы пытаемся отправить электронное письмо из учетной записи @ example.com, мы получаем следующую ошибку:
Host or domain name not found. Name service error for name=exchange.example.com type=A: Host not found
Я считаю, что Postfix сначала проверяет локальные почтовые ящики, и если его настройка с доменом, он доставляет локальную учетную запись, но в этом случае учетные записи поддомена расположены на другом сервере. У кого-нибудь есть мысли о том, что мне нужно делать в Postfix, чтобы он не искал локально почтовые ящики exchange.example.com?
Я нашел директиву relay_domains в Postfix, но, похоже, это не исправляет ее, когда я добавляю поддомен.
Спасибо за вашу помощь.
Похоже, вы пытаетесь настроить шлюз SMTP и не хотите открывать доступ к вашему серверу Exchange для «внешней» сети, верно? Потому что обычно я просто настраивал соответствующие записи MX для домена.
Postfix, по замыслу, не принимает почту для иностранных доменов, но postfix не будет postfix, если это невозможно. Это просто требует, чтобы вы проделали немного больше работы, например, сообщив postfix, какие адреса электронной почты действительны (естественно, он не может определить это самостоятельно для поддомена). Это хорошо объяснено здесь: http://www.knowplace.org/pages/howtos/smtp_gateway_for_multiple_domains_with_postfix.php
relay-domains действительно правильный параметр, но это еще не все, что вам нужно.
Бегать postconf parent_domain_matches_subdomains
и проверьте, присутствует ли relay_domains; если это так, добавьте строку в main.cf и удалите relay_domains из списка (или полностью отключите параметр, но убедитесь, что вы понимаете последствия).
Ошибка указывает на то, что exchange.example.com не существует в DNS. Чтобы postfix мог найти сервер обмена, он должен иметь возможность преобразовать доменное имя exchange.example.com в IP-адрес, чтобы он знал, куда его направить.