Når man udsender en masse mails, er det rart at være i stand til at se om indholdet bliver læst, og også hvem der læser det. Vi kan ikke køre noget javascript, så vores eneste mulighed er at indsætte et lille billede i mailen. Hvis brugeren vælger at vise billeder er han solgt.
Det billede vil nemlig eksekvere noget server-kode – i det her tilfælde noget PHP. Det er ikke særligt kønt med et billede, der hedder noget med .php, så vi laver et lille trick først…
Forestil dig følgende PNG-billede er indsat i den mail du sender ud. Brugeren kan nemt genkendes på: user=1234.
<img src="https://mydomain/wild_flowers.png?user=1234">
For at få kaldt vores lille php-script, kan vi tilføje to små sætninger i .htaccess:
RewriteEngine On RewriteRule wild_flowers.png open_mail_register.php [QSA,L]
QSA (query string append), er et vigtigt direktiv, der betyder at variablen user=1234 bliver lagt til den endelige forspørgsel. Altså vil bliver følgende fil efterspurgt på serveren:
open_mail_register.php?user=1234
Hvis vi har scriptet: open_mail_register.php liggende ude i roden på serveren, vil php-filen blive eksekveret med $_GET[‘user’] = 1234.
Vi kunne nu vælge at returnere noget ligegyldigt grafik, fx
<? $user = $_GET['user']; // DO SOMETHING WITH THIS INFO $im = imagecreatetruecolor(4, 4); $c = imagecolorallocatealpha($im, 255, 255, 255, 127); imagefill($im, 0, 0, $c); header('Content-Type: image/png'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Expires: 0'); imagepng($im); ?>
Og så gemmer vi blot i databasen eller en fil at 1234 har åbnet sin mail.
Computerworld bruger fx. denne metode, når de sender mails rundt, dog gider de ikke bruge tid på .htaccess-tricket og bestiller blot en .php-fil:
<img src=3D"http://track.computerworld.dk/track/open.php?u=3D30077844&id=3D= c1bb774cc86048faa25ef2d2265fb712" height=3D"1" width=3D"1">
God fornøjelse med tracking 🙂