Class SmtpResponseReader

java.lang.Object
org.apache.tools.mail.SmtpResponseReader

public class SmtpResponseReader
extends java.lang.Object
A wrapper around the raw input from the SMTP server that assembles multi line responses into a single String.

The same rules used here would apply to FTP and other Telnet based protocols as well.

  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected java.io.BufferedReader reader  
  • Constructor Summary

    Constructors 
    Constructor Description
    SmtpResponseReader​(java.io.InputStream in)
    Wrap this input stream.
  • Method Summary

    Modifier and Type Method Description
    void close()
    Closes the underlying stream.
    java.lang.String getResponse()
    Read until the server indicates that the response is complete.
    protected boolean hasMoreLines​(java.lang.String line)
    Should we expect more input?

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • reader

      protected java.io.BufferedReader reader
  • Constructor Details

    • SmtpResponseReader

      public SmtpResponseReader​(java.io.InputStream in)
      Wrap this input stream.
      Parameters:
      in - the stream to wrap.
  • Method Details

    • getResponse

      public java.lang.String getResponse() throws java.io.IOException
      Read until the server indicates that the response is complete.
      Returns:
      Response code (3 digits) + Blank + Text from all response line concatenated (with blanks replacing the \r\n sequences).
      Throws:
      java.io.IOException - on error.
    • close

      public void close() throws java.io.IOException
      Closes the underlying stream.
      Throws:
      java.io.IOException - on error.
    • hasMoreLines

      protected boolean hasMoreLines​(java.lang.String line)
      Should we expect more input?
      Parameters:
      line - the line to check.
      Returns:
      true if there are more lines to check.