class Net::SMTP::Response
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
Attributes
The three digit reply code of the SMTP response
The human readable reply text of the SMTP response
Public Class Methods
# File lib/net/smtp.rb, line 999 def initialize(status, string) @status = status @string = string end
Creates a new instance of the Response class and sets the status and string attributes
# File lib/net/smtp.rb, line 993 def self.parse(str) new(str[0,3], str) end
Parses the received response and separates the reply code and the human readable reply text
Public Instance Methods
# File lib/net/smtp.rb, line 1042 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
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 lib/net/smtp.rb, line 1023 def continue? status_type_char() == '3' end
Determines whether the response received was a Positive Intermediate reply (3xx reply code)
# File lib/net/smtp.rb, line 1034 def cram_md5_challenge @string.split(/ /)[1].unpack('m')[0] end
Creates a CRAM-MD5 challenge. You can view more information on CRAM-MD5 on Wikipedia: en.wikipedia.org/wiki/CRAM-MD5
# File lib/net/smtp.rb, line 1054 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
Determines whether there was an error and raises the appropriate error based on the reply code of the response
# File lib/net/smtp.rb, line 1028 def message @string.lines.first end
The first line of the human readable reply text
# File lib/net/smtp.rb, line 1011 def status_type_char @status[0, 1] end
Takes the first digit of the reply code to determine the status type
# File lib/net/smtp.rb, line 1017 def success? status_type_char() == '2' end
Determines whether the response received was a Positive Completion reply (2xx reply code)
Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.