Aggiunge IMAP bounce e flag email non valide nel CRM.
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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user