validates_mx_record.rb 352 B

123456789
  1. require 'resolv'
  2. class MxRecordValidator < ActiveModel::EachValidator
  3. def validate_each(record, attribute, value)
  4. mail_servers = Resolv::DNS.open.getresources(value.split('@')[1], Resolv::DNS::Resource::IN::MX)
  5. if mail_servers.empty? then
  6. record.errors[attribute] << "Does not have a MX record assosiated with mail id"
  7. end
  8. end
  9. end