Il problema: quando stavamo inviando newsletter ai clienti, non c'era modo di confermare se il cliente avesse già ricevuto la posta. Abbiamo creato due diversi approcci:
-
(Idea del boss) Ogni volta che viene inviata una mail, fai un INSERT in un db con il titolo della newsletter inviata e l'indirizzo email che riceve l'indirizzo email. Per assicurarti che qualsiasi indirizzo email non riceva la stessa email due volte, fai un SELECT nella tabella e trova il titolo della newsletter inviata:
if (title of newsletter is found) { check to see of the email we are sending mail to is already present. if it does, do not send mail } else { send mail }
-
(La mia idea) crea una colonna chiamata unique e contrassegnala come UNICA. Ogni volta che la posta è stata inviata, concatena l'e-mail + la newsletter e la registra nella riga UNICA. La prossima volta che eseguiremo un controllo "mysql_affected_rows" per vedere se il nostro INSERT ha avuto successo, inviamo la posta, altrimenti c'è già un duplicato e non c'è bisogno di inviarlo.
O l'approccio è oggettivamente superiore? Se sì, quale e perché?