Mail Receipt


Mail Receipt is not a single piece of software, but rather a collection of scripts and applications designed to take advantage of those who use HTML enabled MUAs. By embedding an image in a piece of email it is possible to see when the mail is read based on when the image is loaded. If that image is a .cgi script it becomes possible to record information about the viewer and to gather any information provided as parameters to the image's URL in the image tag.

Mail Receipt uses this strategy to allow you to automatically "seed" outgoing messages, collect incoming "receipts", and correlate the two. Using a single pixel transparent gif it is possible to collect receipts without the mail receipient even knowing they've sent a receipt.


Image Script - Status: In-progress (lacks logging)

The Image Script is a .cgi perl script that produces an image when called. While returning the image it logs information about the caller and processes that information along with any parameters provided to the script. The processing is easily configured to take one of several actions. Default actions provided include mailing a receipt to the mail sender or logging the receipt (in XML to a SDBM database) for later correlation by a Receipt Viewer.

Email Seeder - Status: Design Done

The Email Seeder is a perl script sendmail wrapper that takes outgoing email and inserts an image tag into the HTML part. If the message is not already a multi-part MIME message (good for you) it will be made one and a HTML part will be added. The image tag will contain a CGI parameter that uniquely identifies the message for later use when correlating receipts and messages. The message information is logged in XML to a SDBM database.

Receipt Viewers - Status: Vaporware

Receipt viewers will read the SDBM databases created by the Image Script and the Email Seeder and will correlate receipts and messages and present a view showing which messages have been read, how many times, and the information from each reading. Currently I'm thinking the following types of readers will be desirable:


There exist source forge message forums and mailing lists for this project. Feel free to join up if you've got ideas or objections to this project.


While the image script is done, it's not terribly useful without the seeder. I'll release them both as soon as I've got the Mail Seeder actually inserting the tags automatically. In the meantime you can grab the files from the source forge project. To get a copy now check out...


The whole system is a pretty small affair, but anyone who's got ideas or time to write a little perl is welcome to help. Just checkout the project page on the wonderful source forge service.


I wrote this because I was wondering if my employeer intercepted and read office email. One night in April I remembered a slashdot article that talked about some evil spammers using invisible gifs in email and cookies to combine email addresses and "anonymous" cookies.


I'm Ry4an Brase a Java guy who likes Perl too.

Hosted by the amazing SourceForge Logo