У меня проблема с 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