opendkim 수신이 확인되지 않음

opendkim 수신이 확인되지 않음

Debian Wheezy에 postfix와 함께 opendkim을 설치했습니다. 보내는 메일에 DKIM 서명이 적용됩니다. smtpd와 non-smtpd milter 사양은 동일합니다.

수신 메일이 확인되지 않은 것 같습니다. 메일 클라이언트에 인증 결과 헤더가 없습니다. opendkim 구성에 "AlwaysAddARHeader yes"를 추가했지만 차이는 없습니다.

메일 로그에 메시지를 받으면 다양한 항목 중 opendkim이 작성한 항목이 두 개 있습니다. 첫 번째는 서버를 식별하고 "내부가 아님"을 추가합니다(Google인 경우 합리적으로 보입니다). 두 번째는 "인증되지 않음"이라고 표시됩니다. 하지만 인증되지 않은 이유를 알 수 없습니다! 해결책은 어디서 찾을 수 있나요?

답변1

,no_milters콘텐츠 필터 대상의 옵션이 콘텐츠 필터 전후에 milter를 두 번 실행하는 것을 방지하는 것 같습니다 .

옵션을 제거할 수 있습니다 ,no_milters. 결과는 다음과 같습니다.

  • opendkim은 이제 이메일을 확인할 수 있습니다
  • milter는 보내는 메일에서 두 번 실행되므로 메일에 2개의 dkim 서명이 있습니다.

다시 옵션을 얻으면 ,no_miltersopendkim은 이메일에 계속 서명할 수 있지만 이를 확인할 수는 없습니다. amavis를 조금 수정해 보면 amavis가 opendkim과 동일한 ID를 사용한다는 것을 알 수 있는데, 둘 다 준수하는 표준 때문에 이는 놀라운 일이 아닙니다. amavis가 확인 후 추가된 opendkim 헤더를 빈 헤더로 교체한다는 점을 고려하면(실제로는 여전히 메시지 확인을 수행함) opendkim이 메시지를 확인하지 않는 것처럼 보입니다.

따라서 이 헤더가 사라지는 것을 방지하는 두 가지 방법이 있습니다.

  1. 콘텐츠 필터 후에 milter를 실행합니다. 이는 설계상 불가능하다고 생각됩니다.
  2. amavis가 이 헤더를 덮어쓰는 것을 방지

나는 amavis 이전에 milter가 실행되는 것을 방지하고 나중에 실행되도록 허용하는 방법을 찾을 수 없었습니다. 그러나 $myauthservid = "amavis.local";50-사용자 구성 파일의 끝 부분을 다시 정의하면 amavis가 해당 헤더를 다시 작성하는 것을 방지할 수 있습니다 . 적어도 나는 이 문제를 스스로 해결했습니다.

답변2

"인증되지 않음"은 원격 메일 서버가 메시지에 서명하지 않기 때문일 수 있습니다. 모든 사람이 DKIM으로 이메일에 서명하는 것은 아닙니다. 실제로 이 메커니즘은 예상만큼 널리 구현되지 않았습니다. 즉, DKIM을 사용하면 메일 배달 가능성이 크게 향상되지만 조직에 메일을 보내는 모든 사람이 이를 사용할 것이라고 기대하지는 마십시오. DKIM 제 소견으로는 천천히 성장하고 있는 것 같아요.

당신은 이것이 흥미로울 것입니다DKIM 배포 동향 실험.

또한 원격 서버가 메시지에 서명하고 있다고 확신하는데 메일 서버가 이를 무시하는 경우 다음 사항을 확인하는 것이 좋습니다.여기에 알려진 버그가 있습니다.

관련 정보