Если вам выделен статический IP-адрес, вам не нужно ничего менять. Установите имя вашего хоста в соответствии с выделенным именем DNS, а sendmail сделаёт всё остальное.
Если ваш IP-адрес выделяется динамически при коммутируемом
соединении по ppp с Internet, может быть, вам выделен почтовый
ящик на сервере провайдера. Предположим, что домен вашего
провайдера называется myISP.com
, а ваше имя пользователя
user
. Также положим, что вы назвали вашу машину bsd.home
и
что ваш провайдер сказал, что вы должнв использовать
relay.myISP.com
как почтовый шлюз.
Чтобы забирать почту из вашего почтового ящика, вам нужно установить
соответствующий агент. Хорошим агентов является fetchmail, так
как он поддерживает много различных протоколов. Обычно провайдеры
предлагают POP3. Если вы используете user-ppp, вы можете
автоматически забирать вашу почту при установлении соединения с
Internet, добавив такую строку в /etc/ppp/ppp.linkup
:
MYADDR: !bg su user -c fetchmail
Если вы используете sendmail
(как показано ниже) для
доставки почты для внешних пользователей, поместите команду
!bg su user -c "sendmail -q"
после вышеуказанной строки. Это заставит sendmail обработать вашу очередь почтовых сообщений, как только будет осуществлено подключение к сети.
Предположим, что вы имеет учётную запись для user
на машине
bsd.home
. В домашнем каталоге пользователя user
на машине
bsd.home
создайте такой файл .fetchmailrc
:
poll myISP.com protocol pop3 fetchall pass MySecret;
Излишним будет напоминание о том, что этот файл никому не должен
быть доступен для чтения, кроме пользователя user
, потому что
он содержит пароль MySecret
доступа к почтовому ящику.
Чтобы посылать почту с правильным заголовком from:, вы должны
указать программе sendmail использовать user@myISP.com
, а не
user@bsd.home
. Вам может понадобиться настроить sendmail для
посылки всей почты через relay.myISP.com
, чтобы убыстрить её
передачу.
Следующий файл .mc
должен подойти:
VERSIONID(`bsd.home.mc version 1.0') OSTYPE(bsd4.4)dnl FEATURE(nouucp)dnl MAILER(local)dnl MAILER(smtp)dnl Cwlocalhost Cwbsd.home MASQUERADE_AS(`myISP.com')dnl FEATURE(allmasquerade)dnl FEATURE(masquerade_envelope)dnl FEATURE(nocanonify)dnl FEATURE(nodns)dnl define(SMART_HOST, `relay.myISP.com') Dmbsd.home define(`confDOMAIN_NAME',`bsd.home')dnl define(`confDELIVERY_MODE',`deferred')dnl
В предыдущем разделе описано, как преобразовать файл .mc
в
sendmail.cf
. И не забудьте перезапустить sendmail после
обновления sendmail.cf.