sendmail 서비스를 중지하고 postfix를 시작했습니다. Sendmail이 여전히 이메일 로그에 표시되나요?

sendmail 서비스를 중지하고 postfix를 시작했습니다. Sendmail이 여전히 이메일 로그에 표시되나요?

이 서버에는 sendmail과 postfix가 모두 설치되어 있습니다. Sendmail이 실행되고 있지만 제대로 작동하지 않습니다. sendmail 서비스를 중지하고 postfix를 시작했습니다. 포트 25에서 수신 대기 중인 출력을 확인하여 postfix만 실행 중인지 확인했습니다.

lsof -i :25
COMMAND    PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME

master  119640 root   12u  IPv4 28103863      0t0  TCP localhost:smtp (LISTEN)

master  119640 root   13u  IPv6 28103864      0t0  TCP localhost:smtp (LISTEN)

그런 다음 메일 보내기를 테스트합니다.

echo "My message" | mail -s testing [email protected]

루트의 받은 편지함에 도착하지 않습니다. 그래서 /var/log/maillog의 로그를 살펴보고 sendmail이 여전히 사용되고 있음을 확인합니다.

Feb 26 16:18:13 server sendmail[1582]: w1QLIC8N001582: [email protected], ctladdr=root (0/0), delay=00:00:01, xdelay=00:00:01, mailer=relay, pri=30233, relay=exchangeserver.domain. [x.x.x.x], dsn=2.0.0, stat=Sent (<201802262118.w1QLIC8N001582@[email protected]> Queued mail for delivery)

이것이 어떻게 가능한지?

답변1

메일을 배달하기 위해 프로그램 mail이 실행됩니다 sendmail(클라이언트 모드에서는 프로세스에서 수신 대기 포트가 열려 있지 않습니다). 읽기매뉴얼 페이지자세한 정보를 보려면. 변수 를 설정하여 MDA를 변경할 수 있습니다 sendmail.

메일을 보내다

대체 메일 배달 시스템을 사용하려면 이 옵션을 사용할 프로그램의 전체 경로 이름으로 설정하십시오. 이는 주의해서 사용해야 합니다.

$ sendmail=/usr/bin/someothersendmail mail [email protected]
Subject: asdf
... and so on

그러나 메일은 MDA가 sendmail의 옵션을 인식할 것으로 기대하므로 실제로는 이를 사용하지 않습니다.

또 다른 가능성은외부 SMTP 서버대신에 sendmail.

$ echo "This is the message body and contains the message" | mailx -v \
> -r "[email protected]" \
> -s "This is the subject" \
> -S smtp="mail.example.com:587" \
> -S smtp-use-starttls \
> -S smtp-auth=login \
> -S smtp-auth-user="[email protected]" \
> -S smtp-auth-password="abc123" \
> -S ssl-verify=ignore \
> [email protected]

답변2

crontab이 로그 줄은 TCP 포트 25를 수신하는 어떤 것에서 나온 것이 아닙니다. 루트가 sendmail을 통해 직접 메일을 제출하는 것처럼 보입니다 . 또는 비표준 루트 소유 백그라운드 프로세스입니다.

관련 정보