Skip to content

Latest commit

History

45 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

checkmail

Golang package for email validation.

GoDoc

Usage

Install the Checkmail package

go get github.com/badoux/checkmail

1. Format

funcmain() {
err:=checkmail.ValidateFormat("ç$€§/az@gmail.com")
iferr!=nil {
fmt.Println(err)
}
}

output: invalid format

2. Domain

funcmain() {
err:=checkmail.ValidateHost("email@x-unkown-domain.com")
iferr!=nil {
fmt.Println(err)
}
}

output: unresolvable host

3. Host and User

If host is valid, requires valid SMTP serverHostName (see to online validator) and serverMailAddress to reverse validation for prevent SPAN and BOTS.

funcmain() {
var (
serverHostName="smtp.myserver.com"// set your SMTP server hereserverMailAddress="validuser@myserver.com"// set your valid mail address here
)
err:=checkmail.ValidateHostAndUser(serverHostName, serverMailAddress, "unknown-user-129083726@gmail.com")
ifsmtpErr, ok:=err.(checkmail.SmtpError); ok&&err!=nil {
fmt.Printf("Code: %s, Msg: %s", smtpErr.Code(), smtpErr)
}
}

output: Code: 550, Msg: 550 5.1.1 The email account that you tried to reach does not exist.

License

Checkmail is licensed under the MIT License.

About

Golang package for email validation

Topics

Resources

Stars

736 stars

Watchers

13 watching

Forks

Releases

Packages

Used by

Contributors

Languages