mailvalidate

package
v0.2.11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 24, 2024 License: AGPL-3.0 Imports: 15 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GenerateCatchAllUsername

func GenerateCatchAllUsername() string

func GenerateNames

func GenerateNames() (firstName string, lastName string)

func IsFreeEmailCheck

func IsFreeEmailCheck(email string, freeEmails *FreeEmails) (bool, error)

func IsRoleAccountCheck

func IsRoleAccountCheck(email string, roleAccounts *RoleAccounts) (bool, error)

Types

type AlternateEmail added in v0.2.5

type AlternateEmail struct {
	Email string
}

type DomainValidation

type DomainValidation struct {
	Provider              string
	SecureGatewayProvider string
	AuthorizedSenders     dns.AuthorizedSenders
	IsFirewalled          bool
	IsCatchAll            bool
	IsPrimaryDomain       bool
	PrimaryDomain         string
	HasMXRecord           bool
	HasSPFRecord          bool
	SmtpResponse          SmtpResponse
	MailServerHealth      MailServerHealth
	Error                 string
}

func ValidateDomain

func ValidateDomain(validationRequest EmailValidationRequest) DomainValidation

func ValidateDomainWithCustomKnownProviders

func ValidateDomainWithCustomKnownProviders(validationRequest EmailValidationRequest, knownProviders dns.KnownProviders) DomainValidation

type DomainValidationParams added in v0.2.5

type DomainValidationParams struct {
	IsPrimaryDomain bool
	PrimaryDomain   string
}

type EmailValidation

type EmailValidation struct {
	IsDeliverable    string
	IsMailboxFull    bool
	IsRoleAccount    bool
	IsFreeAccount    bool
	RetryValidation  bool
	SmtpResponse     SmtpResponse
	MailServerHealth MailServerHealth
	AlternateEmail   AlternateEmail
	Error            string
}

func ValidateEmail

func ValidateEmail(validationRequest EmailValidationRequest) EmailValidation

type EmailValidationRequest

type EmailValidationRequest struct {
	Email            string
	FromDomain       string
	FromEmail        string
	CatchAllTestUser string
	Dns              *domaincheck.DNS
	// applicable only for email validation. Pass results from domain validation
	DomainValidationParams *DomainValidationParams
}

type FreeEmails

type FreeEmails struct {
	FreeEmailList []string `toml:"free_emails"`
}

func GetFreeEmailList

func GetFreeEmailList() (FreeEmails, error)

type MailServerHealth added in v0.1.7

type MailServerHealth struct {
	IsGreylisted  bool
	IsBlacklisted bool
	ServerIP      string
	FromEmail     string
	RetryAfter    int
}

type RoleAccounts

type RoleAccounts struct {
	Contains []string `toml:"contains"`
	Matches  []string `toml:"matches"`
}

func GetRoleAccounts

func GetRoleAccounts() (RoleAccounts, error)

type SmtpResponse added in v0.2.0

type SmtpResponse struct {
	CanConnectSMTP bool
	TLSRequired    bool
	ResponseCode   string
	ErrorCode      string
	Description    string
}

type SyntaxValidation

type SyntaxValidation struct {
	Error         string
	IsValid       bool
	User          string
	Domain        string
	CleanEmail    string
	IsRoleAccount bool
	IsFreeAccount bool
}

func ValidateEmailSyntax

func ValidateEmailSyntax(email string) SyntaxValidation

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL