Documentation
¶
Index ¶
- Variables
- func MightBeAHostOrIP(h string) bool
- type Artifact
- type ArtifactFn
- type CheckFn
- type Details
- type DialContext
- type EmailValidator
- func (v *EmailValidator) CheckWithConnect(ctx context.Context, emailParts types.EmailParts, options ...ArtifactFn) Result
- func (v *EmailValidator) CheckWithLookup(ctx context.Context, emailParts types.EmailParts, options ...ArtifactFn) Result
- func (v *EmailValidator) CheckWithRCPT(ctx context.Context, emailParts types.EmailParts, options ...ArtifactFn) Result
- func (v *EmailValidator) CheckWithSyntax(ctx context.Context, emailParts types.EmailParts, options ...ArtifactFn) Result
- type LookupMX
- type Result
- type Timing
- type Timings
- type ValidationError
Constants ¶
This section is empty.
Variables ¶
var ( ErrInvalidHost = errors.New("invalid host") ErrEmailAddressSyntax = errors.New("invalid syntax") )
Functions ¶
func MightBeAHostOrIP ¶
MightBeAHostOrIP is a very rudimentary check to see if the argument could be either a host name or IP address It aims at speed and not correctness. It's intended to weed-out bogus responses such as '.'
Types ¶
type Artifact ¶
type Artifact struct { Validations validations.Validations Steps validations.Steps Timings // contains filtered or unexported fields }
type ArtifactFn ¶
type ArtifactFn func(artifact *Artifact)
func WithDeadlineCTX ¶
func WithDeadlineCTX(ctx context.Context) ArtifactFn
func WithDialer ¶
func WithDialer(dialer *net.Dialer) ArtifactFn
type CheckFn ¶
type CheckFn func(ctx context.Context, parts types.EmailParts, options ...ArtifactFn) Result
type DialContext ¶
type EmailValidator ¶
type EmailValidator struct {
// contains filtered or unexported fields
}
func NewEmailAddressValidator ¶
func NewEmailAddressValidator(dialer *net.Dialer) EmailValidator
func (*EmailValidator) CheckWithConnect ¶
func (v *EmailValidator) CheckWithConnect(ctx context.Context, emailParts types.EmailParts, options ...ArtifactFn) Result
CheckWithConnect performs a thorough check, which has the low chance of false-positives. It also tests if the MX server accepts connections, but won't try any mail commands.
func (*EmailValidator) CheckWithLookup ¶
func (v *EmailValidator) CheckWithLookup(ctx context.Context, emailParts types.EmailParts, options ...ArtifactFn) Result
CheckWithLookup performs a sanity check using DNS lookups. It won't connect to the actual hosts.
func (*EmailValidator) CheckWithRCPT ¶ added in v0.0.14
func (v *EmailValidator) CheckWithRCPT(ctx context.Context, emailParts types.EmailParts, options ...ArtifactFn) Result
CheckWithRCPT performs a thorough check, which includes a RCPT check. It requires a valid PTR and is probably not something you want to offer as a user-facing service.
Warning: Using this _can_ degrade your IPs reputation, since it's also a process spammers use.
func (*EmailValidator) CheckWithSyntax ¶
func (v *EmailValidator) CheckWithSyntax(ctx context.Context, emailParts types.EmailParts, options ...ArtifactFn) Result
CheckWithSyntax performs only a syntax check.
type Result ¶
type Result struct { Validations validations.Validations Steps validations.Steps }