All Projects → HubSpot → NioSmtpClient

HubSpot / NioSmtpClient

Licence: Apache-2.0 license
Smtp Client based on Netty

Programming Languages

java
68154 projects - #9 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to NioSmtpClient

Wheel
关于net nio os cache db rpc json web http udp tcp mq 等多个小工具的自定义实现
Stars: ✭ 45 (+80%)
Mutual labels:  netty, nio
Httpproxy
http代理,支持CONNECT和普通GET/POST,支持http2;可防止主动嗅探;可作为小火箭、圈、surge等软件和SwitchyOmega(chrome插件)所说的https代理
Stars: ✭ 104 (+316%)
Mutual labels:  netty, nio
T Io
解决其它网络框架没有解决的用户痛点,让天下没有难开发的网络程序
Stars: ✭ 1,331 (+5224%)
Mutual labels:  netty, nio
Happychat
基于Netty实现的WebSocket聊天室,支持几万人同时在线聊天
Stars: ✭ 445 (+1680%)
Mutual labels:  netty, nio
Vert.x
Vert.x is a tool-kit for building reactive applications on the JVM
Stars: ✭ 12,544 (+50076%)
Mutual labels:  netty, nio
Nioimapclient
High performance, async IMAP client implementation
Stars: ✭ 28 (+12%)
Mutual labels:  netty, nio
Simple Rpc
RPC with service discovery base on netty
Stars: ✭ 103 (+312%)
Mutual labels:  netty, nio
cheshuo
🎃A lightweight game server framework. Based on Springboot and Netty. Using ProtoBuf as communication between client and server.
Stars: ✭ 23 (-8%)
Mutual labels:  netty, nio
Nettychat
基于Netty+TCP+Protobuf实现的Android IM库,包含Protobuf序列化、TCP拆包与粘包、长连接握手认证、心跳机制、断线重连机制、消息重发机制、读写超时机制、离线消息、线程池等功能。
Stars: ✭ 1,979 (+7816%)
Mutual labels:  netty, nio
Carmelo
Carmelo is a fast, scalable Java server framework designed for online games. It uses Netty and Fastjson for highly efficient network transmission and supports both TCP/HTTP protocols.
Stars: ✭ 148 (+492%)
Mutual labels:  netty, nio
Cookbook
🎉🎉🎉JAVA高级架构师技术栈==任何技能通过 “刻意练习” 都可以达到融会贯通的境界,就像烹饪一样,这里有一份JAVA开发技术手册,只需要增加自己练习的次数。🏃🏃🏃
Stars: ✭ 428 (+1612%)
Mutual labels:  netty, nio
Styx
Programmable, asynchronous, event-based reverse proxy for JVM.
Stars: ✭ 218 (+772%)
Mutual labels:  netty, nio
Simviso Source Code Interpretation Sharing
simviso 的一系列源码解读分享视频,涉及国外顶级学府课程翻译、国外顶级开发者视频翻译,JDK, Rxjava,Spring Reactor, Netty ,Reactor-Netty ,Spring Webflux 我的目标是将Java的响应式建立起一套学习体系,假如你想深入,可以参考我的视频和后续出版的书籍,同时展现一些我的编程经验,做一个铺路人
Stars: ✭ 412 (+1548%)
Mutual labels:  netty, nio
Getty
一个完全基于java的,类似netty的高性能网络框架A fully Java-based, netty - like high-performance networking framework
Stars: ✭ 45 (+80%)
Mutual labels:  netty, nio
Mobileimsdk
一个原创移动端IM通信层框架,轻量级、高度提炼,历经8年、久经考验。可能是市面上唯一同时支持UDP+TCP+WebSocket三种协议的同类开源框架,支持iOS、Android、Java、H5,服务端基于Netty。
Stars: ✭ 3,864 (+15356%)
Mutual labels:  netty, nio
Jupiter
Jupiter是一款性能非常不错的, 轻量级的分布式服务框架
Stars: ✭ 1,372 (+5388%)
Mutual labels:  netty, nio
vertx-mail-client
No description or website provided.
Stars: ✭ 30 (+20%)
Mutual labels:  netty, smtp
netty-learning
bio, nio到 netty各种使用案例, 包含基础使用案例,各api使用方法,零拷贝,websocket,群聊,私聊,编码,解码,自定义协议,protobuf等使用案例,rpc服务器,客户端等等学习
Stars: ✭ 49 (+96%)
Mutual labels:  netty, nio
Face2face
基于netty的异步非阻塞实时聊天(IM)服务器。
Stars: ✭ 1,468 (+5772%)
Mutual labels:  netty, nio
Nettydemo
Netty应用到Android,包含客户端、服务端(断线重连、心跳、黏包处理)
Stars: ✭ 183 (+632%)
Mutual labels:  netty, nio

NioSmtpClient Build Status

High performance SMTP client in Java based on Netty. This client is well tested and heavily used at HubSpot.

Maven Dependency

<dependency>
  <groupId>com.hubspot</groupId>
  <artifactId>NioSmtpClient</artifactId>
  <version>1.1.0</version>
</dependency>

Features

  • High performance, designed to handle many concurrent connections
  • Supports TLS, pipelining, chunking, SIZE, SMTPUTF8, and other ESMTP RFCs
  • Send from specific IP addresses
  • Optionally keeps connections alive to send subsequent emails
  • Parses the EHLO response and chooses the most-efficient sending method
  • Interceptor support to modify or instrument commands
  • Comprehensive unit and integration tests

Dependencies

This project depends on Java8, Netty, and Guava.

Java Docs

See http://github.hubspot.com/NioSmtpClient/1.0.0/

Notes For Developers

  • NEVER execute blocking commands on an eventloop thread (i.e. CountDownLatch.await or Future.get)
    • Calls out to unknown functions (i.e. callbacks or event listeners) should always be done on isolated thread pools.
    • Slow but not necessarily blocking operations should also be avoided
  • Attempt to avoid doing long running tasks on event loop threads
  • Use new as sparingly as possible to avoid creating garbage:
    • Share objects when possible
    • Use netty bytebuf allocators when possible
    • Use netty recyclers for objects that can be recycled.

License

Apache 2.0

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