Ouwe rakker |
|
Oke, dan gaan we even functioneel te werk.
Wat willen we bereiken
We willen een systeem hebben dat op de server opslaat dat iemand zijn mail gelezen heeft.
Welke gegevens hebben we nodig
Om de mailing te verzenden hebben we natuurlijk het email adres nodig van die personen. Verder hebben we een uniek id nodig waaraan we kunnen aflezen welke persoon zijn mail wel heeft gelezen.
Wat doet GD
GD is dus gewoon een engine onder PHP die het genereren van plaatjes mogelijk maakt. Als je dus vanuit je email een plaatje erin gooit met als src een php file op jouw webserver, dan zal deze (na goedkeuring van user (outlook)) geladen worden.
Oke wat kan ik nu met deze info?
Aangezien GD door PHP wordt afgehandeld en deze zelf dan het plaatje aanmaakt, zal je de vrijheid hebben om te werken met php op je server.
Stel je hebt een loopje waarmee je alle personen mailt. Op jouw server staat een bestand logo.php die een PNG versie van jouw logo output.
<img src="http://jouwdomain.com/logo.php" alt="" />
Mits alles goed geconfigureert is zal er nu een logo verschijnen in de mailing. Maar als we het loopje doorlopen van de mensen die gemailt moeten worden, en we geven een ID mee aan dat bestand... dan kunnen we dat id dus gebruiken om te kijken welke user nou eigenlijk die logo.php heeft aangevraagd.
In de meest basic vorm krijg je dan dus dit:
<?php
$qGetMailing = mysql_query("SELECT userid, username, email
FROM user
WHERE mailing = 1");
while ($aMail = mysql_fetch_assoc($qGetMailing))
{
$sMailBody = '<img src="http://jouwdomain.com/logo.php?id=' . $aMail['userid'] . '" alt="" />';
mail($aMail['email'], '[JouwDomain] Mailing van Oktober', $sMailBody, $sHierWatHeaders);
}
<?php $qGetMailing = mysql_query("SELECT userid, username, email FROM user WHERE mailing = 1"); { $sMailBody = '<img src="http://jouwdomain.com/logo.php?id=' . $aMail['userid'] . '" alt="" />'; mail($aMail['email'], '[JouwDomain] Mailing van Oktober', $sMailBody, $sHierWatHeaders); }
Dat ID kan je dan weer gebruiken in het bestand op jouw server. Aangezien bij elke mail die weg gaat dat id gelijk is aan de userid van een gebruiker, kan je zo loggen welke gebruikers de mailing al wel hebben bekeken. |