Stealth E-Mail to the Rescue

How to use stealth e-mail with dynamic DNS and a Treo 650 smart phone.
Mail Filing

Establish an IMAP folder hierarchy and Procmail configuration file to file mail in those folders. If you have multiple users, you have to do this for each user. The following configuration uses ~/.m for the folder root directory. The per-user Procmail configuration file is located in ~/.prcmailrc. I use the following .procmailrc file template that implements the essential functionality of separating spam from mail and filing mailing lists. For details, refer to procmailrc(5):


# File gentoo-user mailing list into ~/.m/lst/gentoo
* (^To.*|^Cc.*)

# File jobserve mail into ~/.m/lst/jobserve
* ^From.*

# File SPAM into ~/.m/Spam with some exceptions:
* ^X-Spam-Level:.*\*
 * !^From.*netflix
 * !^From.*vail
 * !^From.*ebay member
 * !^From.*cnet

# File SPAM that escaped spamassassin:
* ^From.*
* ^From.*

Now that the mail processing facilities are in place, you can start Postfix and let the mail start flowing in; I can almost guarantee that the first folder with mail will be your ~/.m/Spam:

# /etc/init.d/postfix start

IMAP Server

The IMAP configuration includes a stunnel SSL front end and the uw-imap back end. The installation for uw-imap is a bit nonstandard, because the default Gentoo configuration does not allow you to build uw-imap with clear-text authentication over an unencrypted channel. The only default uw-imap configuration that works is the one with SSL support. This is not what we need as a server behind stunnel. Gentoo lets you remedy this with a special USE setting to disable SSL and enable clear-text passwords.

The installation command for Gentoo is:

# USE="-ssl clearpasswd" emerge uw-imap

Next, the stunnel configuration file stunnel.conf needs to include an IMAP section. Edit /etc/stunnel/stunnel.conf:

pid = /var/run/stunnel/
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
cert = /etc/ssl/certs/
accept  = 993
exec = /usr/sbin/imapd
execargs = imapd

You can generate a self-signed SSL certificate for with the following commands:

# cd /etc/ssl/certs
# openssl req -new -x509 -nodes -out cacert.pem -keyout cakey.pem -days 5000
        Country Name (2 letter code) [AU]:US
        State or Province Name (full name) [Some-State]:CO
        Locality Name (eg, city) []:Highlands Ranch
        Organization Name (eg, company) [Internet Widgits Pty Ltd]:
        Organizational Unit Name (eg, section) []:home
        Common Name (eg, YOUR name) []
        Email Address []

# cat cakey.pem cacert.pem >

With Gentoo, you must now configure the init rc scripts to start stunnel:

# rc-update add stunnel default

The Treo 650 Setup

As I mentioned, there are two good IMAP clients available for PalmOS. One is the standard application included with the Treo, VersaMail. The other is a commercial application, SnapperMail. My choice was the latter, even in spite of its relatively high cost (approximately $60 US).

Both applications allow for subscribing to a hierarchy of IMAP folders on the server and handling e-mail attachments. SnapperMail is definitely better tested and has a number of features that justify its additional cost.

To install PalmOS applications and generally manage my Treo 650 using Linux, I use pilot-link software. On Gentoo, install it with:

# emerge pilot-link

I use pilot-link to back up and restore my Treo to a directory on Linux as well as to install applications like SnapperMail.

I use Bluetooth and PPP to connect my Treo to a Linux notebook. You also can use a USB connection. The connection channel for pilot-link tools is conveniently defined with a PILOTPORT environment variable. Use the following for a USB cable:

# export PILOTPORT=/dev/tts/USB1

or for Bluetooth, use:

# export PILOTPORT=net:any

I create a directory named treo in my home directory, and run this command to back up my Treo before installing any software:

# pilot-xfer -b treo

I use the following command to synchronize (incrementally) the Treo with this backup directory:

# pilot-xfer -s treo

To restore a backup, use the following:

# pilot-xfer -r treo

Download from to install the SnapperMail application. Unzip the file and run this command:

# pilot-xfer -i SnapperMail-ent.prc

The configuration of the Treo 650 with the Sprint network is best done by ordering the Sprint PCS Vision Professional Pack and letting Sprint support walk you through the setup.

SnapperMail also comes with a good 60-page PDF manual, and its setup is really quite intuitive.

Peter Ziobrzynski is an Independent Consultant based in Toronto, Canada, providing UNIX and Linux consulting services to clients in San Francisco, California, and recently in Denver, Colorado. Peter holds a Master's degree in Engineering from Cracow University of Technology, Poland. He immigrated to Canada in the early 1980s and has been using UNIX since then for work and pleasure. His recent focus is on Linux, and he holds Red Hat RHCE.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

IMAP Server

slot0k's picture

You may want to take a look at dovecot instead of UW-imap.

Re: IMAP Server

pzi123's picture

Looking at the

Looks like quality software. Thanks for the info.


Peter Ziobrzynski

Peter Ziobrzynski

Other ways too

andrewheald's picture

Thanks for some great Treo 650 information. I've just recently acquired one and will be getting it hooked up with Linux soon.

I thought I'd also put in a mention for the excellent combination of Apache, OpenSSL and SquirrelMail. I've worked behind some very security conscious firewall/proxy combos recently. These have always so far at least allowed access to my home webmail directly from the office PC's browser. Owning a domain name and having a fixed IP address also helps with this I'm sure.


Geek Guide
The DevOps Toolbox

Tools and Technologies for Scale and Reliability
by Linux Journal Editor Bill Childers

Get your free copy today

Sponsored by IBM

Upcoming Webinar
8 Signs You're Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
11am CDT, April 29th
Moderated by Linux Journal Contributor Mike Diehl

Sign up now

Sponsored by Skybot