Unfortunately, there's no 100% method for determining if a message was delivered to the user's inbox. Even if the server accepts the message, it could get snagged by spam filters or bounced back asynchronously.
A lot of people have mentioned web bug tracking style techniques. These work well for marketing people: they can make assumptions based on sample size. They require HTML emails and that the user loads images in the HTML. This happens automatically in some cases, but a lot of the time people must specifically click a 'download images' button.
Another method is to use Goodmail. Part of their service is tracking which messages actually get delivered and opened. Of course, it costs money and not all mail providers are supported. Again, it's mostly a marketing tool.
You could also have tracking scripts hidden in links. For example, you create a URL that looks like:
http://trackingserver/track/$messageid/http://real.url/goes/here
The track
script then records a 'click' in the database and redirects the client to http://real.url/goes/here
. You then need to have a compelling reason to click that URL every time.