Ubuntu 12.04 64비트 시스템에서 sendmail을 구성했습니다. Perl 스크립트를 통해 이메일을 보낼 때 다음 오류가 발생합니다.
dsn=5.0.0, stat=Service unavailable
이메일이 전송되지 않았습니다. 다른 컴퓨터를 확인해 보니 이메일을 보내고 설계된 대로 작동하고 있습니다 dsn=2.0.0, stat=sent
.
올바른 기능을 얻으려면 어떻게 작동시키거나 설정을 변경해야 합니까?
로그는 다음과 같습니다
Sep 2 17:38:12 mail sendmail[5522]: r82C8CpE005522: from=root, size=148, class=0, nrcpts=1, msgid=<[email protected]>, relay=root@localhost
Sep 2 17:38:13 mail sm-mta[5523]: r82C8CtA005523: from=<[email protected]>, size=373, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Sep 2 17:38:13 mail sendmail[5522]: r82C8CpE005522: [email protected], ctladdr=root (0/0), delay=00:00:01, xdelay=00:00:01, mailer=relay, pri=30148, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (r82C8CtA005523 Message accepted for delivery)
Sep 2 17:38:16 mail sm-mta[5525]: STARTTLS=client, relay=gmail-smtp-in.l.google.com., version=TLSv1/SSLv3, verify=FAIL, cipher=DES-CBC3-SHA, bits=168/168
Sep 2 17:38:19 mail sm-mta[5525]: r82C8CtA005523: to=<[email protected]>, ctladdr=<[email protected]> (0/0), delay=00:00:06, xdelay=00:00:06, mailer=esmtp, pri=120373, relay=gmail-smtp-in.l.google.com. [173.194.79.27], dsn=5.0.0, stat=Service unavailable
Sep 2 17:38:19 mail sm-mta[5525]: r82C8CtA005523: r82C8JtA005525: DSN: Service unavailable
Sep 2 17:38:19 mail sm-mta[5525]: r82C8JtA005525: to=<[email protected]>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30000, dsn=2.0.0, stat=Sent
etc/mail/액세스는
Connect:localhost RELAY
GreetPause:localhost 0
ClientRate:localhost 0
ClientConn:localhost 0
Connect:127 RELAY
GreetPause:127 0
ClientRate:127 0
ClientConn:127 0
Connect:IPv6:::1 RELAY
GreetPause:IPv6:::1 0
ClientRate:IPv6:::1 0
ClientConn:IPv6:::1 0
# Defaults
GreetPause: 5000
ClientRate: 10
ClientConn: 10
Spam:postmaster@ FRIEND
Spam:abuse@ FRIEND
Spam:spam@ FRIEND
#Connect:0 REJECT whilst invalid, this also blocks sendmail -bs -Am
Connect:169.254 REJECT
Connect:192.0.2 REJECT
Connect:224 REJECT
Connect:255 REJECT
답변1
DSN 5 "서비스를 사용할 수 없음"은 일반적으로 확장된 DSN 알림으로 인해 발생합니다. 다음을 예로 들어보겠습니다.
220 banner-something-something
EHLO mailer.example.com
250-banner response
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-STARTTLS
MAIL FROM: [email protected]
250 2.1.0 Sender ok
RCPT TO: [email protected]
250 2.1.5 Recipient ok
DATA
550-5.7.1 [10.10.10.10] Mail from this IP has been blacklisted due to user
550-5.7.1 complaints. Please visit our website to get de-listed
554 5.0.0 Service unavailable
이 시점에서 DSN에 대한 특정 작업을 수행하는 것은 보내는 클라이언트의 책임입니다. 확장 DSN을 지원하는 모든 항목은 550개 행을 모두 포함하는 바운스를 생성합니다. 이를 지원하지 않는 항목(및 일부 서버의 과도한 로깅)은 554줄만 표시합니다.
이 줄은 생성되는 바운스를 보여줍니다(r82C8JtA005525).
Sep 2 17:38:19 mail sm-mta[5525]: r82C8CtA005523: r82C8JtA005525: DSN: Service unavailable
즉시 확인하고 싶은 것 중 하나는 sm-mta의 HELO가 기본 sendmail과 동일한지 확인하는 것입니다. 이 시점에서 sendmail 인스턴스는 메일 루프가 존재한다고 가정하고 메시지를 거부합니다.
그 외에도 바운스를 확인하거나 패킷 캡처를 가져와 Wireshark를 통해 실행하여 정확히 무엇이 앞뒤로 전달되는지 확인하세요.
답변2
나는 비슷한 상황에 처해있었습니다. 여기서 문제는 이 줄에 있습니다.
Sep 2 17:38:19 mail sm-mta[5525]: r82C8CtA005523: to=<[email protected]>, ctladdr=<[email protected]> (0/0), delay=00:00:06, xdelay=00:00:06, mailer=esmtp, pri=120373, relay=gmail-smtp-in.l.google.com. [173.194.79.27], dsn=5.0.0, stat=Service unavailable
터미널을 사용하여 이메일을 보낼 수 있는지 확인하고 오류 로그에 차이점을 기록해 두십시오.
DNS 문제일 수 있습니다. 메일 서버가 올바른 DNS 서버를 가리키고 있는지 /etc/resolv.conf
, DNS 서버가 서비스를 제공하는 도메인에 대해 올바른 MX 주소를 반환하는지 확인하세요.
답변3
나는 이것이 오래되었다는 것을 알고 있지만 방금 직면한 것과 동일한 문제가 있는 이 스레드를 접한 사람이 있다면, 나에게 문제는 Google이 "비정상적인 활동"을 차단했다는 것입니다. Google 계정을 확인하세요여기의심스러운 로그인이 있으면 확인하세요.
답변4
AWS SES를 사용하여 이메일을 보내고 있습니다. 보내는 이메일 헤더의 보낸 사람 이메일 주소 도메인이 AWS에서 확인되지 않았기 때문에 이 오류가 발생합니다. 참고하세요[이메일 보호됨]mail.log의 "from"은 이메일 헤더의 "from"과 다를 수 있습니다.