Вы, видимо, обнаружили, что хост, к которому вы обратились, оказался на самом деле в другом домене; например, если вы находитесь в домене foo.bar.edu и хотите обратиться к хосту mumble в домене bar.edu, то должны указать его полное доменное имя, mumble.bar.edu, а не просто mumble.
Традиционно, программа разрешения имен BSD BIND позволяла это делать. Однако, текущая версия BIND, поставляемая с FreeBSD, больше не добавляет имена доменов, отличающихся от того, в котором вы находитесь, для не полностью указанных имен хостов. То есть, имя mumble будет опознан как mumble.foo.bar.edu или будет искаться в корневом домене.
Это отличается от предыдущего поведения, при котором поиск продолжался в доменах mumble.bar.edu и mumble.edu. Если вам интересны причины объявления такого поведения плохой практикой и даже ошибкой в безопасности, обратитесь к RFC 1535.
Хорошим решением будет поместить строку
search foo.bar.edu bar.eduвместо ранее используемой:
domain foo.bar.eduв файл /etc/resolv.conf. Однако удостоверьтесь, что порядок поиска не нарушает ''границ полномочий между локальным и внешним администрированием'', в терминологии RFC 1535.
В FAQ по sendmail дан следующий ответ:
Я получаю такие сообщения об ошибке: 553 MX list for domain.net points back to relay.domain.net 554 <[email protected]>... Local configuration error Как можно решить эту проблему? Согласно записям MX, почта для домена domain.net перенаправляется на хост relay.domain.net, однако последний не распознается как domain.net. Добавьте domain.net в файл /etc/mail/local-host-names [известный как /etc/sendmail.cw до версии 8.10] (если вы используете FETURE(use_cw_file)) или добавьте ''Cw domain.net'' в файл /etc/mail/sendmail.cf.
FAQ по sendmail можно найти на http://www.sendmail.org/faq/ и рекомендуется прочесть его при желании произвести некоторые ''усовершенствования'' настроек почтовой системы.
Вы хотите подключить к интернет компьютер с FreeBSD, работающий в локальной сети. Компьютер с FreeBSD будет почтовым шлюзом для локальной сети. PPP соединение не выделенное.
Существует как минимум два пути, чтобы сделать это. Один способ это использование UUCP.
Другой способ это использование постоянно работающего интернет сервера для обеспечения вторичного MX сервиса вашего домена. Например, домен вашей компании example.com, и провайдер интернет настроил example.net для обеспечения вторичного MX сервиса:
example.com. MX 10 example.com. MX 20 example.net.
Только один хост должен быть указан в качестве последнего получателя (добавьте запись Cw example.com в файл /etc/mail/sendmail.cf на машине example.com).
Когда программа sendmail (со стороны отправителя) ''захочет'' доставить почту, она попытается соединиться с вашим хостом (example.com) через модемное подключение. Скорее всего, ей это не удастся (вы, вероятнее всего, не будете подключены к интернет). Программа sendmail автоматически перейдет ко вторичному MX серверу, т.е. вашему провайдеру (example.net). Вторичный MX сервер будет периодически пытаться соединиться с вашим хостом и доставить почту на основной сервер MX (example.com).
Вы можете воспользоваться следующим сценарием, чтобы забирать почту каждый раз, когда вы входите в систему:
#!/bin/sh # Put me in /usr/local/bin/pppmyisp ( sleep 60 ; /usr/sbin/sendmail -q ) & /usr/sbin/ppp -direct pppmyisp
Если же вы хотите написать отдельный пользовательский скрипт, лучше воспользоваться командой sendmail -qRexample.com вместо вышеприведенного сценария, так как в этом случае вся почта в очереди для хоста example.com будет обработана немедленно.
Рассмотрим эту ситуацию подробнее:
Вот пример сообщения из freebsd-isp.
> Мы предоставляем вторичный MX для наших клиентов. Вы соединяетесь
> с нашим сервером несколько раз в день, чтобы забрать почту для вашего
> первичного (главного) MX (мы не соединяемся с ним каждый раз, когда
> приходит новая почта для его доменов). Далее, sendmail отправляет
> почту, находящуюся в очереди каждые 30 минут, и клиент должен быть
> подключен к Интернет в течении 30 минут, чтобы удостовериться, что
> вся почта ''ушла'' на основной MX-сервер.
>
> Может быть, есть какая-либо команда, которая заставит sendmail
> немедленно отправить все почту, находящуюся в очереди? Естественно,
> пользователи не обладают какими-либо повышенными привилегиями на
> нашем сервере.
В разделе ''privacy flags'' файла
sendmail.cf, определяется опция
Opgoaway,restrictqrun
Уберите restrictqrun, чтобы разрешить рядовым
пользователям инициировать работу с очередью. Вам также может понадобиться
изменить порядок MX-серверов. Так, если вы предоставляете первый (основной)
MX-сервер для ваши пользователей, мы указываем:
# If we are the best MX for a host, try directly instead of generating
# local config error.
OwTrue
Таким образом, удаленный хост будет доставлять почту непосредственно к вам,
не пытаясь установить соединение с клиентом. Затем уже вы, в свою очередь,
отсылаете ее клиенту. Удостоверьтесь, что в DNS есть записи про
''customer.com'' и ''hostname.customer.com''. Просто
добавьте запись A в DNS для ''customer.com''.
В установке FreeBSD по умолчанию, sendmail настроен для отправки почты только от хоста, на котором он работает. Например, если доступен POP сервер, пользователи смогут проверять почту из школы, с работы или других удаленных точек, но не смогут отправлять письма. Обычно, через некоторое время после попытки будет отправлено письмо от MAILER-DAEMON с сообщением об ошибке “5.7 Relaying Denied”.
Есть несколько путей разрешения этой ситуации. Самый прямой путь это использование адреса вашего провайдера в файле relay-domains, расположенном в /etc/mail/relay-domains. Быстрый способ сделать это:
# echo "your.isp.example.com" > /etc/mail/relay-domains
После создания или редактирования этого файла вы должны перезапустить sendmail. Это отлично работает, если вы администратор сервера и не хотите отправлять почту локально, или хотите воспользоваться почтовым клиентом/системой на другом компьютере или даже через другого провайдера. Это также очень полезно, если у вас настроены одна или две почтовые записи. Если необходимо добавить несколько адресов, вы можете просто открыть этот файл в текстовом редакторе и добавить домены, по одному на строку:
your.isp.example.com other.isp.example.net users-isp.example.org www.example.org
Теперь будет отправляться любая почта, посылаемая через вашу систему любым хостом из этого списка (предоставляемого пользователем, имеющим учетную запись в вашей системе). Это отличный способ разрешить пользователям отправлять почту через вашу систему удаленно, одновременно он блокирует отправку спама.
Пред. | Начало | След. |
Установка другой почтовой программы | Уровень выше | Расширенное руководство |
Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <[email protected]>.
По вопросам, связанным с этой документацией, пишите <[email protected]>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <[email protected]>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.