2016-11-10 1 views
0

응답하지 : 아무리 내가 무엇을 사용 된 IP 및 URL, 그러나
https://docs.ar-soft.de/arsoft.tools.net/#SPF%20SenderIP%20Validation.htmlARSoft.Tools.Net SpfValidator.CheckHost() 나는이 예를 따라하지하려고

var validator = new SpfValidator() 
{ 
    HeloDomain = DomainName.Parse("example.com"), 
    LocalDomain = DomainName.Parse("receivingmta.example.com"), 
    LocalIP = IPAddress.Parse("192.0.2.1") 
}; 

SpfQualifier result = validator.CheckHost(IPAddress.Parse("192.0.2.200"), 
DomainName.Parse("example.com"), "[email protected]").Result; 

을 CheckHost() 메소드는하지 않습니다 끝.

누구나 올바른 사용법이나 입력 매개 변수를 알고 있습니까?

입력이 유효하지 않은 경우 예외가 발생할 것으로 예상됩니다.

+1

저는 .NET 2013에서 VS 2013의 코드를 문제없이 테스트했습니다. LocalIP 속성이 DNS 요청을 보낸 IP에 영향을주는 경우에 대비하여 생성자 호출에서 Object Initializers를 제거 할 수 있습니다. Initializers가 없으면 LocalIP가 컴퓨터의 첫 번째 IP로 설정되어야합니다. 나는 이니셜 라이저가 있든 없든 나의 테스트에서 같은 결과를 얻었다. –

+0

고맙습니다. "example.com"과 "192.0.2.200"또는 다른 값을 사용하셨습니까? CheckHostAsync()로 전환하면 약 10 초 후에 "TempError"응답이 반환됩니다. 반면에 CheckHost()는 끝내지 않는 것 같습니다. (객체 이니셜러를 제거해도 도움이되지 않았습니다.) – user5226582

+1

코드에서 정확한 값으로 처음 시도했는데 실패 결과가 나타났습니다. example.com의 SPF에는 "-all"만 있기 때문에 의미가 있습니다. 그런 다음 다른 값으로 시도하고 PermError 및 SoftFail 결과를 얻었습니다 (사용했던 값이 맞다고 생각합니다). WireShark를 사용하여 어떤 DNS 요청을 보냈는지 확인하고 예상 한 요청과 응답을 보았습니다. –

답변

1

내가 사용하는 것과 같은 방식으로 사용하고 있습니다. 그것은 나를 위해 완벽하게 작동합니다. 아마도 방화벽에서 조회 검색을 수행하지 못하게 할 수 있습니까?

+0

방화벽이 문제가 아니어야합니다. 관리되지 않는 dnsapi.dll 메서드가 완료되었습니다. 그래도 고마워. – user5226582