Вы хотите подключить к интернет компьютер с 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''.