Object
This class represents a response received by the SMTP
server. Instances of this class are created by the SMTP
class; they should not be directly created by the user. For more information on SMTP
responses, view Section 4.2 of RFC 5321
Creates a new instance of the Response
class and sets the status and string attributes
# File net/smtp.rb, line 1004 def initialize(status, string) @status = status @string = string end
Returns a hash of the human readable reply text in the response if it is multiple lines. It does not return the first line. The key of the hash is the first word the value of the hash is an array with each word thereafter being a value in the array
# File net/smtp.rb, line 1047 def capabilities return {} unless @string[3, 1] == '-' h = {} @string.lines.drop(1).each do |line| k, *v = line[4..-1].chomp.split h[k] = v end h end
Determines whether the response received was a Positive Intermediate reply (3xx reply code)
# File net/smtp.rb, line 1028 def continue? status_type_char() == '3' end
Creates a CRAM-MD5 challenge. You can view more information on CRAM-MD5 on Wikipedia: en.wikipedia.org/wiki/CRAM-MD5
# File net/smtp.rb, line 1039 def cram_md5_challenge @string.split(/ /)[1].unpack1('m') end
Determines whether there was an error and raises the appropriate error based on the reply code of the response
# File net/smtp.rb, line 1059 def exception_class case @status when /\A4/ then SMTPServerBusy when /\A50/ then SMTPSyntaxError when /\A53/ then SMTPAuthenticationError when /\A5/ then SMTPFatalError else SMTPUnknownError end end
The first line of the human readable reply text
# File net/smtp.rb, line 1033 def message @string.lines.first end