Simple email validation package. Package supports either fast email validation via RFC compliant regex OR slower recursive DNS lookup. DNS validation checks for valid NS & MX records using the local DNS settings.
The current version is v3
Please import via go modules github.com/cameronnewman/go-emailvalidation/v3
.
package main
import (
"fmt"
email "github.com/cameronnewman/go-emailvalidation/v3"
)
func main() {
emailAddress := "[email protected]"
// Run all checks, including validating the format along with DNS lookups which
// may be slower depending on your DNS server performance
err := email.Validate(emailAddress)
if err != nil {
fmt.Println(err)
}
// Checks the format - this function performs no network
// operations and is very fast
err = email.ValidateFormat(emailAddress)
if err != nil {
fmt.Println(err)
}
// Checks domain NS & MX, along with format validation
err = email.ValidateDomainRecords(emailAddress)
if err != nil {
fmt.Println(err)
}
// Normalize email address for storage
address := email.Normalize(emailAddress)
fmt.Println(address)
}
- None
MIT Licensed