Thinmailer has been superceded by the more robust Oakmailer.

The Demo is disabled! Here's a letter to a recent visitor about why:

The 'Raw' configuration of ThinMailer allows pretty much anyone to log in and send mail. This leaves you open to having a spammer sign on and start sending mail through your server. My installation has NOT been attacked directly in this way, but a recent bout between my ISP and has forced them to be a lot more restrictive on the types of scripts they would like to have active on the network. I have not modified the downloadable version of the script yet and I am busy with too many other (paying ;) projects to have the time to modify the installed version on So, to placate my ISP, I just reset the permissions on the script to lock it down.

Almost everyone who has downloaded and installed ThinMailer has modified it to 'lock down' to a particular web site or group of domains. This is pretty easy to do, because the script is a straight-forward front-end for Sean Dowd's POP3Client module.

I will be re-releasing a more restricted version of ThinMailer in a couple of months.

I still VERY MUCH believe that ThinMailer fills an important niche, super light-weight web site emailing. And the number of downloads to date (over 4,000) lets me know that other webmasters think so too :) I'm just faced, and you, as a webmaster, are as well, with the fact that there are some really unscrupulous people out there.

If you have a little bit of Perl experience, I suggest downloading and playing with the script anyway. ThinMailer is a good base to build your own, more secure, version from. And I have done some of the nit-picky heavy lifting for you with the functions built in.



ThinMailer is ABSOLUTELY FREE. But
donations are accepted. (Any amount greater than 30 cents)

ThinMailer is my attempt to make a very thin email client for the web. The script is pretty straightforward, there are only two files. (I will eventually distill it down to just one file) ThinMailer differs from other web-based email clients because it doesn't require a SMTP connection, you can use Sendmail!

Right now, this program is set up to work with a Unix-flavor box. One more item, TRY TO SIGN ON TO YOUR MAIL ACCOUNT FROM THE INSTALLATION ON THIS SERVER. If it doesn't work for you here, it will probably not work for you from your server.

ThinMailer is Freeware, is ask only that you include a link back to somewhere on the display page.


  • Perl 5.004 or higher with a few standard modules installed (if you are hosting your site with a virtual hosting service, these modules should be installed. If they are not, ask your provider to add them!)
  • Be able to look at a Perl script and have a general idea about what is going on. You will want to customize the look of the pages and I'm sure that you will eventually want to make improvements.

REVISION HISTORY - (Thank you for your suggestions!)

Version 1.41 - January 2nd, 2001


The DELETE function was still not working on a few systems. I set up an account on one of these systems and I think I have it licked now. If you are still having trouble with the delete feature, let me know! UPDATE: This fixed the problem, no one reported any problems after this fix.

Version 1.4 - October 18th, 2000


  • Messages without a SUBJECT are listed with 'No Subject'. There was a problem with Subject-less messages not being readable.
  • Instead of listing the 'TO' information, I am now listing the DATE of the message. The script still has the 'TO' filter available if you want to list that information in the 'List Letters' routine.
  • The Login process has been streamlined a little further. If the connection and cookie are successful, the user is refreshed automatically to the 'List Letters' screen. (the old process required user input to 'go to Inbox')
  • Cleaned up the interface a little more. I have removed the on-screen disclaimer from the login page. Most people were removing this anyway : )
  • For whatever reason, when you delete a message and attempt to list all messages in the same session, the list will still contain the deleted message. After reading the documentation a little more closely, I see why. I have added $pop->Close in several locations throughout the script. This corrects the problem with messages seemingly not deleting from the server.
  • Nicholas D. Ponzio of has also taken a lot of time to add in a few bells and whistles for better usablity. You can see some of his suggestions in the message count now being displayed on the listletters screen and the Next and Previous buttons actually paying attention to whether or not there IS a Next or Previous message. I also like his interface, check it out.

VERSION 1.3 - july 05


  • Does not use $pop->Count to determine if the ID/Pass/Server is correct. This was locking out 30%-40% of ThinMailer users with an 'Invalid PASS' message. If you were getting this message before (even though your information was correct) ThinMailer should miraculously start working correctly for you now.
  • To: From: and Subject: are flushed between listings on the main page. If a message did not have a clear header section, it would sometimes inheret the header of the message before it.
  • PASS and APOP are once again selection options on the sign in page. This should work correctly now, if you are still having problems, let me know!

Version 1.2 - May 30th

The program now has a MUCH better looking interface (thanks to Luke Sampson -see below- for the prod to make the program look good and suggesting the 'Next' and 'Previous' buttons on the message views). Not all of the changes were cosmetic. Several users reported problems using APOP servers with the script, so I have temporarily disabled that option from the log in. I will attempt to track down that problem for the next release. There were also some problems with messages getting bounced back from the recipient server. The header information on outgoing messages was malformed, this caused the receiving mail server to think that the message was spam. There is now a line in the code to allow you to set the name of your sending server. Problem solved!

Version 1.0 - Initial Release May 12th

My first foray into public software design. Let's see where it goes!

Big News! This script is now listed on the Perl Archive

Rate this program at
The Perl Arhive

Please email with requests for what the next feature should be. If you have already written the improvement, so much the better!

I LIKE email telling me what you like and don't like. You provide the impetus to correct program errors.

Hi Richard,

Just wanted to say thanks for providing this script for free. Since my university doesnt allow sending mail from outside the university, the ability to use sendmail instead of smtp was fantastic! I've been able to set up a web interface to my university's email server in a fraction of the time it would have taken me to write it myself. I even had time to customise the script and hardwire it to this server, add my own extremely dodgy implementation of multipart message parsing and a finger facility to find other students email addresses.

Thanks again, I very much like the idea of a "thin" email client and I will be interested to see how this develops.

Luke Sampson

* Displaying the date a message was received within the inbox
* When selecting an email to read within the inbox, you should make the person that it's from the URL link to click, rather than the subject, because if the sender decides not to type in a subject, you won't be able to read the mail...
* Authenticate the user on the page where it says "A cookie has been placed by your browser" rather than after you click on the 'compose' or 'go to inbox' linke.

I hope you take these suggestions into consideration. :)

I have tried about 4 other email scripts, and yours seemed to be the only one that worked, and I particularily liked how easy it was to set-up.

Regards, Mike B.

if people send a message without a subject heading you cant read the message which is a little irritating, whats that all about?

Apart from that - top one!!!

Nick Goligher



All works on this site © Oakbox Productions

Contact Form and Public Key General Work History Basic web mail script