응답하지 : 아무리 내가 무엇을 사용 된 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() 메소드는하지 않습니다 끝.
누구나 올바른 사용법이나 입력 매개 변수를 알고 있습니까?
입력이 유효하지 않은 경우 예외가 발생할 것으로 예상됩니다.
저는 .NET 2013에서 VS 2013의 코드를 문제없이 테스트했습니다. LocalIP 속성이 DNS 요청을 보낸 IP에 영향을주는 경우에 대비하여 생성자 호출에서 Object Initializers를 제거 할 수 있습니다. Initializers가 없으면 LocalIP가 컴퓨터의 첫 번째 IP로 설정되어야합니다. 나는 이니셜 라이저가 있든 없든 나의 테스트에서 같은 결과를 얻었다. –
고맙습니다. "example.com"과 "192.0.2.200"또는 다른 값을 사용하셨습니까? CheckHostAsync()로 전환하면 약 10 초 후에 "TempError"응답이 반환됩니다. 반면에 CheckHost()는 끝내지 않는 것 같습니다. (객체 이니셜러를 제거해도 도움이되지 않았습니다.) – user5226582
코드에서 정확한 값으로 처음 시도했는데 실패 결과가 나타났습니다. example.com의 SPF에는 "-all"만 있기 때문에 의미가 있습니다. 그런 다음 다른 값으로 시도하고 PermError 및 SoftFail 결과를 얻었습니다 (사용했던 값이 맞다고 생각합니다). WireShark를 사용하여 어떤 DNS 요청을 보냈는지 확인하고 예상 한 요청과 응답을 보았습니다. –