Configuration and Preferences

Pine Configuration

There is very little in Pine which requires compile-time configuration. In most cases, the compiled-in preferences will suit users and administrators just fine. When running Pine on a UNIX system, the default built-in configuration can be changed by setting variables in the system configuration files, /usr/local/lib/pine.conf or /usr/local/lib/pine.conf.fixed. (Actually, these files are whatever the definitions for SYSTEM_PINERC and SYSTEM_PINERC_FIXED in pine/osdep/os-xxx.h are set to.) The location of the pine.conf file can be changed with the -P command line argument. Both Pine and PC-Pine also use personal (user-based) configuration files. On UNIX machines, the personal configuration file is the file ~/.pinerc. For PC-Pine systems, the personal configuration file is in $PINERC or <PineRC registry value> or ${HOME}\PINE\PINERC or <PINE.EXE dir>\PINERC. Or the personal configuration file can be specified with the -p command line argument.

After the personal configuration, Pine may optionally use a personal exceptions configuration file which is specified with the command line option "-x exceptions_config". "Exceptions_config" may be either a local file or a remote configuration folder. For Unix Pine, if you don't have a "-x" command line option, Pine will look for the file ".pinercex" in the same local directory that the regular config file is located in. If the regular config file is remote then Unix Pine looks in the home directory for ".pinercex".

For PC-Pine, if you don't have a "-x" command line option, PC-Pine will use the value of the environment variable $PINERCEX. If that is not set, PC-Pine will look for the local file "PINERCEX" in the same local directory that the regular config file is located in. If the regular config file is remote then PC-Pine looks in the local directory specfied by the "-aux local_directory" command line argument, or the directory ${HOME}\PINE, or in <PINE.EXE directory>.

The syntax of a non-list configuration variable is this:

<variable> = <value>
If the value is absent then the variable is unset. To set a variable to the empty value the syntax is "". This is equivalent to an absent value except that it overrides any system-wide value that may be set. Quotes may be used around any value. All values are strings and end at the end of the line or the closing quote. Leading and trailing space is ignored unless it is included in the quotes. There is one variable, use-only-domain-name, for which the only appropriate values are yes and no. That's because it is a variable from the early days of Pine before features existed.

There is also a second type of variable, lists. A list is a comma-separated list of values. The syntax for a list is:

<variable> = <value> [, <value> , ... ]
A list can be continued on subsequent lines by beginning the line with white-space. Both the per-user and global configuration files may contain comments which are lines beginning with a #.

For UNIX Pine, there are five ways in which each variable can be set. In decreasing order of precedence they are:

  1. the system-wide fixed configuration file
  2. a command line argument
  3. the personal exceptions file
  4. the personal configuration file
  5. the system-wide configuration file.

If the variable is not set in any of those places, there is a default setting in the source code.

So, system-wide fixed settings always take precedence over command line flags, which take precedence over per-user exception settings, which take precedence over per-user settings, which take precedence over system-wide configuration settings. PC-Pine has the same list, except that it does not use a system-wide fixed configuration file. This can be modified slightly by using inheritance, which is covered below.

You may get a sample/fresh copy of the system configuration file by running Pine -conf. The result will be printed on the standard output with short comments describing each variable. (The online help in the Setup screens provides longer comments.) If you need to fix some of the configuration variables, you would use the same template for the fixed configuration file as for the regular system-wide configuration file. (If it isn't clear, the purpose of the fixed configuration file is to allow system administrators to restrict the configurability of Pine. It is by no means a bullet-proof method.) Pine will automatically create the personal configuration file the first time it is run, so there is no need to generate a sample. Pine reads and writes the personal configuration file occasionally during normal operation. Users will not normally look at their personal configuration file, but will use the Setup screens from within Pine to set the values in this file. If a user does add additional comments to the personal configuration file they will be retained.

References to environment variables may be included in the Pine configuration files. The format is $variable or ${variable}. The character ~ will be expanded to the $HOME environment variable. For a more complete explanation of how environment variables work, see the section Using Environment Variables.

When environment variables are used for Pine settings which take lists, you must have an environment variable set for each member of the list. That is, Pine won't properly recognize an environment variable which is set equal to a comma-delimited list. It is OK to reference unset environment variables in the Pine configuration file, which will expand to nothing.

Remote and Local Configuration

Beginning with Pine 4.30 there are two types of storage for configuration information. Local configuration files are used by default. These are just regular files on the UNIX system or on the PC. This is the only kind of configuration storage Pine used prior to 4.30. Remote configuration folders are stored on an IMAP server. The advantage of using a remote configuration is that the same information may be accessed from multiple platforms. For example, if you use one computer at work and another at home, the same configuration could be used from both places. A configuration change from one place would be seen in both places. Technical information about remote configuration is in Remote Configuration.

Generic and Exceptional Configuration

If you use Pine from more than one platform it may be convenient to split your configuration information into two pieces, a generic piece and exceptions which apply to a particular platform. For example, suppose you use Pine from home and from work. Most of your configuration settings are probably the same in both locations, so those settings belong in the generic settings configuration. However, you may use a different SMTP server and INBOX from home than you do from work. The "smtp-server" and "inbox-path" variables could be part of your exceptional configuration so that they could be different in the two places.

Beginning with Pine 4.30 you can use the command line option "-x config" to split your configuration into generic and exceptional pieces. Config may be either local or remote.

For most people, splitting the configuration information into two pieces is only going to be useful if the generic information is accessed remotely. If you already have a local pinerc file with settings you like you may find that the command Setup/RemoteConfigSetup will be useful in helping you convert to a remote configuration. The command line flag copy_pinerc may also be useful.

Configuration Inheritance

Configuration inheritance is a power user feature. It is confusing and not completely supported by the configuration user interface.

For configuration variables which are lists, like "smtp-server" or "incoming-folders", the inheritance mechanism makes it possible to combine the values of options from different configuration locations instead of replacing the value. Configuration Inheritance has more information about how inheritance is used.


General Configuration Variables

The following is a list of all Pine configuration variables, in alphabetical order. Note that not all variables apply to all versions of Pine and that some variables are only applicable in a system configuration file and some are only applicable in a personal configuration file. These are configuration variables. Configuration Features are in a separate section.

addrbook-sort-rule
This variable sets up the default address book sorting. Currently, Pine will accept the values dont-sort, fullname-with-lists-last, fullname, nickname-with-lists-last, and nickname. The default is to sort by fullname with lists last.

address-book
A list of personal address books. Each entry in the list is an optional nickname followed by a pathname or file name relative to the home directory. The nickname is separated from the rest of the line with whitespace. Instead of a local pathname or file name, a remote folder name can be given. This causes the address book to be a Remote address book. Remote folder syntax is discussed in Syntax for Remote Folders. This list of address books will be combined with the global-address-book list to arrive at the complete set of address books.

addressbook-formats
This option specifies the format that address books are displayed in. By default, address books are displayed with the nicknames in the first column, the fullnames in the second column, and addresses in the third column. The system figures out reasonable defaults for the widths of the columns. An address book may be given a different format by listing special tokens in the order you want them to display. The possible tokens are NICKNAME, FULLNAME, ADDRESS, FCC, and COMMENT. More details are included in the online help for this variable.

alt-addresses
This option provides a place for you to list alternate email addresses you may have. If set, the option affects the behavior of the Reply command and the + symbol in the "Folder Index", which denotes that a message has been addressed specifically to you.

In the default INDEX display the personal name (or email address) of the person listed in the message's "From:" header field is usually displayed except when that address is yours or one of your alternate addresses. In that case you will usually see the name of the first person specified in the message's "To:" header field with the prefix "To: " prepended.

With respect to Reply, the Reply to All option will exclude addresses listed here.

bugs-additional-data
System-wide configuration files only. Program/Script used by Report Bug command. Output from the program/script is captured and attached to the bug report.

bugs-fullname, bugs-address, local-fullname, local-address, suggest-fullname, and suggest-address
System-wide configuration files only. These are used by the bug report commands which can be accessed from some of the Help screens.

character-set
This sets the character set used by the terminal. Currently appropriate values are US-ASCII, ISO-8859-1 through ISO-8859-9 and ISO-2022-JP. See the section on International Character Sets for more details. The default is US-ASCII.

color-style
UNIX Pine only (color is automatically on with PC-Pine). If the terminal or terminal emulator you are using is capable of displaying colors, this variable controls whether or not color will be used in Pine. If you turn color on and things are set up correctly, you should see color appear on the screen immmediately. Modern terminal emulators are usually capable of displaying colors.

This variable may be set to any of the following values:

no-color
Don't use color.
use-termdef
In order to decide if your terminal is capable of color, Pine looks in the terminal capabilities database, TERMINFO or TERMCAP, depending on how Pine was compiled. This is a good option to choose if you switch between a color and a non-color terminal with the same Pine configuration. Pine will know to use color on the color terminal because it is described in the termcap entry, and Pine will know to use black and white on the non-color terminal. Color Details has more information about configuring a termcap entry for color. This is usually something a system administrator does.
force-ansi-8color
Because setting up a termcap entry is confusing and because the terminal capabilities database is often not correctly configured for color, this choice and the next may be easier for you to use. If your terminal emulator responds to ANSI color escape sequences, which many do, this option will cause Pine to believe your terminal will respond to the escape sequences which produce eight different foreground and background colors. The escape sequences used to set the foreground colors are

ESC [ 3 <color_number> m

where the color_number is an ASCII digit between 0 and 7. The numbers 0 through 7 should correspond to the colors black, red, green, yellow, blue, magenta, cyan, and white. Some terminal emulators use a pre-ANSI scheme which swaps the colors blue and red and the colors yellow and cyan. This will cause the default colors to be different, but other than that things should work fine. The escape sequences used to set the background colors are the same as for the foreground colors except a "4" replaces the "3".

Note: With the Tera Term terminal emulator this setting works well. You should also have the Tera Term "Full color" option turned OFF. You may find the "Full color" option in Tera Term's "Setup" menu, in the "Window" submenu.

force-ansi-16color
Many terminal emulators know about the same eight colors above plus eight more. This option attempts to use all 16 colors. The same escape sequences as for the eight-color terminal are used for the first eight colors. The escape sequences used to set foreground colors 8-15 are the same as for 0-7 except the "3" is replaced with a "9". The background color sequences for colors 8-15 are the same as for 0-7 except the "4" is replaced with "10". You can tell if the 16 colors are working by turning on this option and then going into one of the color configuration screens, for example, the configuration screen for Normal Color. If you see 16 different colors to select from, it's working.

The normal default is "no-color".

Once you've turned on color you may set the colors of many objects on the screen individually. The Color Configuration section has more information, or you may just try it by running the "Setup" command and typing "K" for Kolor to enter the color configuration screen (Kolor instead of Color because C means Config). Most categories of color which Pine supports are configurable there. Index line color is configured separately.

Beginning with Pine 4.41, the default names of some colors were changed in order to have better interoperability between PC-Pine and Unix Pine with both eight and 16-color terminals. Both PC-Pine and 8-color Unix Pine will interpret the colors named color008, color009, ..., color015 as black, red, ..., white. When changing a configuration color they will put the colors black, color009, color010, ..., color015 into the config file. That is, the colors red, green, ..., white will only appear in the config file if put there manually or if they were already there from an older version of Pine. The reason for this is because with 16-color xterm the colors red, green, ..., white are actually two-thirds intensity colors, and the colors color009, color010, ..., color015 (in pine terminology) are full intensity colors which better match the default eight of PC-Pine or 8-color Unix terminal emulators. The idea is that you can use the eight colors of an 8-color terminal on a 16-color terminal and with PC-Pine. Those eight colors will be about the same in all three situations.

In pre-4.41 PC-Pine the three default grays offered were called color008, color009, and color010. Since this conflicts with three of the colors on 16-color terminals these three colors have been renamed colorlgr, colormgr, and colordgr. PC-Pine will attempt to automatically change those color names the first time you run a version higher than 4.40. If that fails for some reason, you will see your old light grays displayed as black, your old medium grays displayed as red, and your old dark grays displayed as green. You may fix these from within the PC-Pine color config screens. If you then go back to running a pre-4.41 version of PC-Pine the colors with the new names (colorlgr...) will show up as Normally colored text.

composer-wrap-column
This option specifies an aspect of Pine's Composer. This gives the maximum width that auto-wrapped lines will have. It's also the maximum width of lines justified using the ^J Justify command. The normal default is 74. The largest allowed setting is normally 80 in order to prevent very long lines from being sent in outgoing mail. When the mail is actually sent, trailing spaces will be stripped off of each line.

current-indexline-style
current-indexline-style.

customized-hdrs
You may add your own custom headers to outgoing messages. Each header you specify here must include the header tag (Reply-To:, Approved:, etc.) and may optionally include a value for that header. If you want to see these custom headers each time you compose a message, you must add them to your default-composer-hdrs list, otherwise they become part of the rich header set which you only see when you press the rich header command. (If you are looking for a way to change which headers are displayed when you view a message, take a look at the viewer-hdrs option instead.) Here's an example which shows how you might set your From address

From: Full Name <user@example.com>

and another showing how you might set a Reply-To address

Reply-To: user@example.com

You may also set non-standard header values here. For example, you could add

Organization: My Organization Name

or even

X-Favorite-Colors: Purple and Gold

If you include a value after the colon then that header will be included in your outgoing messages unless you delete it before sending. If a header in the Customized-Headers list has only a tag but no value, then it will not be included in outgoing messages unless you edit a value in manually. For example, if

Reply-To:

is in the list, then the Reply-To header will be available for editing but won't be included unless a value is added while in the composer.

It's actually a little more complicated than that. The values of headers that you set with the Customized-Headers option are defaults. If the message you are about to compose already has a value for a header, that value is used instead of a value from your Customized-Headers. For example, if you are Replying to a message the Subject field will already be filled in. In that case, if the Customized-Headers list contains a Subject line, the custom subject will NOT be used. The subject derived from the subject of the message you are Replying to will be used instead.

It is also possible to make header setting even more complicated and more automatic by using Roles, but if all you want to do is set a default value for a header, you don't need to think about Roles.

If you change your From address you may also find it useful to add the changed From address to the alt-addresses configuration option.

Because commas are used in the configuration file to separate the list of Customized-Hdrs, you need to quote the value if that value contains a comma. Use double quotes and place the quotes around the entire value part of the header, not including the name of the header. For example, you might have

Organization: "My Organization Name, My City"

as one of the Customized-Hdrs.

dead-letter-files
This option affects Pine's behavior when you cancel a message being composed. Pine's usual behavior is to write the canceled message to a file named "dead.letter" in your home directory, or "DEADLETR" when using PC-Pine, overwriting any previous message.

If you set this option to a value higher than one, then that many copies of dead letter files will be saved. For example, if you set this option to "3" then you may have files named "DEADLETR", "DEADLETR2", and "DEADLETR3"; or "dead.letter", "dead.letter2", and "dead.letter3". In this example, the most recently cancelled message will be in "dead.letter", and the third most recently cancelled message will be in "dead.letter3". The fourth most recently cancelled message will no longer be saved.

If you set this option to zero, then NO record of canceled messages is maintained.

If the feature Quell-Dead-Letter-On-Cancel is set, that overrides whatever you set for this option. If this option had existed at the time, then the Quell feature would not have been added, but it is still there for backwards compatibility. So, in order for this option to have the desired effect, make sure the Quell feature is turned off.

default-composer-hdrs
You can control which headers you want visible when composing outgoing email using this option. You can specify any of the regular set, any Rich Header, or any Customized-Hdrs which you have already defined. If you use this setting at all, you must specify all the headers you want to see, you can't just add to the regular header set. The default set is To:, Cc:, Attchmnt:, and Subject:.

Note that the "Newsgroups:" header will be abbreviated in the Composer display, but should be spelled out in full here.

default-fcc
The name of the folder to which all outgoing mail goes is set here. The compiled-in default is sent-mail (UNIX) or sentmail (PC). It can be set to "" (two double quotes with nothing between them) to turn off saving copies of outgoing mail. If default-fcc is a relative file name, then it is relative to your default collection for saves (see folder-collections).

default-saved-msg-folder
This option determines the default folder name for Saves... If this is not a path name, it will be in the default collection for saves. Any valid folder specification, local or IMAP, is allowed. This default folder only applies when the saved-msg-name-rule doesn't override it. Unix Pine default is normally saved-messages in the default folder collection. PC-Pine default is SAVEMAIL (normally stored as SAVEMAIL.MTX).

disable-setlocale-collate
This is a hard to understand feature that should only be used in rare cases. Normally, the C function call

setlocale(LC_COLLATE, "")

is used by Pine. If you want to try turning it off, setting this feature will turn it off. This part of the locale has to do with the sort order of characters in your locale. A related feature is enable-setlocale-ctype.

disable-these-drivers
This variable is a list of mail drivers which will be disabled. The candidates for disabling are listed below. There may be more in the future if you compile Pine with a newer version of the c-client library.

The mbox driver enables the following behavior: if there is a file called mbox in your home directory, and if that file is either empty or in Unix mailbox format, then every time you open INBOX the mbox driver will automatically transfer mail from the system mail spool directory into the mbox file and delete it from the spool directory. If you disable the mbox driver, this will not happen.

It is not recommended to disable the driver which supports the system default mailbox format. On most non-SCO systems, that driver is the unix driver. On most SCO systems, it is the mmdf driver. The system default driver may be configured to something else on your system; check with your system manager for additional information.

It is most likely not very useful for you to disable any of the drivers other than possibly mbox. You could disable some of the others if you know for certain that you don't need them but the performance gain in doing so is very modest.

disable-these-authenticators
This variable is a list of SASL (Simple Authentication and Security Layer) authenticators which will be disabled. SASL is a mechanism for authenticating to IMAP, POP3, SMTP, and other network servers.

Pine matches its list of supported authenticators with the server to determine the most secure authenticator that is supported by both. If no matching authenticators are found, Pine will revert to plaintext login (or, in the case of SMTP, will be unable to authenticate at all).

The candidates for disabling are listed below. There may be more if you compile Pine with additional authenticators and/or a newer version of the c-client library.

Normally, you will not disable any authenticators. There are two exceptions:

  1. You use a broken server that advertises an authenticator, but does not actually implement it.
  2. You have a Kerberos-capable version of Pine and the server is also Kerberos-capable, but you can not obtain Kerberos credentials on the server machine, thus you desire to disable GSSAPI (which in turn disables Pine's Kerberos support).

It is never necessary to disable authenticators, since Pine will try other authenticators before giving up. However, disabling the relevant authenticator avoids annoying error messages.

display-filters
This option defines a list of text-filtering commands (programs or scripts) that may be used to filter text portions of received messages prior to their use (e.g., presentation in the "Message Text" display screen). For security reasons, the full path name of the filter command must be specified.

Display filters do not work with PC-Pine.

The command is executed and the message is piped into its standard input. The standard output of the command is read back by Pine. The _TMPFILE_ token (see below) overrides this default behavior.

The filter's use is based on the configured trigger string. The format of a filter definition is:

<trigger> <command> <arguments>

You can specify as many filters as you wish, separating them with a comma. Each filter can have only one trigger and command. Thus, two trigger strings which invoke the same command require separate filter specifications.

The trigger is simply text that, if found in the message, will invoke the associated command. If the trigger contains any space characters, it must be placed within quotes. Likewise, should you wish a filter to be invoked unconditionally, define the trigger as the null string, "" (two consecutive double-quote characters). If the trigger string is found anywhere in the text of the message the filter is invoked. Placing the trigger text within the tokens defined below changes where within the text the trigger must be before considering it a match.

Trigger Modifying Tokens:

_CHARSET(string)_
This token tells Pine to invoke the supplied command if the text is in a character set matching string (e.g., ISO-8859-2 or ISO-2022-JP).
_LEADING(string)_
This token tells Pine to invoke the supplied command if the enclosed string is found to be the first non-whitespace text.
NOTE: Quotes are necessary if string contains the space character.
_BEGINNING(string)_
This token tells Pine to invoke the supplied command if the enclosed string is found at the beginning of any line in the text.
NOTE: Quotes are necessary if string contains the space character.

The "command" and "arguments" portion is simply the command line to be invoked if the trigger string is found. Below are tokens that Pine will recognize and replace with special values when the command is actually invoked.

Command Modifying Tokens:

_TMPFILE_
When the command is executed, this token is replaced with the path and name of the temporary file containing the text to be filtered. Pine expects the filter to replace this data with the filter's result. NOTE: Use of this token implies that the text to be filtered is not piped into standard input of the executed command and its standard output is ignored. Pine restores the tty modes before invoking the filter in case the filter interacts with the user via its own standard input and output.
_RESULTFILE_
When the command is executed, this token is replaced with the path and name of a temporary file intended to contain a status message from the filter. Pine displays this in the message status field.
_DATAFILE_
When the command is executed, this token is replaced with the path and name of a temporary file that Pine creates once per session and deletes upon exit. The file is intended to be used by the filter to store state information between instances of the filter.
_PREPENDKEY_
When the command is executed, this token indicates that a random number will be passed down the input stream before the message text. This number could be used as a session key. It does not appear as a command-line argument. It is sent in this way to improve security. The number is unique to the current Pine session and is only generated once per session.

The feature disable-terminal-reset-for-display-filters is related.

Performance caveat/considerations:
Testing for the trigger and invoking the filter doesn't come for free. There is overhead associated with searching for the trigger string, testing for the filter's existence and actually piping the text through the filter. The impact can be reduced if the Trigger Modifying Tokens above are employed.

Limitation:
If Header Colors are being used, the sequences of bytes which indicate color changes will be contained in the text which is passed to the display-filter. If this causes problems you'll need to turn off Header Colors. The thirteen bytes which indicate a color change are the character \377 followed by \010 for a foreground color or \011 for a background color. Then comes eleven characters of RGB data which looks something like 255,  0,255, depending on the particular color, of course.

download-command
This option affects the behavior of the Export command. It specifies a Unix program name, and any necessary command line arguments, that Pine can use to transfer the exported message to your personal computer's disk.

download-command-prefix
This option is used in conjunction with the download-command option. It defines text to be written to the terminal emulator (via standard output) immediately prior to starting the download command. This is useful for integrated serial line file transfer agents that permit command passing (e.g., Kermit's APC method).

editor
UNIX Pine only. Sets the name of the alternate editor for composing mail (message text only, not headers). It will be invoked with the "^_" command or it will be invoked automatically if the enable-alternate-editor-implicitly feature is set.

empty-header-message
When sending, if all of the To, Cc, and Newsgroups fields are empty, Pine will put a special address in the To line. The default value is "undisclosed-recipients: ;". The reason for this is to avoid embarrassment caused by some Internet mail transfer software that interprets a "missing" To: header as an error and replaces it with an Apparently-to: header that may contain the addresses you entered on the Bcc: line, defeating the purpose of the Bcc. You may change the part of this message that comes before the ": ;" by setting the empty-header-message variable to something else.

fcc-name-rule
Determines default folder name for fcc when composing. Currently, Pine will accept the values default-fcc, by-recipient, or last-fcc-used. If set to default-fcc, then Pine will use the value defined in the default-fcc variable (which itself has a default) for the Fcc header field. If set to by-recipient, then Pine will use the name of the recipient as a folder name for the fcc. The relevant recipient is the first address in the To field. If set to "last-fcc-used", then Pine will offer to Fcc to whatever folder you used previously. In all cases, the field can still be edited after it is initially assigned. If the fcc field in the address book is set for the first To address, that value over-rides any value derived from this rule.

feature-list
This is a list of the many features (options) which may be turned on or off. There is a separate section titled Configuration Features which explains each of the features. There is some additional explanation about the feature-list variable itself in Feature List Variable.

file-directory
PC-Pine only. This value affects the Composer's "^J Attach" command, the Attachment Index Screen's "S Save" command, and the Message Index's "E Export" command.

Normally, when a filename is supplied that lacks a leading "path" component, Pine assumes the file exists in the user's home directory. Under Windows operating systems, this definition isn't always clear. This feature allows you to explictly set where Pine should look for files without a leading path.

NOTE: this feature's value is ignored if either use-current-dir feature is set or the PINERC has a value for the operating-dir variable.

folder-collections
This is a list of one or more collections where saved mail is stored. See the sections describing folder collections and collection syntax for more information. The first collection in this list is the default collection for Saves, including default-fcc's.

folder-extension
PC-Pine only. File extension used for local folder names. This is .MTX by default.

folder-reopen-rule
Pine normally checks for new mail in the currently open folder and in the INBOX every few minutes.

There are some situations where automatic new-mail checking does not work. For example, if a mail folder is opened using the POP protocol or a newsgroup is being read using the NNTP protocol, then new-mail checking is disabled.

It may be possible to check for new mail in these cases by reopening the folder. Pine does not do this for you automatically, but you may do the commands manually to cause this to happen. You reopen by going back to the folder list screen from the message index screen with the "<" command, and then going back into the message index screen with the ">" command. (Actually, any method you would normally use to open a folder will work the same as the "<" followed by ">" method. For example, the GoTo Folder command will work, or you may use L to go to the Folder List screen and Carriage Return to reopen the folder.)

There are some cases where Pine knows that reopening the folder should be useful as a way to discover new mail. At the time of this writing, connections made using the POP protocol, news reading using the NNTP protocol, local news reading, and local ReadOnly folders which are in the traditional UNIX or the MMDF format all fall into this category. There are other cases where it may be a way to discover new mail, but Pine has no way of knowing, so it might also just be an exercise in futility. All remote, ReadOnly folders other than those listed just above fall into this category. The setting of this option together with the type of folder controls how Pine will react to the apparent attempt to reopen a folder.

If you don't reopen, then you will just be back in the message index with no change. You left the index and came back, but the folder remained "open" the whole time. However, if you do reopen the folder, the folder is closed and then reopened. In this case, the current state of the open folder is lost. The New status, Important and Answered flags, selected state, Zoom state, collapsed or expanded state of threads, current message number, and any other temporary state is all lost when the reopen happens. For POP folders (but not NNTP newsgroups) the Deleted flags are also lost.

In the possibilities listed below, the text says "POP/NNTP" in several places. That really implies the case where Pine knows it is a good way to discover new mail, which is more than just POP and NNTP, but POP and NNTP are the cases of most interest. This option probably has more possible values than it deserves. They are:

Always reopen
Pine will not ask whether you want to reopen but will just do the reopen whenever you type a command that implies a reopen, regardless of the access method. In other words, it is assumed you would always answer Yes if asked about reopening.
Yes for POP/NNTP, Ask about other remote [Yes]
Pine will assume a Yes answer if the access method is POP or NNTP, but will ask you whether to reopen other remote folders, with a default answer of Yes.
Yes for POP/NNTP, Ask about other remote [No]
Pine will assume a Yes answer if the access method is POP or NNTP, but will ask you whether to reopen other remote folders, with a default answer of No.
Yes for POP/NNTP, No for other remote
Pine will assume a Yes answer if the access method is POP or NNTP, and will assume a No answer for all other remote folders.
Always ask [Yes]
Pine will not differentiate based on access method. It will always ask for all remote folders, with a default answer of Yes.
Always ask [No]
Pine will not differentiate based on access method. It will always ask for all remote folders, with a default answer of No.
Ask about POP/NNTP [Yes], No for other remote
Pine will ask if the access method is POP or NNTP, with a default answer of Yes. It will never attempt to reopen other remote folders.
Ask about POP/NNTP [No], No for other remote
This is the default. Pine will ask if the access method is POP or NNTP, with a default answer of No. It will never attempt to reopen other remote folders.
Never reopen
Pine will never attempt to reopen already open folders.

Remember, wherever it says POP or NNTP above it really means POP or NNTP or any of the other situations where it is likely that reopening is a good way to discover new mail.

There is an alternative that may be of useful in some situations. Instead of manually checking for new mail you can set up a Mail Drop and automatically check for new mail.

folder-sort-rule
This option controls the order in which folder list entries will be presented in the FOLDER LIST screen. Choose one of the following:
Alphabetical
sort by alphabetical name independent of type
Alpha-with-dirs-last
sort by alphabetical name grouping directory entries to the end of the list
Alpha-with-dirs-first
sort by alphabetical name grouping directory entries to the start of the list
The normal default is Alphabetical.

font-name
Winsock version of PC-Pine only.

font-size
Winsock version of PC-Pine only.

font-style
Winsock version of PC-Pine only.

forced-abook-entry
System-wide Pine configuration files only. Force these address book entries into all writable personal address books. This is a list variable. Each item in the list has the form:
Nickname | Fullname | Address
with optional whitespace in all the obvious places.

form-letter-folder
A Form Letter Folder is a mail folder that is intended to contain messages that you have composed and that are intended to be sent in their original form repeatedly.

Setting this variable will alter Pine's usual behavior when you execute the Compose command. Normally, Pine offers a chance to continue a postponed or interrupted message should one or the other exist. When this variable is set to a folder name that exists, Pine will also offer the chance to select a message from the folder to insert into the composer, much like when continuing a postponed message. The difference, however, is that Pine will not automatically delete the selected message from the Form Letter Folder.

Setting this variable will also affect Pine's behavior when you Postpone a message from the composer. Normally, Pine simply stashes the message away in your Postponed-Folder. Regardless of the specified folder's existence, Pine will ask which folder you intend the message to be stored in. Choose the "F" option to store the message in your Form Letter Folder. This is the most common way to add a message to the folder.

Another method of adding messages to the folder is via the Pine composer's Fcc: field. If you are sending a message that you expect to send in the same form again, you can enter the Form Letter Folder's name in this field. Pine, as usual, will copy the message as it's sent. Note, when you later select this message from your Form Letter Folder, it will have the same recipients as the original message.

To delete a message from the Form Letter Folder, you can either select the folder from a suitable FOLDER LIST screen, or use the Delete command in the MESSAGE INDEX offered when selecting from the folder as part of the Compose command. You can delete a Form Letter Folder just as any other folder from a suitable FOLDER LIST screen.

You may find that the Roles facility introduced in Pine 4.10 can be used to replace the Form Letter Folder.

global-address-book
A list of shared address books. Each entry in the list is an optional nickname followed by a pathname or file name relative to the home directory. A SPACE character separates the nickname from the rest of the line. Instead of a local pathname or file name, a remote folder name can be given. This causes the address book to be a Remote address book. Remote folder syntax is discussed in Syntax for Remote Folders. This list will be added to the address-book list to arrive at the complete set of address books. Global address books are defined to be ReadOnly.

goto-default-rule
This value affects Pine's behavior when using the Goto command. There are five possible values for this option:

folder-in-first-collection
Pine will offer the most recently visited folder in the default collection found in the "Collection List" screen as the default.

inbox-or-folder-in-first-collection
If the current folder is INBOX, Pine will offer the most recently visited folder in the default collection found in the "Collection List" screen. If the current folder is other than INBOX, INBOX is offered as the default.

inbox-or-folder-in-recent-collection
This is Pine's default behavior. If the current folder is INBOX, Pine will offer the last open folder as the default. If the current folder is other than INBOX, INBOX is offered as the default.

first-collection-with-inbox-default
Instead of offering the most recently visited folder in the default collection, the default collection is offered but with INBOX as the default folder. If you type in a folder name it will be in the default collection. If you simply accept the default, however, your INBOX will be opened.

most-recent-folder
The last accepted value simply causes the most recently opened folder to be offered as the default regardless of the currently opened folder.

NOTE: The default while a newsgroup is open remains the same; the last open newsgroup.

image-viewer
This variable names the program to call for displaying parts of a MIME message that are of type IMAGE. If your system supports the mailcap system, you don't need to set this variable.

inbox-path
This specifies the name of the folder to use for the INBOX. By default this is unset and the system's default is used. The most common reason for setting this is to open an IMAP mailbox for the INBOX. For example, {imap5.u.example.edu}inbox will open the user's standard INBOX on the mail server, imap5.

incoming-archive-folders
This is like read-message-folder, only more general. This is a list of folder pairs, with the first separated from the second in the pair by a space. The first folder in a pair is the folder you want to archive, and the second folder is the folder that read messages from the first should be moved to. Depending on how you define the auto-move-read-msgs feature, you may or may not be asked when you leave the first folder if you want read messages to be moved to the second folder. In either case, moving the messages means they will be deleted from the first folder.

If these are not path names, they will be in the default collection for Saves. Any valid folder specification, local or remote (via IMAP), is allowed. There is no default.

incoming-folders
This is a list of one or more folders other than INBOX that may receive new messages. This list is slightly special in that it is always expanded in the folder lister. In the future, it may become more special. For example, it would be nice if Pine would monitor the folders in this list for new mail.

incoming-startup-rule
This rule affects Pine's behavior when opening the INBOX or another folder from the "INCOMING MESSAGE FOLDERS". This rule tells Pine which message to make the current message when an incoming folder is opened. There are seven possible values for this option:

first-unseen
The current message will be the first unseen message which has not been marked deleted, or the last message if all of the messages have been seen. This is the default setting.

first-recent
This is similar to first-unseen. Instead of first unseen it is the first recent message. A message is considered to be recent if it arrived since the last time the folder was open (by any mail client, not just the current one). So this option causes the current message to be set to the first undeleted-recent message, or the last message if none is both undeleted and recent.

first-important
This will result in the current message being set to the first message marked Important (but not Deleted). If no messages are marked Important, then it will be the last message.

first-important-or-unseen
This selects the minimum of the first unseen and the first important messages.

first-important-or-recent
This selects the first of the first recent and the first important messages.

first
Set the current message to the first undeleted message unless all are deleted. In that case set it to the last message.

last
Set the current message to the last undeleted message unless all are deleted. In that case set it to the last message.

index-answered-background-color
index-answered-foreground-color
index-deleted-background-color
index-deleted-foreground-color
index-important-background-color
index-important-foreground-color
index-new-background-color
index-new-foreground-color
index-recent-background-color
index-recent-foreground-color
index-to-me-background-color
index-to-me-foreground-color
index-unseen-background-color
index-unseen-foreground-color
Index Colors.

index-format
This option is used to customize the content of lines in the MESSAGE INDEX screen. Each line is intended to convey some amount of immediately relevant information about each message in the current folder.

Pine provides a pre-defined set of informational fields with reasonable column widths automatically computed. You can, however, replace this default set by listing special tokens in the order you want them displayed.

The list of available tokens is here.

Spaces are used to separate listed tokens. Additionally, you can specify how much of the screen's width the taken's associated data should occupy on the index line by appending the token with a pair of parentheses enclosing either a number or percentage. For example, "SUBJECT(13)" means to allocate 13 characters of space to the subject column, and "SUBJECT(20%)" means to allocate 20% of the available space to the subjects column, while plain "SUBJECT" means the system will attempt to figure out a reasonable amount of space.

There is always one space between every pair of columns, so if you use fixed column widths (like 13) you should remember to take that into account. Several of the fields are virtually fixed-width, so it doesn't make much sense to specify the width for them. The fields STATUS, FULLSTATUS, IMAPSTATUS, MSGNO, the DATE fields, SIZE, and DESCRIPSIZE all fall into that category. You may specify widths for those if you wish, but you're probably better off letting the system pick those widths.

The default is equivalent to:

index-format=STATUS MSGNO DATE FROMORTO(33%) SIZE SUBJECT(67%)

This means that the four fields without percentages will be allocated first, and then 33% and 67% of the remaining space will go to the from and subject fields. If one of those two fields is specified as a percentage and the other is left for the system to choose, then the percentage is taken as an absolute percentage of the screen, not of the space remaining after allocating the first four columns. It doesn't usually make sense to do it that way. If you leave off all the widths, then the subject and from fields (if both are present) are allocated space in a 2 to 1 ratio, which is almost exactly the same as the default.

What you are most likely to do with this configuration option is to specify which fields appear at all, which order they appear in, and the percentage of screen that is used for the from and subject fields if you don't like the 2 to 1 default.

initial-keystroke-list
This is a comma-separated list of keystrokes which Pine executes on startup. Items in the list are usually just characters, but there are some special values. SPACE, TAB, and CR mean a space character, tab character, and a carriage return, respectively. F1 through F12 stand for the twelve function keys. UP, DOWN, LEFT, and RIGHT stand for the arrow keys. Control characters are represented with ^<char>. A restriction is that you can't mix function keys and character keys in this list even though you can, in some cases, mix them when running Pine. A user can always use only character keys in the startup list even if he or she is using function keys normally, or vice versa. If an element in this list is a string surrounded by double quotes (") then it will be expanded into the individual characters in the string, excluding the double quotes.

kblock-passwd-count
System-wide Pine configuration files only. Number of times a user will have to enter a password when they run the keyboard lock command in the main menu.

keylabel-background-color
keylabel-foreground-color
KeyLabel Color.

keyname-background-color
keyname-foreground-color
KeyName Color.

keywords
You may define your own set of keywords and optionally set them on a message by message basis. These are similar to the "Important" flag which the user may set using the Flag command. The difference is that the Important flag is always present for each folder. User-defined keywords are chosen by the user. You may set up the list of possible keywords here. Then you use the Flag command to set or clear the keywords in each message.

Keywords may be used when Selecting messages (Select Keyword). You will need to enable the enable-aggregate-command-set option to use Select. Keywords may also be used in the Patterns of Rules (Filters, Indexcolors, etc). Filter rules may be used to set keywords automatically. Keywords may be displayed as part of the Subject of a message by using the SUBJKEY or SUBJKEYINIT tokens in the Index-Format option. The Keyword-Surrounding-Chars option may be used to modify the display of keywords using SUBJKEY and SUBJKEYINIT slightly. Keywords may also be displayed in a column of their own in the MESSAGE INDEX screen by using the KEY or KEYINIT tokens. It is also possible to color keywords in the index using the Setup/Kolor screen (Keyword Colors). Keywords are not supported by all mail servers.

You may give keywords nicknames if you wish. If the keyword definition you type in contains a SPACE character, then the actual value of the keyword is everything after the last SPACE and the nickname for that keyword is everything before the last SPACE. For example, suppose you are trying to interoperate with another email program which uses a particular keyword with an unpleasant name. Maybe it uses a keyword called

VendorName.SoftwareName.08

but for you that keyword means that the message is work-related. You could define a keyword to have the value

Work VendorName.SoftwareName.08

and then you would use the name "Work" when dealing with that keyword in Pine. If you defined it as

My Work VendorName.SoftwareName.08

the nickname would be everything before the last SPACE, that is the nickname would be "My Work".

Some commonly used keywords begin with dollar signs. This presents a slight complication, because the dollar sign is normally used to signify environment variable expansion in the Pine configuration. In order to specify a keyword which begins with a dollar sign you must precede the dollar sign with a second dollar sign to escape its special meaning. For example, if you want to include the keyword

$Label1

as one of your possible keywords, you must enter the text

$$Label1

instead.

keyword-surrounding-chars
This option controls a minor aspect of Pine's MESSAGE INDEX and MESSAGE TEXT screens. If you have modified the Index-Format option so that either the "SUBJKEY" or "SUBJKEYINIT" tokens are used to display keywords or their initials along with the Subject; then this option may be used to modify the resulting display slightly. By default, the keywords or initials displayed for these tokens will be surrounded with curly braces ({ and }) and a trailing space. For example, if keywords "Work" and "Now" are set for a message, the "SUBJKEY" token will normally look like

{Work Now} actual subject

and the SUBJKEYINIT token would look like

{WN} actual subject

The default character before the keywords is the left brace ({) and the default after the keywords is the right brace followed by a space (} ).

This option allows you to change that. You should set it to two values separated by a space. The values may be quoted if they include space characters. So, for example, the default value could be specified explicitly by setting this option to

Keyword-Surrounding-chars="{" "} "

The first part wouldn't need to be quoted (but it doesn't hurt). The second part does need the quotes because it includes a space character. If you wanted to change the braces to brackets you could use

Keyword-Surrounding-chars="[" "] "

Inside the quotes you can use backslash quote to mean quote, so

Keyword-Surrounding-chars="\"" "\" "

would produce

"Work Now" actual subject

It is also possible to color keywords in the index using the Setup/Kolor screen (Keyword Colors).

It is not possible to change the fact that a space character is used to separate the keywords if more than one keyword is set for a message. It is also not possible to change the fact that there are no separators between the keyword initials if more than one keyword is set.

last-time-prune-questioned
Personal configuration file only. This variable records the month the user was last asked if his or her sent-mail folders should be pruned. The format is yy.mm. This is automatically updated by Pine when the the pruning is done or declined. If a user wanted to make Pine stop asking this question he or she could set this time to something far in the future. This may not be set in the system-wide configuration files. Note: The yy year is actually the number of years since 1900, so it will be equal to 101 in the year 2001.

last-version-used
Personal configuration file only. This is set automatically by Pine. It is used to keep track of the last version of Pine that was run by the user. Whenever the version number increases, a new version message is printed out. This may not be set in the system-wide configuration files.

ldap-servers
This is only available if Pine was linked with an LDAP library when it was compiled. This variable is normally managed by Pine though it can be set in the system-wide configuration files as well as the personal configuration. It is a list variable. Each item in the list contains quite a bit of extra information besides just the server name. To put this into a system-wide config file the easiest thing to do is to configure a personal Pine for the LDAP server then copy the configuration line into the system-wide config file. Each item in the list looks like:
server_name[:port] "quoted stuff"
The server_name is just a hostname and it is followed by an optional colon and port number. The default port is 389. Following the server name is a single SPACE character followed by a bunch of characters inside double quotes. The part inside the quotes is a set of tag = value pairs. Each tag is preceded by a slash (/) and followed by an equal sign. The value for that tag is the text up to the next slash. An example of some quoted stuff is:
"/base=o=University of Washington, c=US/impl=0/.../nick=My Server"
This would set the search base for this server to o=University of Washington, c=US, set the implicit bit to zero, and set the nickname for the server to My Server. All of the tags correspond directly to items in the Setup/Directory screen so experiment with that if you want to see what the possible tags and values are.

literal-signature
With this option your actual signature, as opposed to the name of a file containing your signature, is stored in the Pine configuration file. If this is defined it takes precedence over the signature-file option.

This is simply a different way to store the signature data. The signature is stored inside your Pine configuration file instead of in a separate signature file. Tokens contained in the signature work the same way they do with the regular signature-file.

The Setup/Signature command in Pine's Main Menu will edit the literal-signature by default. However, if no literal-signature is defined and the file named in the signature-file option exists, then the latter will be used instead. Compose (Reply, Forward, ...) will default to using the literal-signature if defined, otherwise it will use the contents of the file named in signature-file.

The Pine composer is used to edit the literal-signature. The result of that edit is first converted to a C-style string before it is stored in the configuration file. In particular, the two character sequence \n (backslash followed by the character "n") will be used to signify a line-break in the signature. You don't have to enter the \n, but it will be visible in the SETUP CONFIGURATION window after you are done editing the signature.

mail-check-interval
This option specifies, in seconds, how often Pine will check for new mail. If set to zero, new-mail checking is disabled. (You can always manually force a new-mail check by typing ^L (Ctrl-L), which is also the command to refresh the screen, or by typing the Next command when the current message is the last message of the folder.) There is a minimum value for this option, normally 15 seconds. The default value is normally 150 seconds. The higher you set this option, the easier it is on the server.

There are some situations where automatic new-mail checking does not work. See the discussion about new-mail checking in folder-reopen-rule.

The new-mail checking will not happen exactly at the frequency that you specify. For example, Pine may elect to defer a non-INBOX mail check if you are busy typing. Or, it may check more frequently than you have specified if that is thought to be necessary to keep the server from closing the connection to the folder due to inactivity. If Pine checks for new mail as a side effect of another command, it will reset the timer, so that new-mail checking may seem to happen irregularly instead of every X seconds like clockwork.

If you are anxious to know about new mail as soon as possible, set the check interval low, and you'll know about the new mail by approximately that amount of time after it arrives. If you aren't so worried about knowing right away, set this option to a higher value. That will save the server some processing time and may save you some of the time you spend waiting for new-mail checks to happen if you are dealing with a slow server or slow network connection.

If you suspect that new-mail checking is causing slow downs for you, you may want to look into the options Quell-Mailchecks-Composing-Except-Inbox, Quell-Mailchecks-Composing-Inbox and Mail-Check-Interval-Noncurrent, which refine when mail checking is done.

If the mailbox being check uses a Mail Drop then there is a minimum time (maildrop-check-minimum) between new-mail checks. Because of this minimum you may notice that new mail does not appear promptly when you expect it. The reason for this is to protect the server from over-zealous opening and closing of the Mail Drop folder, since that is a costly operation.

A side effect of disabling mail checking is that there will be situations in which the user's IMAP connection will be broken due to inactivity timers on the server. Another side effect is that the user-input-timeout option won't work.

mail-check-interval-noncurrent
This option is closely related to the Mail-Check-Interval option, as well as the Quell-Mailchecks-Composing-Except-Inbox and Quell-Mailchecks-Composing-Inbox options. If the "Mail-Check-Interval" option is set to zero, then automatic new-mail checking is disabled and this option will have no effect.

Normally this option is set to zero, which means that the value used will be the same as the value for the "Mail-Check-Interval". If you set this option to a value different from zero (usually larger than the value for "Mail-Check-Interval") then that is the check interval that will be used for folders which are not the currently open folder or the INBOX. You may not even have any folders that are noncurrent and not the INBOX. If you do, it is likely that they are due to Stay-Open-Folders you have configured. This option also affects the rate of mail checking done on cached connections to folders you previously had open but are no longer actively using. You aren't expected to understand that last sentence, but if you are interested take a look at Max-Remote-Connections, and the related options.

mail-directory
This variable was more important in previous versions of Pine. Now it is used only as the default for storing personal folders (and only if there are no folder-collections defined). The default value is ~/mail on UNIX and ${HOME}\MAIL on a PC.

mailcap-search-path
This variable is used to replace Pine's default mailcap file search path. It takes one or more file names (full paths must be specified) in which to look for mail capability data.

maildrop-check-minimum
New-mail checking for a Mail Drop is a little different from new mail checking for a regular folder. One of the differences is that the connection to the Mail Drop is not kept open and so the cost of checking (delay for you and additional load for the server) may be significant. Because of this additional cost we set a minimum time that must pass between checks. This minimum only applies to the automatic checking done by Pine. If you force a check by typing ^L (Ctrl-L) or by typing the Next command when you are at the end of a folder index, then the check is done right away.

This option specifies, in seconds, the minimum time between Mail Drop new-mail checks. You may want to set this minimum high in order to avoid experiencing some of the delays associated with the checks. Note that the time between checks is still controlled by the regular Mail-Check-Interval option. When Pine is about to do an automatic check for new mail (because the Mail-Check-Interval has expired) then if the time since the last new-mail check of any open Mail Drops has been greater than the MailDrop-Check-Minimum, the Mail Drop is checked for new mail as well. Therefore, it is only useful to set this option to a value that is higher than the Mail-Check-Interval.

If this option is set to zero, automatic Mail Drop new-mail checking is disabled. There is a minimum value, normally 60 seconds. The default value is normally 60 seconds as well. This applies to the INBOX and to the currently open folder if that is different from the INBOX.

max-remote-connections
This option affects low-level behavior of Pine. The default value for this option is 2. If your INBOX is accessed using the IMAP protocol from an IMAP server, that connection is kept open throughout the duration of your Pine session, independent of the value of this option. The same is true of any Stay-Open-Folders you have defined. This option controls Pine's behavior when connecting to remote IMAP folders other than your INBOX or your Stay-Open-Folders. It specifies the maximum number of remote IMAP connections (other than those mentioned above) that Pine will use for accessing the rest of your folders. If you set this option to zero, you will turn off most remote connection re-use. It's difficult to understand exactly what this option does, and it is usually fine to leave it set to its default value. It is probably more likely that you will be interested in setting the Stay-Open-Folders option instead of changing the value of this option. A slightly longer explanation of what is going on with this option is given in the next paragraphs.

There are some time costs involved in opening and closing remote IMAP folders, the main costs being the time you have to wait for the connection to the server and the time for the folder to open. Opening a folder may involve not only the time the server takes to do its processing but time that Pine uses to do filtering. These times can vary widely. They depend on how loaded the server is, how large the folder being opened is, and how you set up filtering, among other things. Once Pine has opened a connection to a particular folder, it will attempt to keep that connection open in case you use it again. In order to do this, Pine will attempt to use the Max-Remote-Connections (the value of this option) IMAP connections you have alloted for this purpose.

For example, suppose the value of this option is set to "2". If your INBOX is accessed on a remote server using the IMAP protocol, that doesn't count as one of the remote connections but it is always kept open. If you then open another IMAP folder, that would be your first remote connection counted as one of the Max-Remote-Connections connections. If you open a third folder the second will be left open, in case you return to it. You won't be able to tell it has been left open. It will appear to be closed when you leave the folder but the connection will remain in the background. Now suppose you go back to the second folder (the first folder after the INBOX). A connection to that folder is still open so you won't have to wait for the startup time to open it. Meanwhile, the connection to the third folder will be left behind. Now, if you open a fourth folder, you will bump into the Max-Remote-Connections limit, because this will be the third folder other than INBOX and you have the option set to "2". The connection that is being used for the third folder will be re-used for this new fourth folder. If you go back to the third folder after this, it is no longer already connected when you get there. You'll still save some time since Pine will re-use the connection to the fourth folder and you have already logged in on that connection, but the folder will have to be re-opened from scratch.

If a folder is large and the startup cost is dominated by the time it takes to open that folder or to run filters on it, then it will pay to make the value of this option large enough to keep it open. On the other hand, if you only revisit a handful of folders or if the folders are small, then it might make more sense to keep this number small so that the reconnect time (the time to start up a new connection and authenticate) is eliminated instead.

You may also need to consider the impact on the server. On the surface, a larger number here may cause a larger impact on the server, since you will have more connections open to the server. On the other hand, not only will you be avoiding the startup costs associated with reopening a folder, but the server will be avoiding those costs as well.

When twenty five minutes pass without any active use of an IMAP connection being saved for possible re-use, that connection will be shut down,

mimetype-search-path
This variable is used to replace Pine's default mime.types file search path. It takes one or more file names (full paths must be specified) in which to look for file-name-extension to MIME type mapping data. See the Config Notes for details on Pine's usage of the MIME.Types File.

new-version-threshold
When a new version of Pine is run for the first time it offers a special explanatory screen to the user upon startup. This option helps control when and if that special screen appears for users that have previously run Pine. It takes as its value a Pine version number. Pine versions less than the specified value will supress this special screen while versions equal to or greater than that specified will behave normally.

newmail-fifo-path
This option is only available in UNIX Pine. However, there is a very similar feature built in to PC-Pine. In PC-Pine's Config menu at the top of the screen is an option called "New Mail Window".

You may have Pine create a FIFO special file (also called a named pipe, see mkfifo(3) and fifo(4)) where it will send a one-line message each time a new message is received in the current folder, the INBOX, or any open Stay-Open-Folders. To protect against two different Pines both writing to the same FIFO, Pine will only create the FIFO and write to it if it doesn't already exist.

A possible way to use this option would be to have a separate window on your screen running the command

cat filename

where "filename" is the name of the file given for this option. Because the file won't exist until after you start Pine, you must first start Pine and then run the "cat" command. You may be tempted to use "tail -f filename" to view the new mail log. However, the common implementations of the tail command will not do what you are hoping.

The width of the messages produced for the FIFO may be altered with the NewMail-Window-Width option.

On some systems, fifos may only be created in a local filesystem. In other words, they may not be in NFS filesystems. This requirement is not universal. If the system you are using supports it, it should work. (It is often the case that your home directory is in an NFS filesystem. If that is the case, you might try using a file in the "/tmp" filesystem, which is usually a local filesytem.) Even when it is possible to use an NFS-mounted filesystem as a place to name the fifo (for example, your home directory), it will still be the case that the reader (probably the "cat" command) and the writer (Pine) of the fifo must be running on the same system.

newmail-window-width
UNIX Pine only.

This option is only useful if you have turned on the NewMail-FIFO-Path option. That option causes new mail messages to be sent to a fifo file. Those messages will be 80 characters wide by default. You can change the width of the messages by changing this option. For example, if you are reading those messages in another window you might want to set this width to the width of that other window.

For UNIX Pine, this option is only useful if you have turned on the NewMail-FIFO-Path option. That option causes new mail messages to be sent to a fifo file. Those messages will be 80 characters wide by default. You can change the width of those messages by changing this option. For example, if you are reading those messages in another window you might want to set this width to the width of that other window.

If you are using PC-Pine, it has an option in the Config menu to turn on the "New Mail Window". The present option also controls the width of that window.

news-active-file-path
This option tells Pine where to look for the "active file" for newsgroups when accessing news locally, rather than via NNTP. The default path is usually /usr/lib/news/active.

news-collections
This is a list of collections where news folders are located. See the section describing collections for more information.

news-spool-directory
This option tells Pine where to look for the "news spool" for newsgroups when accessing news locally, rather than via NNTP. The default path is usually /usr/spool/news.

newsrc-path
This option overrides the default name Pine uses for your "newsrc" news status and subscription file. If set, Pine will take this value as the full pathname for the desired newsrc file.

nntp-range
This option applies only to newsgroups accessed using the NNTP protocol. It does not, for example, apply to newsgroups accessed using an IMAP-to-NNTP proxy.

When you open a connection to a News server using the NNTP protocol, you normally have access to all of the articles in each newsgroup. If a server keeps a large backlog of messages it may speed performance some to restrict attention to only the newer messages in a group. This option allows you to set how many article numbers should be checked when opening a newsgroup. You can think of "nntp-range" as specifying the maximum number of messages you ever want to see. For example, if you only ever wanted to look at the last 500 messages in each newsgroup you could set this option to 500. In actuality, it isn't quite that. Instead, for performance reasons, it specifies the range of article numbers to be checked, beginning with the highest numbered article and going backwards from there. If there are messages that have been canceled or deleted their article numbers are still counted as part of the range.

So, more precisely, setting the "nntp-range" will cause article numbers

last_article_number - nntp-range + 1 through last_article_number

to be considered when reading a newsgroup. The number of messages that show up in your index will be less than or equal to the value of "nntp-range".

The purpose of this option is simply to speed up access when reading news. The speedup comes because Pine can ignore all but the last nntp-range article numbers, and can avoid downloading any information about the ignored articles. There is a cost you pay for this speedup. That cost is that there is no way for you to see those ignored articles. The articles that come before the range you specify are invisible to you and to Pine, as if they did not exist at all. There is no way to see those messages using, for example, an unexclude command or something similar. The only way to see those articles is to set this option high enough (or set it to zero) and then to reopen the newsgroup.

If this option is set to 0 (which is also the default), then the range is unlimited. This option applies globally to all NNTP servers and to all newsgroups on those servers. There is no way to set different values for different newsgroups or servers.

nntp-server
One or more NNTP servers (host name or IP address) which Pine will use for reading and posting news. If you read and post news to and from a single NNTP server, you can get away with only setting the nntp-server variable and leaving the news-collections variable unset.

When you define an NNTP server, Pine implicitly defines a news collection for you, assuming that server as the news server and assuming that you will use the NNTP protocol and a local newsrc configuration file for reading news. See also Configuring News.

Your NNTP server may offer NNTP "AUTHINFO SASL" or "AUTHINFO USER" authentication. It may even require it. If your NNTP server does offer such authentication you may specify a user name parameter to cause Pine to attempt to authenticate. The same is true for the server name in a folder collection which uses NNTP. This parameter requires an associated value, the username identifier with which to establish the server connection. An example might be:

nntpserver.example.com/user=katie

If authentication is offered by the server, this will cause Pine to attempt to use it. If authentication is not offered by the server, this will cause Pine to fail with an error similar to:

Error: NNTP authentication not available

For more details about the server name possibilities see Server Name Syntax.

normal-background-color
normal-foreground-color
Normal Color.

operating-dir
System-wide Pine configuration files only. This names the root of the tree to which the user is restricted when reading and writing folders and files. It is usually used in the fixed configuration file.

patterns-filters2
Matching patterns and their corresponding actions are stored in this variable. These patterns are used with Filtering. This variable is normally maintained through the Setup/Rules/Filters configuration screen. It is a list variable. Each member of the list is a single pattern/action pair, or it can be a file which contains zero or more lines of pattern/action pairs. The only way to create a filters file is to use the InsertFile command in the Setup/Rules/Filters screen with a filename which doesn't yet exist. Then use the Shuffle command to move existing filter patterns into the file. This isn't very convenient but it isn't thought that many users will need this functionality. The purpose of filter files is for sharing filters.

patterns-indexcolors
Matching patterns and their corresponding actions are stored in this variable. These patterns are used for Index Line Colors. This variable is normally maintained through the Setup/Rules/Indexcolor configuration screen. It is a list variable. Each member of the list is a single pattern/action pair, or it can be a file which contains zero or more lines of pattern/action pairs. The only way to create a indexcolor file is to use the InsertFile command in the Setup/Rules/Indexcolor screen with a filename which doesn't yet exist. Then use the Shuffle command to move existing patterns into the file. This isn't very convenient but it isn't thought that many users will need this functionality. The purpose of indexcolor files is for sharing indexcolors.

patterns-other
Matching patterns and their corresponding actions are stored in this variable. These patterns are used with Miscellaneous Rules configuration. This variable is normally maintained through the Setup/Rules/Other configuration screen. It is a list variable. Each member of the list is a single pattern/action pair, or it can be a file which contains zero or more lines of pattern/action pairs. The only way to create a rules file is to use the InsertFile command in the Setup/Rules/Other screen with a filename which doesn't yet exist. Then use the Shuffle command to move existing rules into the file. This isn't very convenient but it isn't thought that many users will need this functionality.

patterns-roles
Matching patterns and their corresponding actions are stored in this variable. These patterns are used with Roles. This variable is normally maintained through the Setup/Rules/Roles configuration screen. It is a list variable. Each member of the list is a single pattern/action pair, or it can be a file which contains zero or more lines of pattern/action pairs. The only way to create a roles file is to use the InsertFile command in the Setup/Rules/Roles screen with a filename which doesn't yet exist. Then use the Shuffle command to move existing roles into the file. This isn't very convenient but it isn't thought that many users will need this functionality. The purpose of role files is for sharing roles.

patterns-scores2
Matching patterns and their corresponding actions are stored in this variable. These patterns are used with Scoring. This variable is normally maintained through the Setup/Rules/SetScores configuration screen. It is a list variable. Each member of the list is a single pattern/action pair, or it can be a file which contains zero or more lines of pattern/action pairs. The only way to create a scores file is to use the InsertFile command in the Setup/Rules/SetScores screen with a filename which doesn't yet exist. Then use the Shuffle command to move existing scoring patterns into the file. This isn't very convenient but it isn't thought that many users will need this functionality. The purpose of scoring files is for sharing scoring rules.

personal-name
Personal configuration file only. User's full personal name. On UNIX systems, the default is taken from the accounts data base (/etc/passwd). The easiest way to change the full From address is with the customized-hdrs variable.

personal-print-category
Personal configuration file only. This is the category that the default print command belongs to. There are three categories. Category 1 is an attached printer which uses the ANSI escape sequence, category 2 is the standard system print command, and category 3 is the set of custom printer commands defined by the user. This just helps Pine figure out where to put the cursor when the user runs the Setup/Printer command. This is not used by PC-Pine.

personal-print-command
Personal configuration file only. This corresponds to the third category in the printer menu, the personally selected print commands. This variable contains the list of custom commands that the user has entered in the Setup/Printer screen. This is not used by PC-Pine.

postponed-folder
The folder where postponed messages are stored. The default is postponed-msgs (Unix) or POSTPOND (PC).

print-font-name
Winsock version of PC-Pine only.

print-font-size
Winsock version of PC-Pine only.

print-font-style
Winsock version of PC-Pine only.

printer
Personal configuration file only. This is the current setting for a user's printer. This variable is set from Pine's Setup/Printer screen.

prompt-background-color
prompt-foreground-color
Prompt Color.

pruned-folders
This variable allows you to define a list of one or more folders that Pine will offer to prune for you in the same way it automatically offers to prune your "sent-mail" folder each month. Each folder in this list must be a folder in your default folder collection (the first folder collection if you have more than one), and it is just the relative name of the folder in the collection, not the fully-qualified name. It is similar to sent-mail. Instead of something like

pruned-folders={servername}mail/folder

the correct value to use would be

folder

There is an assumption here that your first collection is the folders in

{servername}mail

Once a month, for each folder listed, Pine will offer to move the contents of the folder to a new folder of the same name but with the previous month's date appended. Pine will then look for any such date-appended folder names created for a previous month, and offer each one it finds for deletion.

If you decline the first offer, no mail is moved and no new folder is created.

The new folders will be created in your default folder collection.

pruning-rule
By default, Pine will ask at the beginning of each month whether or not you want to rename your sent-mail folder to a name like sent-mail-month-year. (See the feature prune-uses-yyyy-mm to change the format of the folder to sent-mail-yyyy-mm.) It will also ask whether you would like to delete old sent-mail folders. If you have defined read-message-folder or pruned-folders Pine will also ask about pruning those folders. With this option you may provide an automatic answer to the rename questions and you may tell Pine to not ask about deleting old folders.

quote1-background-color
quote1-foreground-color
quote2-background-color
quote2-foreground-color
quote3-background-color
quote3-foreground-color
Quote Colors.

quote-suppression-threshold
This option should be used with care. It will cause some of the quoted text to be eliminated from the display when viewing a message in the MESSAGE TEXT screen. For example, if you set the Quote-Suppression-Threshold to the value "5", this will cause quoted text that is longer than five lines to be truncated. Quoted text of five or fewer consecutive lines will be displayed in its entirety. Quoted text of more than six lines will have the first five lines displayed followed by a line that looks something like

[ 12 lines of quoted text hidden from view ]

As a special case, if exactly one line of quoted text would be hidden, the entire quote will be shown instead. So for the above example, quoted text which is exactly six lines long will will be shown in its entirety. (In other words, instead of hiding a single line and adding a line that announces that one line was hidden, the line is just shown.)

If the sender of a message has carefully chosen the quotes that he or she includes, hiding those quotes may change the meaning of the message. For that reason, Pine requires that when you want to set the value of this variable to something less than four lines, you actually have to set it to the negative of that number. So if you want to set this option to "3", you actually have to set it to "-3". The only purpose of this is to get you to think about whether or not you really want to do this! If you want to delete all quoted text you set the value of this option to the special value "-10".

The legal values for this option are

     0      Default, don't hide anything
 -1,-2,-3   Suppress quote lines past 1, 2, or 3 lines
 4,5,6,...  Suppress if more than that many lines
   -10      Suppress all quoted lines

If you set this option to a non-default value you may sometimes wish to view the quoted text that is not shown. When this is the case, the HdrMode (Header Mode) command may be used to show the hidden text. Typing the "H" command once will show the hidden text. Typing a second "H" will also turn on Full Header mode. The presence or absence of the HdrMode command is determined by the "Enable-Full-Header-Cmd" Feature-List option in your Pine configuration, so you will want to be sure to turn that on if you use quote suppression.

For the purposes of this option, a quote is a line that begins with the character ">".

Quotes are only suppressed when displaying a message on the screen. The entire quote will be left intact when printing or forwarding or something similar.

read-message-folder
If set, mail in the INBOX that has been read but not deleted is moved here, or rather, the user is asked whether or not he or she wants to move it here upon quitting Pine.

remote-abook-history
Sets how many extra copies of remote address book data will be kept in each remote address book folder. The default is three. These extra copies are simply old versions of the data. Each time a change is made a new copy of the address book data is appended to the folder. Old copies are trimmed, if possible, when Pine exits. An old copy can be put back into use by deleting and expunging newer versions of the data from the folder. Don't delete the first message from the folder. It is a special header message for the remote address book and it must be there. This is to prevent regular folders from being used as remote address book folders and having their data destroyed.

remote-abook-metafile
Personal configuration file only. This is usually set by Pine and is the name of a file that contains data about remote address books and remote configuration files.

remote-abook-validity
Sets the minimum number of minutes that a remote address book will be considered up to date. Whenever an entry contained in a remote address book is used, if more than this many minutes have passed since the last check the remote server will be queried to see if the address book has changed. If it has changed, the local copy is updated. The default value is five minutes. The special value of -1 means never check. The special value of zero means only check when the address book is first opened.

No matter what the value, the validity check is always done when the address book is about to be changed by the user. The check can be initiated manually by typing ^L (Ctrl-L) while in the address book maintenance screen for the remote address book.

quote-replace-string
This option specifies what string to use as a quote when viewing a message. The standard way of quoting messages when replying is the string "> " (quote space). With this variable set, viewing a message will replace occurrences of "> " with the replacement string. This setting works best when Reply-Indent-String or the equivalent setting in your correspondents' mail programs is set to the default "> ", but it will also work fine with the Reply-Indent-String set to ">".

By default, this setting will only work on messages that are flowed, which is the default way of sending messages for many mail clients including versions of Pine after 4.60. Enable the feature Quote-Replace-Nonflowed to also have quote-replacement performed on non-flowed messages.

Setting this option will replace ">" and "> " with the new setting. This string may include trailing spaces. To preserve those spaces enclose the full string in double quotes.

No padding to separate the text of the message from the quote string is added. This means that if you do not add trailing spaces to the value of this variable, text will be displayed right next to the quote string, which may be undesirable. This can be avoided by adding a new string separated by a space from your selection of quote string replacement. This last string will be used for padding. For example, setting this variable to ">" " " has the effect of setting ">" as the quote-replace-string, with the text padded by a space from the last quote string to make it more readable.

One possible setting for this variable could be "    " (four spaces wrapped in quotes), which would have the effect of indenting each level of quoting four spaces and removing the ">"'s. Different levels of quoting could be made more discernible by setting colors for quoted text.

Replying to or forwarding the viewed message will preserve the original formatting of the message, so quote-replacement will not be performed on messages that are being composed.

reply-indent-string
This variable specifies an aspect of Pine's Reply command. When a message is replied to and the text of the message is included, the included text usually has the string "> " prepended to each line indicating it is quoted text.

This option specifies a different value for that string. If you wish to use a string which begins or ends with a space, enclose the string in double quotes.

Besides simple text, the prepended string can be based on the message being replied to. The following tokens are substituted for the message's corresponding value:

_FROM_
This token gets replaced with the message sender's "username". At most six characters are used.
_NICK_
This token gets replaced with the nickname of the message sender's address as found in your addressbook. If no addressbook entry is found, Pine replaces the characters "_NICK_" with nothing. At most six characters are used.
_INIT_
This token gets replaced with the initials of the sender of the message.
When the enable-reply-indent-string-editing feature is enabled, you are given the opportunity to edit the string, whether it is the default or one automatically generated using the above tokens.

reply-leadin
This variable specifies an aspect of Pine's Reply command. When a message is replied to and the text of the message is included, that text has an introductory line preceding it. The normal default if you don't set this variable looks something like:

On Sat, 24 Oct 1998, Fred Flintstone wrote:

where the day of the week is only included if it is available in the original message. You may replace this default with text of your own. The text may contain tokens which are replaced with text which depends on the message you are replying to. For example, the default is equivalent to:

On _DAYDATE_, _FROM_ wrote:

The list of available tokens is here.

For the adventurous, there is a way to conditionally include text based on whether or not a token would result in specific replacement text. For example, you could include some text based on whether or not the _NEWS_ token would result in any newsgroups if it was used. It's explained in detail here.

If your Reply-Leadin turns out to be longer than 80 characters when replying to a particular message, it is shortened.

In the very unlikely event that you want to include a literal token in the introduction line you must precede it with a backslash character. For example,

\_DAYDATE_ = _DAYDATE_

would produce something like

_DAYDATE_ = Sat, 24 Oct 1998

It is not possible to have a literal backslash followed by an expanded token.

reverse-background-color
reverse-foreground-color
Reverse Color.

rsh-command
Sets the format of the command used to open a UNIX remote shell connection. The default is "%s %s -l %s exec /etc/r%sd". All four "%s" entries MUST exist in the provided command. The first is for the command's pathname, the second is for the host to connnect to, the third is for the user to connect as, and the fourth is for the connection method (typically imap).

rsh-open-timeout
Sets the time in seconds that Pine will attempt to open a UNIX remote shell connection. The default is 15, the minimum non-zero value is 5, and the maximum is unlimited. If this is set to zero rsh connections will be completely disabled.

rsh-path
Sets the name of the command used to open a UNIX remote shell connection. The default is typically /usr/ucb/rsh.

saved-msg-name-rule
Determines default folder name when Saving. If set to default-folder (which is the default setting), then Pine will offer the folder "saved-messages" (UNIX) or "SAVEMAIL" (PC) for Saving messages. The default folder offered in this way may be changed by using the configuration variable default-saved-msg-folder.

If this rule is set to last-folder-used, Pine offers to Save to the folder you last successfully Saved a message to (this session). The first time you Save a message in a session, Pine offers to Save the message to the default folder.

Choosing any of the by- options causes Pine to attempt to get the chosen option's value for the message being Saved (or for the first message being Saved if using an aggregate Save). For example, if by-from is chosen, Pine attempts to get the value of who the message came from (i.e. the from address). Pine then attempts to Save the message to a folder matching that value. If by-from is chosen and no value is obtained, Pine uses by-sender. The opposite is also true. If by-recipient was chosen and the message was posted to a newsgroup, Pine will use the newsgroup name. If by-replyto is chosen and no value is obtained, Pine uses by-from.

If any of the "by-realname" options are chosen, Pine will attempt to use the personal name part of the address instead of the mailbox part. If any of the "by-nick" options are chosen, the address is looked up in your address book and if found, the nickname for that entry is used. Only simple address book entries are checked, not distribution lists. Similarly, if any of the "by-fcc" options are chosen, the fcc from the corresponding address book entry is used. If by-realname, or the by-nick or by-fcc lookups result in no value, then if the chosen option ends with the "then-from", "then-sender", "then-replyto", or "then-recip" suffix, Pine reverts to the same behavior as "by-from", "by-sender", "by-replyto", or "by-recip" depending on which option was specified. If the chosen option doesn't end with one of the "then-" suffixes, then Pine reverts to the default folder when no match is found in the address book.

Here is an example to make some of the options clearer. If the message is From

Fred Flintstone <flint@bedrock.org>

and this rule is set to "by-from", then the default folder offered in the save dialog would be "flint".

If this rule is set to "by-realname-of-from" then the default would be "Fred Flintstone".

If this rule is set to "by-nick-of-from" then Pine will search for the address "flint@bedrock.org" in your address book. If an entry is found and it has a nickname associated with it, that nickname will be offered as the default folder. If not, the default saved message folder will be offered as the default.

If this rule is set to "by-fcc-of-from" then Pine will search for the address "flint@bedrock.org" in your address book. If an entry is found and it has an Fcc associated with it, that Fcc will be offered as the default folder. If not, the default saved message folder will be offered as the default.

If this rule is set to "by-nick-of-from-then-from" then Pine will search for the address "flint@bedrock.org" in your address book. If an entry is found and it has a nickname associated with it, that nickname will be offered as the default folder. If it is not found (or has no nickname) then the default offered will be the same as it would be for the "by-from" rule. That is, it would be "flint"

scroll-margin
This option controls when Pine's line-by-line scrolling occurs. Typically, when a selected item is at the top or bottom screen edge and the UP or DOWN (and Ctrl-P or Ctrl-N) keys are pressed, the displayed items are scrolled down or up by a single line.

This option allows you to tell Pine the number of lines from the top and bottom screen edge that line-by-line scrolling should occur. For example, setting this value to one (1) will cause Pine to scroll the display when you move to select an item on the display's top or bottom edge (instead of moving when you move off the edge of the screen).

By default, this variable is zero (0), indicating that scrolling happens when you move up or down to select an item immediately off the display's top or bottom edge.

selectable-item-background-color
selectable-item-foreground-color
Selectable-item Color.

sending-filters
This option defines a list of text-filtering commands (programs and scripts) that may be selectively invoked to process a message just before it is sent. If set, the Composer's ^X Send command will allow you to select which filter (or none) to apply to the message before it is sent. For security reasons, the full path of the filter program must be specified.

Sending filters do not work with PC-Pine and sending filters are not used if the feature send-without-confirm is set.

Command Modifying Tokens:

_RECIPIENTS_
When the command is executed, this token is replaced with the space delimited list of recipients of the message being sent.
_TMPFILE_
When the command is executed, this token is replaced with the path and name of the temporary file containing the text to be filtered. Pine expects the filter to replace this data with the filter's result. NOTE: Use of this token implies that the text to be filtered is not piped into standard input of the executed command and its standard output is ignored. Pine restores the tty modes before invoking the filter in case the filter interacts with the user via its own standard input and output.
_RESULTFILE_
When the command is executed, this token is replaced with the path and name of a temporary file intended to contain a status message from the filter. Pine displays this in the message status field.
_DATAFILE_
When the command is executed, this token is replaced in the command line with the path and name of a temporary file that Pine creates once per session and deletes upon exit. The file is intended to be used by the filter to store state information between instances of the filter.
_PREPENDKEY_
When the command is executed, this token indicates that a random number will be passed down the input stream before the message text. It is not included as a command-line argument. This number could be used as a session key. It is sent in this way to improve security. The number is unique to the current Pine session and is only generated once per session.
_INCLUDEALLHDRS_
When the command is executed, this token indicates that the headers of the message will be passed down the input stream before the message text. It is not included as a command-line argument. The filter should, of course, remove the headers before returning control to Pine.
_MIMETYPE_
When the command is executed, this token is replaced in the command name with a temporary file name used to accept any new MIME Content-Type information necessitated by the output of the filter. Upon the filter's exit, if the file contains new MIME type information, Pine verifies its format and replaces the outgoing message's MIME type information with that contained in the file. This is basically a cheap way of sending something other than Text/Plain.

sendmail-path
This names the path to an alternative program, and any necessary arguments, to be used in posting mail messages. See the section on SMTP and Sendmail for more details.

signature-file
This is the name of a file which will be automatically inserted into outgoing messages. It typically contains information such as your name, email address and organizational affiliation. Pine adds the signature into the message as soon as you enter the composer so you can choose to remove it or edit it on a message by message basis. Signature file placement in message replies is controlled by the signature-at-bottom setting in the feature list.

This defaults to ~/.signature on UNIX and <PINERC directory>\PINE.SIG on a PC.

To create or edit your signature file choose Setup from the Main Menu and then select S for Signature (Main/Setup/Signature). This puts you into the Signature Editor where you can enter a few lines of text containing your identity and affiliation.

If the filename is followed by a vertical bar (|) then instead of reading the contents of the file the file is assumed to be a program which will produce the text to be used on its standard output. The program can't have any arguments and doesn't receive any input from Pine, but the rest of the processing works as if the contents came from a file.

Instead of storing the data in a local file, the signature data may be stored remotely in an IMAP folder. In order to do this, you must use a remote name for the file. A remote signature-file name might look like:

{myimaphost.myschool.k12.wa.us}mail/signature

or, if you have an SSL-capable version of Pine, you might try

{myimaphost.myschool.k12.wa.us/user=loginname/ssl}mail/signature

The syntax used here is the same as the syntax used for remote configuration files from the command line. Note that you may not access an existing signature file remotely, you have to create a new folder which contains the signature data. If the name you use here for the signature file is a remote name, then when you edit the file from the Setup/Signature command the data will be stored remotely in the folder. You aren't required to do anything special to create the folder, it gets created automatically if you use a remote name.

Besides regular text, the signature file may also contain (or a signature program may produce) tokens which are replaced with text which usually depends on the message you are replying to or forwarding. For example, if the signature file contains the token

_DATE_

anywhere in the text, then that token is replaced by the date the message you are replying to or forwarding was sent. If it contains

_CURDATE_

that is replaced with the current date. The first is an example of a token which depends on the message you are replying to (or forwarding) and the second is an example which doesn't depend on anything other than the current date. You have to be a little careful with this facility since tokens which depend on the message you are replying to or forwarding will be replaced by nothing in the case where you are composing a new message from scratch. The use of roles may help you in this respect. It allows you to use different signature files in different cases.

The list of tokens available for use in the signature file is here.

Instead of, or along with the use of roles to give you different signature files in different situations, there is also a way to conditionally include text based on whether or not a token would result in specific replacement text. For example, you could include some text based on whether or not the _NEWS_ token would result in any newsgroups if it was used. This is explained in detail here. This isn't for the faint of heart.

In the very unlikely event that you want to include a literal token in the signature you must precede it with a backslash character. For example,

\_DAYDATE_ = _DAYDATE_

would produce something like

_DAYDATE_ = Sat, 24 Oct 1998

It is not possible to have a literal backslash followed by an expanded token.

signature-background-color
signature-foreground-color
Signature Color.

smtp-server
One or more SMTP servers (host name or IP address) which Pine will use for outgoing mail. If not set, Pine passes outgoing email to the sendmail program on the local machine. PC-Pine users must have this variable set in order to send mail as they have no sendmail program.

Your SMTP server may offer SMTP AUTH authentication. It may even require it. If your SMTP server offers SMTP AUTH authentication you may specify a "user" name parameter to cause Pine to attempt to authenticate. This parameter requires an associated value, the username identifier with which to establish the server connection. An example might be:

smtpserver.example.com/user=katie

If AUTH authentication is offered by the server, this will cause Pine to attempt to use it. If AUTH authentication is not offered by the server, this will cause Pine to fail sending with an error similar to:

Error: SMTP authentication not available

Another type of authentication that is used by some ISPs is called "POP before SMTP" or "IMAP before SMTP", which means that you have to authenticate yourself to the POP or IMAP server by opening a mailbox before you can send mail. To do this, you usually only have to open your INBOX.

You may tell Pine to use the Message Submission port (587) instead of the SMTP port (25) by including the "submit" parameter in this option. At this time "/submit" is simply equivalent to specifying port 587, though it may imply more than that at some point in the future. Some ISPs are blocking port 25 in order to reduce the amount of spam being sent to their users. You may find that the submit option allows you to get around such a block.

smtpserver.example.com/submit

To specify any non-standard port number on the SMTP server you may follow the hostname with a colon followed by the portnumber.

smtpserver.example.com:12345

Normally, when a connection is made to the Smtp-Server Pine will attempt to negotiate a secure (encrypted) session using Transport Layer Security (TLS). If that fails then a non-encrypted connection will be attempted instead. You may specify that a TLS connection is required if you wish. If you append "/tls" to the name then the connection will fail instead of falling back to a non-secure connection.

smtpserver.example.com/tls

See the SMTP Servers section or the Server Name Syntax section for some more details.

sort-key
This variable sets up the default Message Index sorting. The default is to sort by arrival order (the order the messages arrived in the folder). It has the same functionality as the -sort command line argument and the $ command in the "Folder Index". If a sort-key is set, then all folders open during the session will have that as the default sort order.

speller
This option affects the behavior of the ^T (spell check) command in the Composer. It specifies the program invoked by ^T in the Composer. By default, Pine uses the system's "spell" command. Pine will use the command defined by this option (if any) instead. When invoking the spell-checking program, Pine appends a tempfile name (where the message is passed) to the command line. Pine expects the speller to correct the spelling in that file. When you exit from the speller program Pine will read the tmpfile back into the composer.

For Unix Pine the program ispell works well as an alternate spell checker. If your Unix system has ispell it is probably reasonable to make it the default speller by configuring it as the default in the system configuration file, /usr/local/lib/pine.conf.

If this option is not set, then the system's spell command is used. The spell command does not work the same as the alternate speller. It produces a list of misspelled words on its standard output, instead, and doesn't take a tempfile as an argument. Don't set this speller option to the standard Unix spell command. That won't work. If you want to use the standard Unix spell command, set the speller option to nothing.

ssh-command
Sets the format of the command used to open a UNIX secure shell connection. The default is "%s %s -l %s exec /etc/r%sd". All four "%s" entries MUST exist in the provided command. The first is for the command's pathname, the second is for the host to connnect to, the third is for the user to connect as, and the fourth is for the connection method (typically imap).

ssh-open-timeout
Sets the time in seconds that Pine will attempt to open a UNIX secure shell connection. The default is 15, the minimum non-zero value is 5, and the maximum is unlimited. If this is set to zero ssh connections will be completely disabled.

ssh-path
Sets the name of the command used to open a UNIX secure shell connection. The default is typically /usr/bin/ssh.