MacPine - Pine for MacOS X 10.4

Current version: 4.64
This is a non-standard version of Pine, and as such may not be suitable for production use.
Last updated: December 27, 2007
Contact: Josh Larios <jdlarios@u.washington.edu>

Disclaimer

This is not an official release of Pine. It has been very slightly modified from the release version in order for certain features to work. It is not supported by the UW or the Pine developers. It most likely does not work on versions of OS X prior to 10.4 (Tiger), and may not work on future versions (although initial tests show it working on 10.5).

Overview

In recent versions, Pine has worked under OS X more or less out of the box. If you can compile Pine on any other unix-like system, you should be able to compile it on OS X, and shouldn't need to bother with MacPine. If you don't know what compiling is, how to use a unix command line, or what the Terminal application is good for, MacPine may be what you want.

MacPine is an application which allows you to run Pine without having to know how to open a Terminal window. The UW version launches Pine with a number of options required by people with UWNetID.deskmail.washington.edu accounts, including remote pinerc and default settings for inbox, smtp server, userid and domain. The non-UW version assumes you will be using a local pinerc file, and allows (requires) you to set all options yourself. Both versions include support for LDAP and SSL, and for viewing attachments using the "open" command native to MacOS X.

Downloading and Installing

Each download is approximately 2Mb. There is a version pre-configured for University of Washington users and a version with no particular configuration. Download the appropriate file, double-click on it to open it, and drag the MacPine application into your Applications folder.

Configuration

The UW version asks for your UW NetID when launched, unless you've already launched it once, entered your NetID and told it not to ask again. It uses your UW NetID to populate some configuration options which might otherwise be incorrect. For example, many people have an account name on their OS X system which does not match their UW NetID. An improperly configured pine would send mail with the wrong email address. Pine contains a built-in help system that explains most of the configurable options fairly well.

Here are the most important configuration variables you might want to edit:

personal-name Your name.
user-id This should be your UW NetID, or the user part of user@domain.com.
user-domain u.washington.edu, or the domain.com part of user@domain.com
smtp-server For the UW, this should be smtp.washington.edu/tls/user=UWNetID, using your own NetID, of course.
inbox-path For the UW, this should be {UWNetID.deskmail.washington.edu/user=UWNetID}inbox

To configure MacPine to use the UW's directory server for address lookups, go to (S)etup -> (D)irectory, add a new directory, and use the following values:

ldap-server directory.washington.edu
search-base o=University of Washington, c=US

I like to check the use-implicitly-from-composer option, but that's up to you.

This build of pine has password cache support enabled. I personally do not recommend using this, as your password is insecurely stored in an obfuscated but not encrypted format on the disk. But PC-Pine has this feature enabled, so I enabled it for MacPine. To have MacPine save your passwords, launch the Terminal application and type these commands:

touch ~/.macpine.pwd
chmod 600 ~/.macpine.pwd
After that, any time you have to enter a new password in MacPine, it will ask if you want to save it for later use. The Pine documentation has this to say about this feature:
WARNING! Turning this on is very dangerous and should probably not be done, except on single user systems! [...] Use this feature with caution! It effectively makes the user's mail no more secure than the physical security of the machine running Pine. What's more, while the password is cloaked by a mild (some might say, feeble) encryption scheme, it is nonetheless sitting in a file on the disk and subject to cracking by anyone with access to it. BEWARE!

Technical Details

MacPine is built using Platypus, a tool for creating application wrappers around scripts. The scripts it is wrapping are:

Those scripts use a combination of shell script and applescript to determine if MacPine is already running, then either bring the currently running MacPine to the foreground or launch a new instance, depending.

The UW version launches pine like so:

pine -p {NetID.deskmail.washington.edu/user=NetID}remote_pinerc -mailcap-search-path=/path/to/MacPine/Contents/Resources/mailcap -x ~/.pinercex -user-id=NetID -user-domain=u.washington.edu -smtp-server=smtp.washington.edu/tls/user=NetID -inbox-path={NetID.deskmail.washington.edu/user=NetID}inbox -url-viewers='/usr/bin/open _URL_'
The non-UW version omits everything but the mailcap-search-path and url-viewers.

The mailcap included with MacPine is this:

application/*; open %s
image/*; open %s
audio/*; open %s
video/*; open %s

The pine binary itself was built from source which has had two patches applied to it, in order to:

The build command was:
./build 'EXTRACFLAGS=-DPASSFILE=\".macpine.pwd\"' osx

Known Issues

Feedback

I welcome feedback about MacPine, with the caveat that if you report a problem to me that's a general Pine issue and not specific to MacPine, I may just point you to the regular Pine discussion forums. Please read the "Known Issues" section above to see if your problem has been mentioned before writing me about it. Thanks.

Testing Versions - 2007/12/27

The following versions of MacPine (now with Alpine) are available for testing:

These versions include universal binaries of alpine-1.00. The UW-specific versions launch with the following options: