在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  Linux  網(wǎng)絡(luò)安全/ SMTP如何進行接收與發(fā)送?有沒有比較好用的庫?

SMTP如何進行接收與發(fā)送?有沒有比較好用的庫?

現(xiàn)在項目中所用的SMTP服務(wù)器(一個開源庫),只能實現(xiàn)郵件的接收,不能作為SMTP實現(xiàn)郵件的發(fā)送。因為郵件是客戶端先發(fā)到自己的郵件服務(wù)器(test.com),由郵件服務(wù)器(test.com)進行投遞到對方的郵件服務(wù)器(qq.com)。所以郵件服務(wù)器本身也要具有發(fā)送功能。
我們現(xiàn)在采用的庫是 https://github.com/voodoodyne...
只有接收功能,不能進行用戶郵件的投遞。

請問有沒有其他類似的庫?不使用postfix,不使用apache james,因為要求數(shù)據(jù)庫由自己項目進行管理。

或者,換種思路,當(dāng)本地的郵件服務(wù)器接收到用戶的郵件發(fā)送請求后,再自己寫發(fā)送的方法?javamail可以實現(xiàn)嗎?用javamail連接到對方郵件服務(wù)器(qq.com)進行發(fā)送?還是說要自己研究rfc協(xié)議,手工寫socket通信?

回答
編輯回答
大濕胸

Java Mail本身是支持SMTP的,一般有QQ注冊郵箱的話就,可以通過smtp.qq.com(自己郵局的服務(wù)器)向外投遞了。

但你自己的郵件服務(wù)器,向qq.com投遞,你需要知道對方郵局的服務(wù)器,可以用這個命令獲得:

nslookup -type=mx qq.com

得到的結(jié)果是 mx1.qq.com、mx2.qq.com和mx3.qq.com,所以你可以向這3臺中任意一臺主機的25端口發(fā)SMTP命令。(但網(wǎng)絡(luò)運營商可能會把25端口封掉。)

如果用Java來實現(xiàn)這一步的話,可以用dnsjava類庫。

2017年4月30日 22:52
編輯回答
背叛者

能跟 postfix 這種正式的傳輸代理對比,我用過的,就只有 nodejs 上的 haraka , http://haraka.github.io/ 。
當(dāng)然,做這事,最好對 SMTP 協(xié)議本身,及郵件投遞過程有一個大概的了解。

2017年5月29日 22:47