The Technical side of the mail system

This is not a technical manual, but it contains details that are of interest to a some of our users. If this sort of thing makes your eyes glaze over, don't feel compelled to read it.
Why we use this system
This system supports IMAP and webmail, services much in demand by many of our users. It also uses a mailbox format that is less susceptible to locking problems than the old "mbox" format.
As of September 29, 2005, all users' inboxes are in this system by default. (Some users have arranged to have their mail delivered to other types of mailboxes.)
File names
Do not use a period in your folder names.
We strongly suggest that you limit folder names to alphanumeric characters, dashes, and underscores. Spaces and other non-alphanumeric characters may confuse some mail clients.

File structure and location
In the old system, your mail was deposited by default in an "mbox" folder the .mailspool subdirectory of your home directory. The mbox format is folder that consists of a single file, with message separators. For those whose mailers really need mbox, we still support it. You can tweak procmail to deliver your mail to a folder in mbox format anywhere in your home directory space that you'd like.
The current mail system uses inboxes stored as maildir++ instead of mbox. (Many mailers support maildir++; others support IMAP, which is just as good.) Inboxes are on a different server (see How mail is processed, below). You can access your files from the shell through a symbolic link, .maildir, in your home directory.
Each folder contains subdirectories: Within the mail directories, each message is a separate file. The filenames are not pretty, but they're informative, like this:
1081803074.M106035P3086V00001F0FI0002CB99_0.mailproc1.panix.com,S=831
This identifies the message that was delivered 1081803074.106035 seconds after January 1, 1970, by pid 3086 on mailproc1.panix.com, to inode 0x2CB99 on device (31,15). You probably don't need all that information, but if you run date -r on the first ten characters, you'll find that it was delivered on Mon Apr 12 16:51:14 EDT 2004.
You can grep through these files if you want. You can delete them (rm), copy them (cp), rename and relocate them (mv).

You can also create new folders for yourself. Your mail program will probably be happy to do this for you directly or through the IMAP server, but you can also do it from the command line. The command to use is /usr/local/bin/maildirmake (which has a man page).

maildirmake -f Drafts ~/.maildir
creates ~/.maildir/.Drafts, that has the usual tmp, new and cur. You must use the -f option, instead of specifying ~/.maildir/.Drafts directly, in order to correctly initialize certain enhanced maildir features.

Forwarding

In the old system, forwarding was controlled from a .forward file in your home directory. In the new system, it's controlled by a file called "mailfwd" in a directory you own on the mail server. You don't have direct access to that directory, which also holds files that keep your webmail preferences for SpamAssassin, virus checking, the "Advanced Anti-Spam Options", and vacation. (This directory has nothing to do with any of these functions if you run them from procmail.)

To see or modify your mailfwd file, use /usr/local/bin/forward or the Forwarding link in webmail.

The conversion program took the contents of your .forward file into the new (active) mailfwd file, renamed it file to ".forward-converted" and replaced it with a symlink to a warning that editing .forward won't affect the processing of your mail. The same forwarding (including procmail processing, if you're using it) is in effect as was in effect before the conversion.

How mail is processed

(This information is from Ben Rosengart's article, panix.questions #90069, Message-ID: <slrndevjod.kuj.br@panix5.panix.com>.)

Incoming mail goes to mx.panix.com (the "old mail" servers, which weren't always named that). The advanced anti-spam options are taken care of there. Accepted messages are forwarded by SMTP to Postfix on mailproc.panix.com. (In the old system, the servers known as mx.panix.com would do local delivery themselves.) Postfix on the mailprocs pipes each message to maildrop, which reads a per-user file and executes SpamAssassin, virus filtering, custom filtering, etc., as necessary.

Mail sent from the shell hosts goes to mx.panix.com and thence out to the Internet, as before.

Mail sent from customer machines (graphical clients, etc.) goes to mail.panix.com, which hands it off to mx.panix.com.

Webmail, IMAP and POP are all done by mail.panix.com. POP used to be done on mx.panix.com, and still is proxied there for users in the old system.

Mail in the new mail system is stored on a NetApp called postoffice. It used to be on trantor along with the rest of the home directory contents.

Using Unix tools on mail

The message files are all standard text files, and standard Unix tools work just find on them. Because the IMAP server expects folder names to begin with a period, you will have to use "ls -a" to see your folders from the CLI.



Last Modified:Wednesday, 30-Jan-2013 12:14:11 EST
© Copyright 2006-2011 Public Access Networks Corporation