module Sisimai::Rhost::GoDaddy

Sisimai::Rhost detects the bounce reason from the content of Sisimai::Data object as an argument of get() method when the value of “rhost” of the object is “*.secureserver.net”. This class is called only Sisimai::Data class.

Constants

ErrorCodes

Imported from p5-Sisimail/lib/Sisimai/Rhost/GoDaddy.pm www.godaddy.com/help/what-does-my-email-bounceback-mean-3568

MessagesOf

Public Class Methods

get(argvs) click to toggle source

Detect bounce reason from GoDaddy @param [Sisimai::Data] argvs Parsed email object @return [String] The bounce reason for GoDaddy @see www.godaddy.com/help/what-does-my-email-bounceback-mean-3568

# File lib/sisimai/rhost/godaddy.rb, line 45
def get(argvs)
  return argvs.reason unless argvs.reason.empty?

  statusmesg = argvs.diagnosticcode
  reasontext = ''

  if cv = statusmesg.match(/\s(IB\d{3})\b/)
    # 192.0.2.22 has sent to too many recipients this hour. IB607 ...
    reasontext = ErrorCodes[cv[1]]
  else
    # 553 http://www.spamhaus.org/query/bl?ip=192.0.0.222
    MessagesOf.each_key do |e|
      MessagesOf[e].each do |f|
        next unless statusmesg.include?(f)
        reasontext = e
        break
      end
      break unless reasontext.empty?
    end
  end
  return reasontext
end