Fix domain expiration mailer email validation

This commit is contained in:
Alex Sherman 2021-03-23 12:50:25 +05:00
parent b5cbb33e1c
commit ab248a641e
7 changed files with 64 additions and 42 deletions

View file

@ -11,7 +11,11 @@ module Domains
saved = domain.save(validate: false)
DomainExpireEmailJob.enqueue(domain.id, run_at: send_time) if saved
return unless saved
recipients.each do |recipient|
DomainExpireEmailJob.enqueue(domain.id, recipient, run_at: send_time)
end
end
def set_graceful_expired
@ -23,6 +27,23 @@ module Domains
def send_time
domain.valid_to + Setting.expiration_reminder_mail.to_i.days
end
def recipients
filter_invalid_emails(domain.expired_domain_contact_emails)
end
def filter_invalid_emails(emails)
emails.select do |email|
valid = Truemail.valid?(email)
unless valid
logger.info('Unable to send DomainExpireMailer#expired email for'\
"domain #{domain.name} (##{domain.id}) to invalid recipient #{email}")
end
valid
end
end
end
end
end