Scripting History: SilverMail 1.0 And 1.1

Obviously, you live until you die.


SilverMail was the second of my scripts to be released into the wild. The development of this addon was famously long. So long, in fact, that I released two betas before 1.0 (B1 and B2) just to let people keep an eye on what I was doing. There was a good reason for this lengthy coding time; SilverMail was to be the most complete mail client ever written for mIRC. It was, and as far as I’ve seen, it still is. Not only that, but it was several times faster than Netscape Mail or Outlook. And SilverMail 1.0 was less than 30 kilobytes. Not bad, eh? SilverMail 1.1 would bloat that to close to 40k, but that’s still microscopic. Now then, this feature will focus on both SilverMail 1.0 and 1.1, as well as point out the differences between them and explain why I started work on 1.1 as soon as I was done 1.0. In contrast to the last feature I did on scripting, I’m going to be handling the releases separately in this feature. The earliest shots can be spotted, naturally, by my really bad red Windows colors from that period. I would also like to point out here that neither of the SilverMail releases support MIME for attachments; to do such a thing in script was essentially impossible without calling on a DLL, and I couldn’t create those myself. My friend and fellow member of the #gettok clan, nicknamed DragonZap, could have rigged one up for me, but I liked to fly these things alone.

SilverMail 1.0

This is the earliest shot of the main dialog of SilverMail 1.0. In fact, I’m pretty sure this was taken from one of the beta releases. Immediately obvious is the top list box, which sorted received messages by the time they came in. The lower box displayed the message when it was selected. The message being displayed in this shot was sent from SilverMail itself, as the signature shows.

The buttons at the top are relatively straight forward, too. “Get Mail” checked for new mail. “Delete” deleted the currently selected message. “Write” opened the compose dialog to create new mail. “Profiles” opened the profile editor, which contained all the options for SilverMail. Finally, the “About” button opened…the about box!


This is another shot of 1.0, this time taken from the full release, and in much better Windows colors. You can also see it with more than a handful of messages, including those not sent from within SilverMail.


Click the “get” button, and this dialog appears. Hurray! This stays the same in 1.1, so there’s no need to repeat it.


This is the SilverMail 1.0 composer window. As you can see, even in the first version it contained features beyond those that could be expected of a script its size. You could send to multiple addresses by separating them with commas. I neglected to include CC: text boxes, because I thought they looked stupid. Pressing the address button would open your address book, allowing you to add addresses from it. If you clicked the save button, you could save the current message, addressees and all, as a draft. Guess what? The Open button opened these drafts later on.


The profile editor was always part of the plan for SilverMail, because it was what allowed you to have multiple server accounts. Unfortunately, since SilverMail 1.1 was never actually finished, I never completed the new Profile editor for it, so this is the only chance you’re going to get to see it. Anyway, if you look in the upper left corner, you can see a drop box which will allow you to change users. SilverSwd and testuser2 are the only profiles created so far. Selecting one loads that profile instantly in the profile editor, and if you press “Ok” with a different profile loaded, the main SilverMail dialog loads all of its mail and starts working with that profile. The top row of buttons switches views in the profile editor, and I’m going to focus on each of them in turn. Right now we’re in the Servers. The top text box is labeled “POP3 Server”, although you can’t see it. Below that is the login and password for your POP server, your SMTP server, and the email address associated with this account. The buttons on the bottom line are all pretty obvious, I think.


Here is your address book. The right list box shows all of your current contacts. You could select one or multiple of these, and click the “Mail To” button to open the Composer dialog with a new message addressed to all the contacts selected, or to add those contacts to the current message being typed in the Compser. My address book had quite a few people, as you could see…mostly contacts from my #gettok days.

To the left of that list box, we see two text boxes called Email Address and Nickname. By filling in those two boxes and clicking the add button added a new contact to the address box with the given nickname. The Mail To button we’ve already covered. Pressing the Delete button deleted all of the selected addresses from the address book. On the second row, the Modify button allowed you to modify an existing address. The Import button allowed you to import addresses and nicknames from existing SilverMail address books (sorry, no other clients), and the Export button exported your current address book to a file of your choice.


Once you get the Servers out of the way, SilverMail 1.0 didn’t really have that many options. “Check for new mail every (x)”, when selected, automatically checked for new mail, but wouldn’t download it until you pressed the “Get” button. “Show new mail graphic” showed an irritating, animated bitmap (don’t ask) in the main mIRC window when new mail was detected. “Show nicknames in Address Book” is pretty obvious; if it’s not selected, the Address Book shows the email addresses in its display instead. The final option allows you to select and play a new mail sound.

One thing you may notice is missing is an option as to whether or not SilverMail should leave messages on the server. That’s because SilverMail always left messages on the server, because it couldn’t handle MIME attachments. That would have required DLLs to do, and wouldn’t have made SilverMail lean and mean. I’ve already mentioned this, of course, but I thought I’d remind you.


Pick a text file, any text file, and it will be automatically added as a signature to all the mails you send from the Composer! Hurray!

SilverMail 1.1

So, SilverMail was complete. SilverMail 1.1 is me showing off. It was never completely finished, but most of the functionality was in place before I gave up on scripting, and preview releases were sent out among a few of my friends. Even though I already have the screenshot up there, I want to mention two things about SilverMail 1.1 that aren’t obvious; one you can see, one you can’t. What you can’t see is that I upgraded the code base from 1.0 and made it much faster and slicker in 1.1. The development was so long on the original SilverMail that the code was something of a mess; 1.1 got it all in order. The one you can see, vaguely, if you look at the message opened and compare it to one in the SilverMail 1.0 main box above, is that I upgraded the mail harvesting engine.

Now then, what about the obvious stuff? A
ll of the formerly text-only buttons are now much prettier, and there’s a new one called “File.” Yes, SilverMail 1.1 had folders. If you look to the left of the about button, you can see that the currently selected folder is the Inbox and there are three messages in it. In the spirit of its new folders, SilverMail 1.1 also deleted messages to a Trash folder first, instead of oblivion like 1.0. You could have as many folders as you wanted. Not only that, but even though you have no way of seeing it, SilverMail 1.1 supported filters , which could be defined in the profiles dialog. You could match text in body, text in subject, or senders, and filter them to whatever folder you wanted. Hurray!

I also want to point out that Paint Shop Pro’s old JPEG compression sucked. Those buttons looked nice and sharp in person, but not so much so in this image.


It’s prettier. That’s about it for SilverMail 1.1. It may not seem like a lot, but Filters and Folders are no small addition, so don’t sell them short.

The next IRC feature is going to focus on Mercury and other odds and ends from my career. I have no idea when it’s going to be posted.

Leave a comment