diff --git a/default.go b/default.go
index <HASH>..<HASH> 100644
--- a/default.go
+++ b/default.go
@@ -19,6 +19,7 @@ import (
 	"encoding/base64"
 	"errors"
 	"fmt"
+	"net/mail"
 	"regexp"
 	"strings"
 
@@ -111,6 +112,12 @@ func IsUUID5(str string) bool {
 	return rxUUID5.MatchString(str)
 }
 
+// Validates an email address.
+func IsEmail(str string) bool {
+	_, e := mail.ParseAddress(str)
+	return e == nil
+}
+
 func init() {
 	// register formats in the default registry:
 	//   - byte
@@ -136,7 +143,7 @@ func init() {
 	Default.Add("uri", &u, govalidator.IsRequestURI)
 
 	eml := Email("")
-	Default.Add("email", &eml, govalidator.IsEmail)
+	Default.Add("email", &eml, IsEmail)
 
 	hn := Hostname("")
 	Default.Add("hostname", &hn, IsHostname)
use an RFC <I> address parser for email addresses

contributes to go-swagger/go-swagger#<I>