How to configure pine as a generic e-mail client

I recently set up Pine on my brother's Mac OS X Server box. Installation was easy -- we just used Fink -- but actually configuring Pine was another story.

Pine is built to be configured for a centralized computing environment, where e-mail can be sent to users within the LAN over the LAN, because everything is being hosted locally. This is much different from how normal people use e-mail clients like Outlook and Thunderbird; usually, you're accessing remote mail servers through the internet, rather than accessing your e-mail from the command line straight off the mail server.

As a result, the pine documentation uses a different vocabulary than most e-mail clients. For instance, instead of saying "outgoing server", it says "inbox path". Instead of asking for your e-mail address, it asks for your "user-domain" and guesses at your e-mail address based on your command-line login.

The web wasn't much help because most pine configuration pages out there tell you how to configure pine for use in the computing environment of some particular university. This is because universities that haven't yet gotten around to installing SquirrelMail are far and away the biggest users of pine out there.

Eventually I figured it out, and I put up this page in the hopes that Google would index it and someone else out there trying to figure out how to use Pine with remote servers could get some help out of it. You can use Pine just like any other e-mail client, but the settings are a little hard to dig up.

First, at the Pine Main Menu, press "s" to go to the Setup Menu. Then, at the Setup Menu, press "c" to go to the "Config" screen. Here, you'll be confronted with a million options, because Pine is incredibly customizable.

Despite all those complicated configuration options, there are only four things you need to set for incoming and outgoing mail to work well:

  1. personal-name: This should be the plain-text name you want to show up in your e-mails' "From" line. For example: "Billy Foo".

  2. user-domain: This is the portion of your e-mail address after the "@", for instance, "iowaline.net". Pine will, by default, fill in the portion before the "@" with your command-line login. If you want something else to show up as your return e-mail address, go to this page to see how it's done.

  3. smtp-server: This should be your outgoing server in Outlook. A common example is: "mail.iowaline.net".

    The tricky part is that, unlike in other e-mail clients, there's no place to put in optional settings, like the port number or whether you're using Authentication or SSL. Instead, you add them all in this one line, in a specially codified way.

    • If your server is using a port other than 25, specify that in the server name like so: "mail.iowaline.net:69".
    • If you need to authenticate your SMTP server, specify it like so: "mail.iowaline.net/user=billy". You can't specify the password here; you'll have to enter it every time you send e-mail.
    • If you need to connect to your server via SSL, add /SSL.
    • If you rolled your own SSL certificate and don't want to bother with the message about how the certificate couldn't be validated, add /novalidate-cert.

    These modifiers can be combined, in any order, like so: "mail.iowaline.net:69/user=aaron/ssl/novalidate-cert". Just don't end it with a slash, or Pine will tell you you've got an invalid mail server specification.

  4. inbox-path: This one's similar. First, you enter the name of your incoming mail server in the same format as for SMTP. However, you must surround it with {braces}. For instance, my setting is: "{mail.iowaline.net/ssl/novalidate-cert}". Then you follow it with the name of your IMAP inbox. Usually, "inbox" will do. The end result will look like this: "{mail.iowaline.net/ssl/novalidate-cert/username=billy}INBOX". If you don't provide a username here (and your server requires authentication), you'll be prompted for one when pine starts up.

And that's it. Now, you'll need to hit "e" to exit setup, "y" to save your changes, and "q" to quit pine. Then re-enter pine and you should be prompted for your username and password for your e-mail account. Now you can send e-mail from work, and have it look like you're doing hard-core command-line stuff, without the bother of visiting squirrelmail through lynx. Enjoy!

Closing Notes:

Most people these days use the POP e-mail protocol to access their e-mail. Pine, however, uses IMAP, and won't work with your e-mail account unless your provider allows IMAP access. If you want to check, go to www.mail2web.com and use their "Advanced" sign-in to sign in to your account as IMAP. Also, if your provider gives you SquirrelMail for webmail, then your e-mail account does support IMAP.

Be aware of the difference between IMAP and POP: IMAP leaves messages on the server, while POP downloads them and works from the local copies. So if you normally access your email with a POP e-mail client, then you will not be able to see all your old messages with Pine; you'll only be able to see the new messages that your POP client has not yet erased from the server. If you normally access your email with an IMAP client, on the other hand, Pine will work exactly the same.

This page last updated 10/22/1994