E' un problema di cui si è parlato molto.
Puoi assegnare ad ogni mail inviata un id e inserire nel corpo della mail un immagine che in realtà è generata da uno script php che riceve in input anche l'id.
Stessa cosa per i link: tutti i link della mail devono fare riferimento ad un tuo script che reindirizza alla pagina giusta, ma memorizza l'id della mail.
Il problema delle immagini è che spesso i client e-mail le lasciano disabilitate. Potresti usare come immagini dimamica il logo che inserisci ad altra immagine che pensi l'utente voglia visualizzare.
In questo modo li incentivi a dare l'ok per la visualizzazione delle immagini ed ottieni i dati che ti interessano