IIS / SMTP-이메일이 메일 루트 / 큐에 멈춤


25

IIS 픽업 디렉터리 내에서 SMTP를 통해 전자 메일을 보내려고합니다. 불행히도 전자 메일은 mailroot / queue 폴더로 이동하여 그대로 유지됩니다. 그들은 실제로 전송되지 않습니다.

왜 이런 일이 발생하고 문제를 해결할 수 있는지 알고 있습니까?


1
나는 같은 문제를 겪었지만 특정 대상 도메인 / 서버에서만 발생하는 것으로 나타났습니다. 즉, 작업 주소 (Exchange 서버)를 사용하여 자신 / 동료에게 이메일을 보내고 메일은 대기열에 있습니다. 실수로 개인 Gmail 계정으로 하나를 보냈으며 문제없이 전송되었습니다. 이후에 대상 및 메일이 제대로 전송 된 상태로 핫메일 및 다른 Exchange 서버로 테스트되었습니다. 그러나 문제가 무엇인지 알아 내기 위해 여전히 비슷한 문제가있는 사람은 이것을 확인하는 것이 좋습니다!
Matt

@MatthewSwain 나는 여기서 똑같은 것을보고 있습니다. 수천 개가 아닌 수백 개의 메일이 성공적으로 발송되었지만 현재 53 개의 메일이 대기열에 있습니다. 그들은 모두 특정 수신자 / 도메인을위한 것 같습니다.
Zero3

답변:


18

파일이 대기열에 갇히는 것과 비슷한 문제가 있습니다. IIS 관리자에서 SMTP 가상 서버> 특성> 전달> 아웃 바운드 연결. 에 대한 옵션 Limit number of connections to이 확인되었으며 값은 0입니다. 따라서 아웃 바운드 연결을하지 않도록 구성되어 이메일이 서버를 떠나지 않습니다. 옵션을 선택 취소하고 SMTP 서버를 다시 시작했는데 모두 정상입니다.


이것의 좋은 캐치.. 그러나 나는 그 옵션을 확인하기 위해 처음에 그 창으로가는 것을 기억하지 못한다.
krilovich

이것은 오늘날 우리에게 일어났습니다. "일반"탭에서 설정을 변경하고 "연결 수 제한"이 확인되었으며 "0"도 있습니다. 이로 인해 "아웃 바운드 연결"설정도 변경되었습니다.
트래비스

7

오늘이 문제가있었습니다.

'SMTP (Simple Mail Transfer Protocol)'서비스를 다시 시작한 후 다시 작동하기 시작했습니다.


4

단지 기록을 위해 : 우리는 DNS 설정이 잘못되어 서버가 더 이상 이름을 확인할 수없는 경우가있었습니다. 결과 동작은 정확히 당신이 설명한 것입니다.


1
DNS 문제는 무엇입니까?
Shaamaan

필자의 경우 도메인 컨트롤러를 다시 시작해야했습니다. 어떤 이유로 든 특정 고객에게 보내는 이메일이 통과되지 않았습니다. 우리는 클라이언트와 동일한 도메인 설정을 가진 상자를 호스트하여 이것이 왜 이런 일이 발생하는지에 대한 단서를 제공하고 주기적으로 발생합니다 ... 운율이나 이유가 없습니다 .. HTH
Dave

1

IISRESET이이 문제를 해결했습니다. 이 서비스는 IIS에 의존하기 때문에 SMTP 서비스를 재설정하는 솔루션과 비슷하다고 생각합니다. C : \ inetpub \ mailroot \ Queue 내부의 메일이 다시 시작된 후 사라지기 시작했습니다!


1

최근 에이 문제가 발생했습니다. 필자의 경우 네트워크 어댑터의 DNS 서버 정의에 문제가있는 것으로 나타났습니다 (이것은 나에게 알려지지 않은 두 가지 이유가 있습니다). 지정된 DNS 서버가이 네트워크에서 일반적으로 사용되는 일반 "8.8.8.8"대신 "127.0.0.1"로 설정되었습니다. 이 값을 올바른 값으로 변경하고 SMTP 서버를 다시 시작하면 대기중인 전자 메일이 즉시 배포되었습니다.

DNS 정의 문제를 조사하기 위해 어떻게 알았습니까?

  • 테스트 할 MX 서버를 찾기 위해 nslookup을 사용했습니다 (5 또는 6 개의 서로 다른 서버에서 테스트 됨)
  • 서버에 telnet을 시도했습니다 (방화벽 문제를 처음으로 생각하게하는 "연결할 수 없음"메시지가 표시 될 때마다)
  • 테스트 한 mx 서버의 값을 핑하려고했습니다 ( "호스트에 연결할 수 없습니다"라는 메시지가 나타날 때마다)

바라건대 이것은 다른 사람을 도울 것입니다. 내가 처음 보았을 생각이 아니 었습니다.


0

필자의 경험으로는 일반적으로 IIS SMTP에서 일시적인 (4xx 응답 코드) 오류를 보내려고했기 때문에 발생합니다. IIS SMTP 서비스에 대한 로깅을 설정하고 로그를 검토 했습니까? 그것이 모두 명백한 경우 미안하지만, 로그가 무엇을 나타내는 지 모른 채 원인이나 해결책을 알기가 어렵습니다.


1
전혀 명확하지 않습니다. 나는 IIS 등에 대해 잘 모른다. [i should] 그러나 나는 주로 시스템 관리자가 아닌 코드에 중점을 둔다. 로그를 설정하는 방법조차 확실하지 않습니다.
Jack Marchetti

내가 본 유일한 것은 이것입니다 : 행동 : 실패 상태 : 5.3.5
잭 Marchetti

로그를 활성화하려면 IIS 6 관리자 (IIS 7을 사용하는 경우에도 SMTP 서비스는 여전히 IIS 6의 일부 임)를 열고 SMTP 서비스 속성을 마우스 오른쪽 단추로 클릭 한 다음 로깅 탭으로 이동하십시오. 로그를 활성화하거나 로그 위치를 찾을 수 있어야합니다.
jlupolt

0

문제는 시스템에서 IPv4와 IPv6간에 혼동이있을 수 있으므로 localhost를 지정하면 기본 IPv6 프로토콜이 선택됩니다. 나는 오늘 같은 문제가 있었고 우연의 일치 일 수도 있었지만 호스트의 IPv6 주소에 대한 localhost 참조가 해시 된 후에 수정되었습니다 (SVN도 설정 중입니다). 그래서 여기에 대비하여 내 설정이 있습니다.

  1. IIS7에서는 localhost를 사용하여 "SMTP 서버로 전달"옵션을 선택한 서버로 사용합니다.
  2. IIS6에서는 127.0.0.1로만 액세스 권한이 설정되어 있으며 수신 또는 발신 인증이 없습니다.

나는 하루 종일 설정에 대해 고민하면서 솔직히 말해서 현재 작동하고있는 사실에 영향을 줄 수있는 것이 무엇인지 확실하지 않습니다. 이것이 조금이라도 도움이되기를 바랍니다.


0

가장 먼저 볼 것은 서버 로그 파일입니다. 서버가 특정 호스트로 전송하는 데 문제가 있는지 알려줍니다. (내 경험상) 이런 일이 발생하는 대부분의 시간은 대개 DNS (최종 또는 원격)의 범인입니다.


0

SMTP 서버가 메일을 보낼 SMTP 호스트 / 게이트웨이를 찾고 있습니다.

localhost로 보내려고하면 localhost IP가 게이트웨이가됩니다. gmail 또는 hotmail과 같은 외부 전자 메일 주소로 보내려는 경우 ISP의 메일 게이트웨이를 스마트 호스트로 추가해야합니다.

스마트 호스트를 설정하려면

  1. IIS 관리자에서 SMTP 가상 서버를 마우스 오른쪽 단추로 클릭 한 다음 속성을 클릭합니다.
  2. 배달 탭을 클릭하고 고급을 클릭하십시오.
  3. 스마트 호스트 상자에 스마트 호스트 서버의 이름을 입력하십시오. 이름을 나타내는 문자열을 입력하거나 IP 주소를 입력 할 수 있습니다.
  4. SMTP 서비스가 원격 메시지를 스마트 호스트 서버로 전달하기 전에 직접 전달하도록하려면 스마트 호스트로 전송하기 전에 직접 전달 시도 확인란을 선택하십시오. 기본값은 직접 전송을 시도하지 않고 모든 원격 메시지를 스마트 호스트로 보내는 것입니다.

0

한 호스트에서 다른 호스트로 전자 메일 서비스를 전환 한 후 동일한 문제가 발생했습니다 (새 호스트는 Office 365 임). 많은 시행 착오 끝에 마침내 다음을 수행하여 작업을 시작했습니다.

  1. "원격"도메인으로 IIS 6에 내 이메일 도메인을 추가하십시오. (이것은 O365에서 호스팅되는 도메인이며 모든 사용자 계정이 사용합니다.)
  2. IIS 6에서 해당 도메인을 두 번 클릭하십시오. "도메인 라우팅"에서 "모든 메일을 스마트 호스트로 전달"을 선택하고 서버 (내 경우에는 "smtp.office365.com")를 입력하십시오. 또한 "수신 메일이이 도메인으로 릴레이되도록 허용"확인란을 선택하십시오.
  3. IIS 6에서 SMTP 가상 서버를 마우스 오른쪽 단추로 클릭하고 속성을 클릭하십시오.
    • 일반 탭 : 고급을 클릭하고 로컬 서버의 IP 및 포트 587을 추가하십시오.
    • 액세스 탭 : "TLS 암호화 필요"가 선택되어 있는지 확인하십시오. 전자 메일 도메인 이름으로 IIS 7에서 도메인 인증서를 만들어야했습니다.
    • 액세스 탭 : 로컬 서버 IP를 "연결"및 "릴레이"목록에 추가하십시오.
    • 배달 탭 : 아웃 바운드 보안 : 기본 인증을 선택하고 유효한 라이센스 사용자의 자격 증명을 입력하십시오. "TLS 암호화"확인란을 선택하십시오
    • 배달 탭 : 아웃 바운드 연결 : TCP 포트에 587을 입력하십시오.
    • 배달 탭 : 고급 : 전자 메일 도메인을 "완전한 도메인 이름"으로, 전자 메일 서버를 "스마트 호스트"(내 경우에는 smtp.office365.com)로 입력하십시오.

방화벽 : 아웃 바운드를 위해 포트 587을 열어야한다는 것을 읽었습니다. (방화벽이 필요한 VOIP 서버이기 때문에 나는 아닙니다.)

Office 365 : 관리> Exchange에서 "커넥터"를 추가하여 로컬 고정 IP를 허용합니다. Microsoft는 이러한 지침을 온라인으로 제공합니다.


0

최근이 문제에 부딪쳤다. 누군가 smtp 서버에 MalwareBytes를 설치했으며 smtp mailroot 폴더가 허용되지 않았습니다. 이 소프트웨어는 대기열의 모든 항목을 잠재적 인 스팸 캠페인으로 간주하여 잘못된 메일로 이동하기에 충분한 시간을 초과했습니다. 모든 도메인이 영향을 받았습니다. 프로세스 실행을보고 mbam의 exe를 발견 할 때까지 나는 당황했다.


-2

나는 같은 문제가 있었다. 다른 사람들이 말했듯이 DNS와 관련이 있습니다. 내부 DNS 서버에 공개 도메인 이름 (내부 도메인 이름과 다른)에 대한 정방향 조회 영역이 있습니다. 이 내부 정방향 조회 영역에 MX 레코드를 추가하여 퍼블릭 도메인 DNS 레코드의 MX 레코드와 일치시켜야했습니다. 문제가 해결되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.