SMTP如何进行接收与发送?有没有比较好用的库?

发布于 2022-09-06 12:12:21 字数 469 浏览 20 评论 0

现在项目中所用的SMTP服务器(一个开源库),只能实现邮件的接收,不能作为SMTP实现邮件的发送。因为邮件是客户端先发到自己的邮件服务器(test.com),由邮件服务器(test.com)进行投递到对方的邮件服务器(qq.com)。所以邮件服务器本身也要具有发送功能。
我们现在采用的库是 https://github.com/voodoodyne...
只有接收功能,不能进行用户邮件的投递。

请问有没有其他类似的库?不使用postfix,不使用apache james,因为要求数据库由自己项目进行管理。

或者,换种思路,当本地的邮件服务器接收到用户的邮件发送请求后,再自己写发送的方法?javamail可以实现吗?用javamail连接到对方邮件服务器(qq.com)进行发送?还是说要自己研究rfc协议,手工写socket通信?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

格子衫的從容 2022-09-13 12:12:21

能跟 postfix 这种正式的传输代理对比,我用过的,就只有 nodejs 上的 haraka , http://haraka.github.io/
当然,做这事,最好对 SMTP 协议本身,及邮件投递过程有一个大概的了解。

浅浅淡淡 2022-09-13 12:12:21

Java Mail本身是支持SMTP的,一般有QQ注册邮箱的话就,可以通过smtp.qq.com(自己邮局的服务器)向外投递了。

但你自己的邮件服务器,向qq.com投递,你需要知道对方邮局的服务器,可以用这个命令获得:

nslookup -type=mx qq.com

得到的结果是 mx1.qq.com、mx2.qq.com和mx3.qq.com,所以你可以向这3台中任意一台主机的25端口发SMTP命令。(但网络运营商可能会把25端口封掉。)

如果用Java来实现这一步的话,可以用dnsjava类库。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文