I needed to automate the download of certain files by email. Lucky for me, the Exchange server I needed to hit supported the POP3 mail protocol that almost everybody uses. So I was able to write a very generic tool. You can run it standalone (see the picture below), or you can automate it via Windows Scripting, DOS batch files, or any VBA client!
In addition to all the advantages automation offers, this program solves three other common problems even if you don't use automation:
The Windows GUI is kind of sparse because, well, it's just a convenience feature. Here are some sample screen shots:
In the above graphic, relayed messages (where the sender's email server doesn't match their return email address) are marked with an "R" in the left column. Group messages (where your email address isn't on the "To:" line of the email) are marked with a "G". Any message that has both an R and a G is (as far as I'm concerned) junk. You can see me delete it all in one stroke. I went from 29 messages to 6. That's 80 percent of my spam gone. Remember, this can all be automated so it can be done BEFORE your normal email program is launched! Whatever filters your normal email program has can probably clean up what's left.
Here's how simple a batch file can be (actually, it can be simpler!) that will automatically delete spam, then launch your normal email program:
@echo off > pop3.ini echo [pop3] >> pop3.ini echo PopServer=pop.myisp.com >> pop3.ini echo PopUserName=username >> pop3.ini echo PopPassword=pAsSwOrD >> pop3.ini echo EmailAddressemail@example.com start /w pop3.exe DELETE start msimn.exe clsAnd here's a Windows Scripting Host Visual Basic Script that does the same thing:
Dim intCounter Dim wsh Dim pop Set wsh = CreateObject("Wscript.Shell") Set pop = CreateObject("Pop3.PopApplication") pop.PopUserName = "username" pop.PopServer = "pop.myisp.com" pop.PopPassword = "pAsSwOrD" pop.EmailAddress = "firstname.lastname@example.org" If pop.Login Then For intCounter = 1 to pop.Messages.Count If ((pop.IsRelayed(pop.Messages(intCounter))) And (pop.IsGroup(pop.Messages(intCounter)))) Then pop.Messages(intCounter).Delete End If Next End If Set pop = Nothing wsh.Run "C:\Program Files\Outlook Express\msimn.exe", 1Finally, because nobody uses DOS, here's a simple static screen capture showing that yes, it can be used from the command line:
To download the program, click the "Download Now!" icon near the top of this page.
Alternatives to my program:
GetMail for Windows The flip-side of the popular BLAT program.
w3 JMail I've used JMail for years for it's SMTP feature. They've recently added POP3 support. JMail is strictly ActiveX automation with no GUI.
Lost? Look at the site map.
Bad links? Questions? Send me mail.