mirror of
https://github.com/internetee/registry.git
synced 2025-07-24 19:48:28 +02:00
update mx condition for invalid emails
This commit is contained in:
parent
9c69284a6d
commit
ba48132547
2 changed files with 35 additions and 1 deletions
|
@ -50,12 +50,44 @@ module Actions
|
|||
end
|
||||
|
||||
def save_result(result)
|
||||
validation_eventable.validation_events.create(validation_event_attrs(result))
|
||||
if !result.success && @check_level == "mx"
|
||||
email_domain = Mail::Address.new(@email).domain
|
||||
|
||||
result_validation = check_for_records_value(domain: email_domain, value: 'A')
|
||||
result_validation = check_for_records_value(domain: email_domain, value: 'AAAA') if result_validation.empty?
|
||||
|
||||
result_validation.present? ? result.success = true : result.success = false
|
||||
|
||||
validation_eventable.validation_events.create(validation_event_attrs(result))
|
||||
else
|
||||
validation_eventable.validation_events.create(validation_event_attrs(result))
|
||||
end
|
||||
rescue ActiveRecord::RecordNotSaved
|
||||
logger.info "Cannot save validation result for #{log_object_id}"
|
||||
true
|
||||
end
|
||||
|
||||
def check_for_records_value(domain:, value:)
|
||||
result = nil
|
||||
dns_servers = ENV['dnssec_resolver_ips'].to_s.split(',').map(&:strip)
|
||||
|
||||
Resolv::DNS.open({ nameserver: dns_servers }) do |dns|
|
||||
dns.timeouts = ENV['a_and_aaaa_validation_timeout'] || 1
|
||||
ress = nil
|
||||
|
||||
case value
|
||||
when 'A'
|
||||
ress = dns.getresources domain, Resolv::DNS::Resource::IN::A
|
||||
when 'AAAA'
|
||||
ress = dns.getresources domain, Resolv::DNS::Resource::IN::AAAA
|
||||
end
|
||||
|
||||
result = ress.map { |r| r.address }
|
||||
end
|
||||
|
||||
result
|
||||
end
|
||||
|
||||
def validation_event_attrs(result)
|
||||
{
|
||||
event_data: event_data(result),
|
||||
|
|
|
@ -12,6 +12,8 @@ module Domains
|
|||
Domain.where(registrant_id: registrant_ids)
|
||||
|
||||
domains.each do |domain|
|
||||
next if domain.expired?
|
||||
|
||||
before_execute_force_delete(domain)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue