mirror of
https://github.com/internetee/registry.git
synced 2025-06-07 05:05:45 +02:00
38 lines
No EOL
784 B
Ruby
38 lines
No EOL
784 B
Ruby
namespace :collect_invalid_contacts do
|
|
desc 'Starts collect invalid validation contacts'
|
|
task all_domains: :environment do
|
|
Contact.all.each do |contact|
|
|
result = Truemail.validate(contact.email, with: :mx)
|
|
unless result.result.success
|
|
collect_data_for_csv(contact, result.result)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
def find_related_domains(contact)
|
|
Domain.where(id: contact.id)
|
|
end
|
|
|
|
def collect_data_for_csv(contact, result)
|
|
domains = find_related_domains(contact)
|
|
|
|
headers = %w[
|
|
contact
|
|
domain
|
|
error
|
|
]
|
|
|
|
CSV.open('invalid_email.csv', 'w') do |csv|
|
|
csv << headers
|
|
|
|
domains.each do |domain|
|
|
attrs = []
|
|
attrs.push(domain)
|
|
attrs.push(contact.email)
|
|
attrs.push(result.errors)
|
|
|
|
csv << attrs
|
|
end
|
|
end
|
|
end |