diff --git a/email.go b/email.go index 4329e73..7a4c7d7 100644 --- a/email.go +++ b/email.go @@ -6,6 +6,7 @@ import ( "regexp" "strings" "sync" + "time" ) var ( @@ -57,11 +58,21 @@ func IsValidDomain(domain string) (valid bool) { emailsCacheMtx.Unlock() } }() - mx, err := net.LookupMX(domain) - if err != nil || len(mx) == 0 { - return + for i := 0; i < 10; i++ { + mx, err := net.LookupMX(domain) + if err == nil && len(mx) > 0 { + valid = true + return + } + } + for i := 1; i <= 3; i++ { + mx, err := net.LookupMX(domain) + if err == nil && len(mx) > 0 { + valid = true + return + } + time.Sleep(time.Duration(i) * time.Second) } - valid = true return }