Wie leest mijn nieuwsbrief
Om de zoveel tijd (vaak maandelijks) worden nieuwsbrieven verzonden van sites waar je bent ingeschreven. Zo krijgen je direct updates van de website in jouw mailbox. Maar als je zelf nieuwsbrieven verstuurd, hoe kan je dan nagaan of je nieuwsbrief wel wordt gelezen en wanneer dit gebeurd? Simpel via een web bug. We plaatsen een kleine afbeelding in jouw nieuwsbrief. Maar die afbeelding is in werkelijkheid een PHP script dat opslaat wanneeer de nieuwsbrief werd gelezen en via welk e-mailadres. Vervolgens toont het scriptje de gevraagde afbeelding van 1px op 1px. Hieronder leg ik uit hoe we deze webbug werkt.
Het script
In dit scriptje werk ik met een html file waar de e-mailadressen inkomen van diegenen die de nieuwsbrief gelezen hebben. Maar je kan evengoed met een database werken. Het scriptje wordt als afbeelding geïnterpreteerd maar zijn eigenlijke functie is gegevens opslaan.
<?
//lezer.php
header("content-type: image/png");
//afbeelding maken (GD2 installed)
$img = imagecreate(1,1);
$background = imagecolorallocatealpha($img,255,255,255,127);
imagepng($img);
imagedestroy($img);
//gegevens ophalen
$email = htmlspecialchars($_GET['lezer']);
$datum = date("d-m-Y H:i:s");
$ip = $_SERVER['REMOTE_ADDR'];
//opslagen in file (vergeet CHMOD niet)
$bestand = fopen('files/lezers.html', 'a+');
fputs($bestand, $email.' ('.$ip.') op '.$datum.'<br />');
fclose($bestand);
?>
Het bovenstaande scriptje maakt een kleine afbeelding aan, haalt de gegevens op en plaatst deze in een .html bestand. Om de gegevens op te slagen in een bestand wordt de functie fopen gebruikt.
Code voor in de nieuwsbrief
Nu moet je op een willekeurige plaats in je nieuwsbrief de afbeelding plaatsen.
<img src="http://www.mijnsite.be/lezer.php?lezer=EMAILADRESLEZER" alt="" width="1" height="1" />
Vergeet niet het e-mailadres van de lezer te plaatsen in de code. Via PHP kan je dit automatisch in elke nieuwsbrief toepassen.
Hoe verstuur ik een e-mail in HTML-formaat?



Artikel details
Share

Soortgelijke artikels