badoux / Checkmail
Licence: mit
Golang package for email validation
Stars: β 554
Labels
Projects that are alternatives of or similar to Checkmail
Ismailfine
A simple (but correct) library for validating email addresses. Supports mail addresses as defined in rfc5322 as well as the new Internationalized Mail Address standards (rfc653x). Based on https://github.com/jstedfast/EmailValidation
Stars: β 9 (-98.38%)
Mutual labels: validation, mail
Skinny Framework
π "Scala on Rails" - A full-stack web app framework for rapid development in Scala
Stars: β 719 (+29.78%)
Mutual labels: validation, mail
Ngx Errors
A declarative validation errors module for reactive forms.
Stars: β 472 (-14.8%)
Mutual labels: validation
Enforce
Python 3.5+ runtime type checking for integration testing and data validation
Stars: β 502 (-9.39%)
Mutual labels: validation
Yalfield
Custom Field component with validation for creating easier form-like UI from interface builder.
Stars: β 476 (-14.08%)
Mutual labels: validation
Govalidator
[Go] Package of validators and sanitizers for strings, numerics, slices and structs
Stars: β 5,163 (+831.95%)
Mutual labels: validation
Express Validator
An express.js middleware for validator.js.
Stars: β 5,236 (+845.13%)
Mutual labels: validation
James Project
Emails at the heart of your business logic!
Stars: β 485 (-12.45%)
Mutual labels: mail
Astroid
A graphical threads-with-tags style, lightweight and fast, e-mail client for Notmuch
Stars: β 476 (-14.08%)
Mutual labels: mail
Sinatra Param
Parameter Validation & Type Coercion for Sinatra
Stars: β 516 (-6.86%)
Mutual labels: validation
Bunny
BunnyJS - Lightweight native (vanilla) JavaScript (JS) and ECMAScript 6 (ES6) browser library, package of small stand-alone components without dependencies: FormData, upload, image preview, HTML5 validation, Autocomplete, Dropdown, Calendar, Datepicker, Ajax, Datatable, Pagination, URL, Template engine, Element positioning, smooth scrolling, routing, inversion of control and more. Simple syntax and architecture. Next generation jQuery and front-end framework. Documentation and examples available.
Stars: β 473 (-14.62%)
Mutual labels: validation
Swiftcop
SwiftCop is a validation library fully written in Swift and inspired by the clarity of Ruby On Rails Active Record validations.
Stars: β 544 (-1.81%)
Mutual labels: validation
Io Ts
Runtime type system for IO decoding/encoding
Stars: β 5,086 (+818.05%)
Mutual labels: validation
Validator.js
βοΈθ½»ιηΊ§η JavaScript 葨ειͺθ―οΌε符串ιͺθ―γ沑ζδΎθ΅οΌζ―ζ UMD οΌ~3kbγ
Stars: β 486 (-12.27%)
Mutual labels: validation
Pandera
A light-weight, flexible, and expressive pandas data validation library
Stars: β 506 (-8.66%)
Mutual labels: validation
Store Receipt Validator
PHP receipt validator for Apple iTunes, Google Play and Amazon App Store
Stars: β 547 (-1.26%)
Mutual labels: validation
checkmail
Golang package for email validation.
- Format (simple regexp, see: https://www.w3.org/TR/html5/forms.html#valid-e-mail-address and https://davidcel.is/posts/stop-validating-email-addresses-with-regex/)
- Valid domain
- Valid user: verify if the user and mailbox really exist
Usage
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.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].