Назад | Перейти на главную страницу

Настройка sendmail для использования исключительно одного исходящего MTA

У меня проблема с sendmail, и я совсем не гуру sendmail - мне нужна помощь.

Моя проблема в том, что у меня есть система, которая должна быть более или менее «устройством», а не администратором. Из-за этого он должен иметь возможность «позвонить домой», отправив электронное письмо. Как мы его настроили, это работает нормально - используя sendmail, он находит подходящий ретранслятор, просматривая запись MX, и все работает нормально.

Однако теперь из соображений безопасности мы хотим ограничить его использованием ровно один реле, так например relay.corp.example.com. Если пользователь настроит его для использования, скажем, fubar.example.com, отправка почты должна завершиться ошибкой или быть отложенной.

Я думал, что настроив sendmail с /etc/mail/server.switch файл, содержащий

hosts   files

без dns, Я бы получил такой эффект. Это не работает - вместо этого, если он получает почту, адресованную foo@example.com, он пытается поговорить напрямую с example.com, и игнорирует настроенный сервер.

Любые идеи?

Обновить

Ладно, я экспериментально связал обе схемы, и обе вроде работают. Хотел бы я отметить их оба правильно.

Вы используете m4 для создания своего sendmail.cf? Если да, вам следует добавить

define(`SMART_HOST',`relay.corp.example.com')

на ваш sendmail.mc и возроди свой sendmail.cf. Похоже на добавление

DSrelay.corp.example.com

прямо к sendmail.cf тоже сделает свое дело.

Вот файл M4 для системы SuSE для простой пересылки ВСЕЙ электронной почты на хост-ретранслятор.
(Он также включен в дистрибутив SuSE). Вы просто выполняете m4 x.mc> x.cf, где x.mc - это файл ниже, а x.cf - это файл для замены вашего файла sendmail.cf (обычно в /etc/sendmail.cf или / etc / mail / sendmail.cf).

 divert(-1)
 #
 # Copyright (c) 1999 SuSE GmbH Nuernberg, Germany.
 # Copyright (c) 2006 SuSE LINUX Products GmbH, Germany.
 # Author: Werner Fink
 # Please send feedback to http://www.suse.de/feedback/
 #
 # This is a special case -- it creates a stripped down configuration
 # file containing nothing but support for forwarding all mail to a
 # central hub via a local SMTP-based network.  The argument is the
 # name of that hub.
 #

 include(`/usr/share/sendmail/m4/cf.m4')
 divert(0)dnl
 VERSIONID(`@(#)Setup for SuSE Linux     0.2 (SuSE Linux) 2002/01/14')
 dnl
 dnl  This is the default configuration for SuSE Linux.
 dnl  See /usr/share/sendmail/ostype/suse-linux.m4
 dnl  and /usr/share/sendmail/README for more information.
 dnl
 OSTYPE(`suse-linux')dnl
 dnl
 dnl  A stripped down configuration. Replace the mailhub.domain.notused
 dnl  with your real mailhub.
 dnl
 FEATURE(`nocanonify')dnl
 FEATURE(`nullclient', `relay.corp.example.com')dnl
 dnl
 dnl  This line is required for formating the /etc/sendmail.cf
 dnl
 LOCAL_CONFIG