mirror of
https://github.com/internetee/registry.git
synced 2025-07-21 18:26:06 +02:00
implement prototype of invalid emails data parser
This commit is contained in:
parent
cac386a099
commit
940fb2b4ed
2 changed files with 38 additions and 16 deletions
38
lib/tasks/collect_invalid_validation_contacts.rake
Normal file
38
lib/tasks/collect_invalid_validation_contacts.rake
Normal file
|
@ -0,0 +1,38 @@
|
|||
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
|
Loading…
Add table
Add a link
Reference in a new issue