sendmail을 사용하면 보내는 모든 메일을 / dev / null로 보내거나 전자 메일이 대기열에 들어가거나 전혀 보내지 못하게하려면 어떻게합니까?
개발 nagios 상자에서 메일이 발송되지 않도록 알림이 발송되지 않도록하고 싶습니다. 발신 메일을 중지하면 nagios 구성을 그대로 테스트하고 허위 알림을 방지 할 수 있습니다.
답변
sendmail을 완전히 비활성화하고 간단한 perl 스크립트가 SMTP 포트에서 수신 대기하고 이메일을 디렉토리에 덤프하여 개발 상자 에서이 작업을 수행했습니다. sendmail 구성으로 할 수 있다고 확신하지만 perl 스크립트가 훨씬 쉽습니다. 다음은 필수 사항으로 요약되었습니다.
#!/usr/bin/perl -w
use Net::SMTP::Server;
use Net::SMTP::Server::Client;
$server = new Net::SMTP::Server || die("$!\n");
while($conn = $server->accept()) {
my $client = new Net::SMTP::Server::Client($conn) ||
die("Unable to handle client connection: $!\n");
$client->process || next;
# Here's where you can write it out or just dump it. Set $filename to
# where you want to write it
open(MAIL,"> $filename") || die "$filename: $1";
print(MAIL "$client->{MSG}\n");
close(MAIL);
}
답변
다음은 모든 것을 / dev / null로 보냅니다.
LOCAL_RULE_0
R$* < @ $* > $* $#local $: bit-bucket
이것은 / etc / aliases에서 다음을 가정합니다.
bit-bucket: /dev/null
답변
리눅스에서 사용 가능한 smtp-sink를 사용해보십시오
$ smtp-sink -u postfix -c nynode.com:25 1000