Class 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 Detail

      • reader

        protected java.io.BufferedReader reader
    • Constructor Detail

      • SmtpResponseReader

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

      • 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.