以前就搞了的一个纯Java实现的SMTP接力微服务守护程序。最近使用需求冒出来了,于是更新一下,套上一些实现再发出来。
利用了Subethasmtp来实现SMTP协议服务前端,将收到的消息用Java Mail API直接再转发给配置好的另一个邮件服务端。 就这么简单。 由于后端邮件服务端可能(大多)需要认证、而且可能绑定了发送者地址与账号,所以实现了一个简单的分发逻辑:根据前端收到的发送者邮箱地址来分发给不同配置(如不同认证账号)的后端。
应用场景举例:
- 不想让邮件客户端直接到真正邮件服务进行认证,需要一个将认证凭据隐藏起来的代理时
- 后端邮件服务需要使用复杂的安全传输,而邮件客户端却不支持或不具备使用条件时
- 特例:后端邮件服务的SSL证书自签的、过期了、域名或中间证书链有错误、算法陈旧被弃用等,无法被客户验证通过,只能通过中间代理强制信任服务端时
- 想根据来源邮件不同发送者,分发给各自对应的不同后端邮件服务时
Apache License Version 2.0