Aggiunge IMAP bounce e flag email non valide nel CRM.
CI / scan_ruby (push) Failing after 13m27s
CI / scan_js (push) Successful in 11m45s
CI / lint (push) Failing after 12m4s

Permette di leggere i bounce dalla stessa MailIdentity SMTP, aggiornare le email in anagrafica e saltare gli indirizzi invalidi nei mailing.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-08 19:46:04 +02:00
co-authored by Cursor
parent 353ace4d99
commit 36b3ffe507
26 changed files with 922 additions and 12 deletions
@@ -19,6 +19,9 @@ class Mailings::RecipientBuilder
elsif !email.match?(URI::MailTo::EMAIL_REGEXP)
attrs[:status] = "skipped"
attrs[:skip_reason] = "email non valida"
elsif email_marked_invalid?(org, contact, email)
attrs[:status] = "skipped"
attrs[:skip_reason] = "email bounce / non valida"
else
attrs[:status] = "pending"
end
@@ -54,4 +57,17 @@ class Mailings::RecipientBuilder
end
attrs[:ab_variant] = variant
end
def email_marked_invalid?(org, contact, email)
email = email.to_s.downcase
if contact&.email.to_s.downcase == email && contact.email_invalid?
true
elsif org.email.to_s.downcase == email && org.email_invalid?
true
elsif contact&.bounced_email.to_s.downcase == email || org.bounced_email.to_s.downcase == email
true
else
false
end
end
end