There is no easy and consistent way of doing this, but there are hacks that you can use which will work on at least some email clients (depending on how much work you are willing to put in).
1 - In HTML emails, add a single pixel transparent gif image. But, instead of pointing this image to an image on your server, point it to a PHP script with some QUERY STRING vars.
i.e.
<img src="http://localhost/track.php?id=12345">
Give each email a different unique id field and when the script is requested from you server, it logs them as reading the mail, then serves out the image to them.
2 - Try using the Microsoft read request (?? I think that's the name of it) header which Outlook uses. This means that when the mail is read, a mail will (possibly) be sent back to you telling you that the mail has been read. If you can track mails coming into an inbox, then this adds another way to see if someone read it.
I know that these systems wont work for ALL email clients. There is always gonna be Joe Bloggs who uses Pine on *nix, or one of the many Mac clients which don't support these tricks, but generally you should be able to use these tricks to at least get an idea of how many people are reading your email.
Anyhow - hope this helps.