Yeah the basic idea is to send an HTML email (use PHPMailer if you are unsure how to do this -- it has some helpful features) and include a reference to an image on your site which is actually a PHP file with some extra query string after it:
<img src="http://yourdomain.com/tracking_image.php?userid=vinny199@somedomain.com">
That PHP file can run queries on your database to increment the count for the email address found in $GET['userid'] and then just pass through the right headers and image data to send a GIF when requested:
<?php
/* put your code here to update the counts for $_GET['userid'] */
header("Content-type: image/gif"); //or jpeg, etc. depending
readfile("/home/user/tracking_gif"); //send the GIF file data
Ideally the image file would be really small -- 1 pixel by one pixel -- to reduce the strain on your server.