0
私は、入力ストリームからのJavaMailのMimeMessageを作成します。telnetを使用しているときにMimeMessageが空ですか?
MimeMessage message = new MimeMessage(session, data);
Object content = message.getContent();
log.debug("content: "+content);
私はコンテンツオブジェクトは、電子メールのテキストを含む電子メールを送信するためにサンダーバードを使用する場合。
しかし、メールを送信するためにtelnetを使用すると、コンテンツオブジェクトは空です。
220 192.168.2.3 ESMTP SubEthaSMTP 3.1.7
mail from:[email protected]
250 Ok
rcpt to:[email protected]
250 Ok
data
354 End data with <CR><LF>.<CR><LF>
test1
test2
test3
.
250 Ok
quit
221 Bye
Connection to host lost.
しかし私は、手動で入力ストリームを読み取ることによって、コンテンツを取得することができます:
public String convertStreamToString(InputStream is) {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
}
はそれはで、MimeMessageとするときconvertStreamToStringを使用するを使用するときを検出することは可能ですか?
乾杯@AlBlue、私はメールコマンドをtelnetで接続するために来るとき少し錆びたように見えます。私はちょうどそれをデータセクションにメールヘッダーを追加してショットを与え、それはすぐに働いた! –