All Projects → smancke → mailck

smancke / mailck

Licence: MIT license
golang library for smtp based email validation

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to mailck

Swaks
Swaks - Swiss Army Knife for SMTP
Stars: ✭ 239 (+350.94%)
Mutual labels:  smtp
go-smtp-mock
SMTP mock server written on Golang. Mimic any 📤 SMTP server behavior for your test environment with fake SMTP server.
Stars: ✭ 76 (+43.4%)
Mutual labels:  smtp
imap-honey
IMAP or SMTP honeypot written in Golang
Stars: ✭ 22 (-58.49%)
Mutual labels:  smtp
Tmail
Golang SMTP server
Stars: ✭ 251 (+373.58%)
Mutual labels:  smtp
mailrise
An SMTP gateway for Apprise notifications.
Stars: ✭ 352 (+564.15%)
Mutual labels:  smtp
catapulte
Rust implementation of catapulte email sender
Stars: ✭ 113 (+113.21%)
Mutual labels:  smtp
Magento 2 Smtp
Magento 2 SMTP Extension helps the owner of store simply install SMTP (Simple Mail Transfer Protocol) server which transmits the messages into codes or numbers.
Stars: ✭ 228 (+330.19%)
Mutual labels:  smtp
messages
A python package designed to make sending messages easy and efficient!
Stars: ✭ 38 (-28.3%)
Mutual labels:  smtp
SmsForwarder
短信转发器——监控Android手机短信、来电、APP通知,并根据指定规则转发到其他手机:钉钉群自定义机器人、钉钉企业内机器人、企业微信群机器人、飞书机器人、企业微信应用消息、邮箱、bark、webhook、Telegram机器人、Server酱、PushPlus、手机短信等。包括主动控制服务端与客户端,让你轻松远程发短信、查短信、查通话、查话簿、查电量等。(V3.0 新增)PS.这个APK主要是学习与自用,如有BUG请提ISSUE,同时欢迎大家提PR指正
Stars: ✭ 8,386 (+15722.64%)
Mutual labels:  smtp
enough mail
IMAP, POP3 and SMTP clients for Dart developers. Contains both low level as well as a high level API.
Stars: ✭ 78 (+47.17%)
Mutual labels:  smtp
Davmail
DavMail POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange and Office 365 Gateway - Synced with main subversion repository at
Stars: ✭ 250 (+371.7%)
Mutual labels:  smtp
django-sitemessage
Reusable application for Django introducing a message delivery framework
Stars: ✭ 51 (-3.77%)
Mutual labels:  smtp
MailDemon
Smtp server for mass emailing, managing email lists and more. Built on .NET Core. Linux, MAC and Windows compatible.
Stars: ✭ 113 (+113.21%)
Mutual labels:  smtp
Mailyak
An elegant MIME/SMTP email library with support for attachments
Stars: ✭ 244 (+360.38%)
Mutual labels:  smtp
aws-lambda-node-mailer
NodeJs code for Firing Email via AWS-Lambda and SES
Stars: ✭ 24 (-54.72%)
Mutual labels:  smtp
Mailu
Insular email distribution - mail server as Docker images
Stars: ✭ 3,151 (+5845.28%)
Mutual labels:  smtp
ControlCenter
Mirrored from GitLab! Monitoring and automation for Open Source email servers, starting with Postfix. Please do not submit issues or PRs here - join us at: https://gitlab.com/lightmeter
Stars: ✭ 88 (+66.04%)
Mutual labels:  smtp
Mailozaurr
Mailozaurr is a PowerShell module that aims to provide SMTP, POP3, IMAP and probably some other ways to interact with Email. Underneath it uses MimeKit and MailKit libraries written by Jeffrey Stedfast.
Stars: ✭ 107 (+101.89%)
Mutual labels:  smtp
fregata
A self hosted REST API for message delivery
Stars: ✭ 19 (-64.15%)
Mutual labels:  smtp
PySMS
Simple Python API that that allows you to send texts via SMTP with a best effort approach and process replies via IMAP
Stars: ✭ 19 (-64.15%)
Mutual labels:  smtp

mailck - SMTP mail validation

golang library for email validation

Build Status Go Report Card Coverage Status

This library allows you to check if an email address is realy valid:

  • Syntax check
  • Blacklist of disposable mailservers (e.g. mailinator.com)
  • SMTP mailbox check

Preconditions

Make sure, that the ip address you are calling from is not black listed. This is e.g. the case if the ip is a dynamic IP. Also make sure, that you have a correct reverse dns lookup for your ip address, matching the hostname of your from adress. Alternatively use a SPF DNS record entry matching the host part of the from address.

In case of a blacklisting, the target mailserver may respond with an SMTP 554 or just let you run into a timout.

Usage

GoDoc

Do all checks at once:

result, _ := mailck.Check("[email protected]", "[email protected]")
switch {

  case result.IsValid():
  // valid!
  // the mailserver accepts mails for this mailbox.

  case result.IsError():
  // something went wrong in the smtp communication
  // we can't say for sure if the address is valid or not

  case result.IsInvalid():
  // invalid for some reason
  // the reason is contained in result.ResultDetail
  // or we can check for different reasons:
  switch (result) {
    case mailck.InvalidDomain:
    // domain is invalid
    case mailck.InvalidSyntax:
    // e-mail address syntax is invalid
  }
}

License

MIT Licensed

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].