
내 sendmail 구성 파일에 릴레이 서버의 이름을 제공해야 합니다. 그러나 이 서버 이름은 다른 시스템/응용 프로그램을 통해 구성할 수 있습니다.
변경사항이 있는 경우 이 파일의 서버 이름을 변경하고 sendmail을 다시 시작해야 합니다.
또한, sendmail.mc 파일이 변경될 때마다 컴파일하는 옵션도 없습니다.
sendmail에 서버 이름에 대한 다른 파일을 읽거나 포함하도록 요청할 수 있습니까? 이 파일에는 시스템에 구성된 서버의 이름이 포함됩니다.
다음과 같습니다: include("./severname.conf");
여기서 servername.conf에는 릴레이가 수행되어야 하는 서버의 이름이 있습니다.
가능합니까?
답변1
스마트 호스트는 매크로 $S
이므로 다음과 같은 일련의 명령이 필요합니다.
cd /etc/mail
cp sendmail.cf sendmail.cf.old
sed -e 's/^DSold.host.name/DSnew.host.name/' sendmail.cf.old > sendmail.cf
그런 다음 sendmail을 다시 시작하십시오.
답변2
스마트 호스트 대신 mailertable의 기본 경로를 사용할 수 있습니다.FEATURE(메일러 테이블). 상담/이용됩니다~ 전에스마트 호스트 => 스마트 호스트보다 우선 적용됩니다.
기본 경로에 대한 메일러 가능 파일 항목(키는 "단일 점"):
. relay:smart-host.example.net
Sendmail은 프로그램을 사용하여 컴파일된 파일 버전을 사용합니다 makemap
. sendmail
로 다시 컴파일한 후에 는 데몬을 다시 시작할 필요가 없습니다 makemap
.
테스트 방법:
sendmail -C/etc/mail/sendmail-test.cf -d60.5 -bv [email protected]
-C file
- 대체 구성 파일 사용
-d60.5
- 추적 지도 조회 켜기(메일러 가능 지도 포함)