2016-02-26 50 views
0

我想開發一個簡單的SMTPclient用於測試目的使用SubethaSmtp客戶端軟件包。我想使用SMTPClient類而不是SmartClient類進行更多控制,但是我一直無法弄清楚如何使用SMTPClient編寫郵件數據,公開或外部子類中唯一的OutputStream是用於發送命令的輸出流,用於發送數據(在發送DATA命令後)僅暴露於同一包中的類(SmartClient)。 我錯過了什麼嗎?我想知道SMARTClient的直接子類如何編寫來解決此問題。如何子類SubethaSmtp SMTPClient類

回答

0

看起來你是正確的,你不能簡單地擴展SMTPClient並獲得類似於SmartClient所具有的訪問權限,這是一個相同的包類。

此時,您可以:

1)從https://github.com/voodoodyne/subethasmtp叉子自己版本的應用,做任何你用它像地獄,或

2)一路走和實現自己的版本SMTPClient的,作爲封裝保護SMTPClient.dotTerminatedOutput;,通過SmartClient.dataWrite()實際使用的只是實例化,像這樣

... 
this.rawOutput = this.socket.getOutputStream();     
this.dotTerminatedOutput = new DotTerminatedOutputStream(this.rawOutput); 
...