Я пытаюсь разработать простой SMTPclient для тестирования с использованием клиентского пакета SubethaSmtp. Я хочу использовать класс SMTPClient вместо класса SmartClient для большего контроля, но я не смог понять, как писать почтовые данные с помощью SMTPClient, единственный OutputStream, открытый для публичных или внешних подклассов, - это тот, который отправляет команды, те, для отправки данных (после отправки команды DATA) отображается только для классов в одном пакете (SmartClient). Я что-то упустил? Я хотел бы знать, как можно написать прямой подкласс SMARTClient для решения этой проблемы.Как подкласс SubethaSmtp Класс SMTPClient
0
A
ответ
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);
...