Categorygithub.com/badoux/checkmail
modulepackage
1.2.4
Repository: https://github.com/badoux/checkmail.git
Documentation: pkg.go.dev

# README

checkmail

Golang package for email validation.

GoDoc

Usage

Install the Checkmail package

go get github.com/badoux/checkmail

1. Format

func main() {
    err := checkmail.ValidateFormat("ç$€§/[email protected]")
    if err != nil {
        fmt.Println(err)
    }
}

output: invalid format

2. Domain

func main() {
    err := checkmail.ValidateHost("[email protected]")
    if err != 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.

func main() {
    var (
        serverHostName    = "smtp.myserver.com" // set your SMTP server here
        serverMailAddress = "[email protected]"  // set your valid mail address here
    )
    err := checkmail.ValidateHostAndUser(serverHostName, serverMailAddress, "[email protected]")
    if smtpErr, 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.

# Functions

DialTimeout returns a new Client connected to an SMTP server at addr.
ValidateHost validate mail host.
ValidateHostAndUser validate mail host and user.
ValidateMX validate if MX record exists for a domain.

# Variables

# Structs