diff options
Diffstat (limited to 'doc/tech-notes.txt')
-rw-r--r-- | doc/tech-notes.txt | 11840 |
1 files changed, 0 insertions, 11840 deletions
diff --git a/doc/tech-notes.txt b/doc/tech-notes.txt deleted file mode 100644 index 1e1d4815..00000000 --- a/doc/tech-notes.txt +++ /dev/null @@ -1,11840 +0,0 @@ - - Alpine Technical Notes - - Version 2.11, August 2013 - -Table of Contents - - Introduction - - * Design Goals - * Alpine Components - - Background Details - - * Domain Names - * RFC 2822 Compliance - * SMTP and Sendmail - * Internet Message Access Protocol (IMAP) - * Multipurpose Internet Mail Extensions (MIME) - * Folder Collections - - Building and Installation - - * Compile-time Options - * Including LDAP Functionality - * Including Kerberos 5 Functionality - * Other Alpine Compile-time Options - * IMAPd Compile-time Options - * Building the Alpine Programs - * Installing Alpine and Pico on UNIX Platforms - * Installing PC-Alpine - * Installing IMAPd - * Support Files and Environment Variables: UNIX Alpine - * Support Files, Environment Variables, and Registry Values: PC-Alpine - - Command Line Arguments - - * Alpine - * Pico - * Pilot - - Configuration and Preferences - - * Alpine Configuration - * General Configuration Variables - * Configuration Features - * Hidden Config Variables and Features - * Retired Variables - * Tokens for Index and Replying - * Conditional Inclusion of Text for Reply-Leadin, Signatures, and - Templates - * Per Server Directory Configuration - * Color Configuration - * Index Line Color Configuration - * Role Configuration - * Filtering Configuration - * Scoring Configuration - * Other Rules Configuration - * Search Rules Configuration - * Patterns - * Configuring News - Configuration Notes - + Alpine in Function Key Mode - + Domain Settings - + Syntax for Collections - + Syntax for Folder Names - + Server Name Syntax - + Folder Namespaces - + What is a Mail Drop? - + Sorting a Folder - + Alternate Editor - + Signatures and Signature Placement - + Feature List Variable - + Configuration Inheritance - + Using Environment Variables - + SMTP Servers - + MIME.Types file - + Color Details - + S/MIME Overview - + Additional Notes on PC-Alpine - - Behind the Scenes - - * Address Books - * Remote Configuration - * Checkpointing - * Debug Files - * INBOX and Special Folders - * Internal Help Files - * International Character Sets - * Interrupted and Postponed Messages - * Message Status - * MIME: Reading a Message - * MIME: Sending a Message - * New Mail Notification - * NFS - * Printers and Printing - * Save and Export - * Sent Mail - * Spell Checker - * Terminal Emulation and Key Mapping - - Introduction - -Design Goals - - Throughout _Alpine_ development, we have had to strike a balance between the - need to include features which advanced users require and the need to keep - things simple for beginning users. To strike this balance, we have tried to - adhere to these design principles: - - - The model presented to the user has to be simple and clear. - Underlying system operation is hidden as much as possible. - - It's better to have a few easily understood commands that can be - repeated than to have some more sophisticated command that will do - the job all at once. - - Whenever the user has to select a command, file name, address, - etc., the user should be given (or can get) a menu from which to make - the selection. Menus need to be complete, small, organized and well - thought out. - - _Alpine_ must provide immediate feedback for the user with each - operation. - - _Alpine_ must be very tolerant of user errors. Any time a user is - about to perform an irreversible act (send a message, expunge - messages from a folder), _Alpine_ should ask for confirmation. - - Users should be able to learn by exploration without fear of doing - anything wrong. This is an important feature so the user can get - started quickly without reading any manuals and so fewer manuals are - required. - - The core set of _Alpine_ functions should be kept to a minimum so - new users don't feel "lost" in seemingly extraneous commands and - concepts. - - Just as there were goals relating to the look and feel of _Alpine_, there - were equally important goals having to do with _Alpine_'s structure-the - things that users never see but still rely on every time they use _Alpine_. - While _Alpine_ can be used as a stand-alone mail user agent, one of its - strongest assets is its use of the Internet Message Access Protocol (IMAP) - for accessing remote email folders. In addition, _Pine_ (the predecessor of - _Alpine_) was one of the first programs to support the Multipurpose Internet - Mail Extensions (MIME) specification. With MIME, _Alpine_ users can reliably - send any binary file to any other person on the Internet who uses a MIME - compliant email program. - - The decision to use IMAP and MIME reflects the importance of - interoperability, standardization and robustness in _Alpine_. As you work - with _Alpine_ more, you will see other features which reflect the same - values. For example, _Alpine_ enforces strict compliance with RFC 2822, - implements a strong mail folder locking mechanism and verifies a process - before overwriting any files (e.g. addressbook, expunging messages). - -Alpine Components - - If you have picked up the _Alpine_ distribution, then you already know that - _Alpine_ comes in a few different pieces. They are: - - _Alpine_ - The main code from which the _Alpine_ program is compiled. - _Pico_ - _Pico_ is the name for the _Alpine_ composer. The _Pico_ code is used - in two ways: (1) it is compiled on its own to be a stand-alone editor - and, (2) it is compiled as a library for _Alpine_ to support - composition of messages within _Alpine_. _Pico_ is _Alpine_'s - internal editor invoked when users need to fill in header lines or - type the text of an email message. - _Imap_ - An API for IMAP. Includes the C-Client library, which is compiled - into _Alpine_, and the IMAP server _IMAPd_. C-Client implements the - IMAP protocol and also negotiates all access between _Alpine_ and the - mail folders it operates on, even if the folders are local. The - C-Client routines are used for email folder parsing and interpreting - MIME messages. _IMAPd_ is a separate server that handles IMAP - connections from any IMAP-compliant email program. When _Alpine_ - accesses a remote mailbox, the _Alpine_ program is the IMAP client - and the _IMAPd_ program is the IMAP server. Of course, _Alpine_ can - use any IMAP-compliant IMAP server, not just _IMAPd_. - - Background Details - -Domain Names - - Domain names are used to uniquely name each host on the Internet. A domain - name has a number of parts separated by periods. Each label represents a - level in the hierarchy. An example of a name is: - - olive.cac.washington.edu - - In this domain name the top-level label is _edu_, indicating it is at an - educational institution, the second-level label is _washington_, indicating - the University of Washington. _cac_ is a specific department within the - University of Washington, and _olive_ is the host name. The top-level names - are assigned by Internet organizations, and other names are assigned at the - appropriate level. The Domain Name Service, DNS, is the distributed database - used to look up these names. - - _Alpine_ relies on domain names in multiple places. A domain name is - embedded into the message-id line generated for each piece of email. A - domain name is needed to contact an IMAP server to get access to remote - INBOXes and folders. Most importantly, domain names are needed to construct - the From: line of your outgoing messages so that people on the Internet will - be able to get email back to you. - - On UNIX systems, you can set the domain via the user-domain variable in the - _Alpine_ configuration file, or rely on the file /etc/hosts which usually - sets the name of the local host. While _Alpine_ can often deliver email - without the domain name being properly configured, it is best to have this - set correctly. Problems can usually be solved by adjusting the system's - entry in the /etc/hosts file. The fully-qualified name should be listed - before any abbreviations. For example, - - 128.95.112.99 olive.cac.washington.edu olive - - is preferred over - - 128.95.112.99 olive olive.cac.washington.edu - - On PCs, the task of configuring the domain name is a bit different. Often - times PCs do not have domain names-they have _IP addresses_. IP addresses - are the numbers which uniquely identify a computer on the network. The way - you configure your IP address depends on the networking software which you - use on the PC. You can refer to the documentation which came with your - networking software or see the PC specific installation notes for help - configuring the IP address with your network software. - - With PCs, it is vital that users set the variable user-domain in the _Alpine_ - configuration file (PINERC). - - Details on configuring _Alpine_ with correct domain names can be found in - the Domain Settings section of this document. - _________________________________________________________________ - -RFC 2822 Compliance - - _Alpine_ tries to adhere to RFC 2822 fairly strictly. - - As far as outgoing email is concerned, _Alpine_ fully-qualifies addresses - whenever possible. They are even displayed in fully-qualified form on the - terminal as the user composes a message. This makes addresses more clear and - gives a hint to the user that the network extends beyond the local - organization. _Alpine_ implements fully-qualified domain names by tacking on - the local domain to all unqualified addresses which a user types in. Any - address which does not contain an "@" is considered unqualified. - - The format for addresses allows for spaces and special characters in the - full name of an address. For this reason, commas are required to separate - addresses. If any special characters as defined in RFC 2822 appear in the - full name, quotes are required around the address. _Alpine_ will insert the - quotes automatically if needed. The common cases where this happens are with - periods after initials and parentheses. - - _Alpine_ expects dates to be in the standard RFC 822 format which is - something like: - [www, ] dd mmm yy hh:mm[:ss] [timezone] - - It will attempt to parse dates that are not in this format. When an - unparsable date is encountered it is shown as question marks in the FOLDER - INDEX screen. - _________________________________________________________________ - -SMTP and Sendmail - - _Alpine_ is a _user agent_ not a _message transfer agent_ (MTA). In plain - English, that means _Alpine_ does not know how to interact with other - computers on the Internet to deliver or receive email. What _Alpine_ does - know how to do is help users read, organize and create email. The "dirty - work" of delivering and accepting email is handled by other programs. - - All outgoing email is delivered to an SMTP server or to a mail transfer - agent. A common mail transfer agent is sendmail. The usual method of - delivery used by _Alpine_ is to use either a local or a remote SMTP server. - - The selection of which MTA to use depends on the settings of smtp-server, - sendmail-path, and compile-time options. The first MTA specified in the - following list is used: - 1. _sendmail-path_ in /usr/local/lib/pine.conf.fixed - 2. _smtp-server_ in /usr/local/pine.conf.fixed - 3. _sendmail-path_ specified on the command line. - 4. _smtp-server_ specified on the command line. - 5. _sendmail-path_ in the user's .pinerc file. - 6. _smtp-server_ in the user's .pinerc file. - 7. _sendmail-path_ in /usr/local/lib/pine.conf - 8. _smtp-server_ in /usr/local/pine.conf - 9. DF_SENDMAIL_PATH defined at compile time. - 10. SENDMAIL and SENDMAILFLAGS defined at compile time. - - If the _sendmail-path_ form is used, a child process is forked, and the - specified command is executed with the message passed on standard input. - Standard output is then passed back and displayed for the user. _NOTE: The - program MUST read the message to be posted on standard input, AND operate in - the style of sendmail's "-t" option. This method is not recommended unless - there are special reasons you want to do this. _ - - If an _smtp-server_ is specified, _Alpine_ operates as an SMTP client. SMTP - stands for _Simple Mail Transfer Protocol_; it specifies the rules by which - computers on the Internet pass email to one another. In this case, _Alpine_ - passes outgoing email messages to a designated SMTP server instead of to a - mail transfer program on the local machine. A program on the server then - takes care of delivering the message. To make _Alpine_ operate as an SMTP - client, the smtp-server variable must be set to the IP address or host name - of the SMTP server within your organization. This variable accepts a comma - separated list of servers, so you can specify multiple alternate SMTP - servers. _PC-Alpine_ only runs as an SMTP client so the _smtp-server_ option - is mandatory. - - For UNIX _Alpine_, if neither _smtp-server_ or _sendmail-path_ is set, the - default sendmail program is invoked with the "-bs -odb -oem" flags, and the - message is sent using the SMTP protocol. - _________________________________________________________________ - -Internet Message Access Protocol (IMAP) - - IMAP is a remote access protocol for message stores. _Alpine_ uses IMAP to - get at messages and folders which reside on remote machines. With IMAP, - messages are kept on the server. An IMAP client (such as _Alpine_) can - request specific messages, headers, message structures, message parts, etc. - The client can also issue commands which delete messages from folders on the - server. IMAP's closest kin is POP, the Post Office Protocol, which works by - transferring an entire mailbox to the client where all the mail is kept. For - a comparison of IMAP and POP, see the paper "Comparing Two Approaches to - Remote Mailbox Access: IMAP vs. POP" by Terry Gray. A more detailed - exploration of message access may be found in the paper " Message Access - Paradigms and Protocols." - - IMAP Features: - * Allows access to mail folders from more than one client computer. - * Works well over low-bandwidth lines because information is sent in small - pieces as needed by the user. For example, only header information is - sent to build index lists, and if someone sends a large audio file via - MIME, you can choose when (or if) you want to get that part of the - message. - * Email can be delivered and stored on a well-maintained and reliable - server which is "always-up". - * Folders can be accessed and manipulated from anywhere on the Internet. - * Users can get to messages stored in different folders within the same - _Alpine_ session. - * Allows use of IMAP server for searching and parsing. - * The latest revision of IMAP (IMAP4) also provides for disconnected - operation, including resynchronization of message state between mail - servers and message caches on clients. _Alpine_ does not support this - capability, however. - - IMAP4rev1 is described in RFC 3501. Further information about IMAP may be - obtained from the University of Washington's IMAP Information Center. - - _Alpine_ is an IMAP4rev1 client. - _________________________________________________________________ - -Multipurpose Internet Mail Extensions (MIME) - - MIME is a way of encoding a multipart message structure into a standard - Internet email message. The parts may be nested and may be of seven - different types: Text, Audio, Image, Video, Message, Application and - Multipart (nested). The MIME specification allows email programs such as - _Alpine_ to reliably and simply exchange binary data (images, spreadsheets, - etc.). MIME includes support for international character sets, tagging each - part of a message with the character set it is written in, and providing - 7-bit encoding of 8-bit character sets. - - The MIME standard was officially published in June of 1992 as RFC 1341 and - subsequently revised in RFC 2045 when it became a full Internet Standard. - _Pine_ 3.0 was one of the first email programs to Implement MIME. Now, there - are dozens of commercial and freely available MIME-capable email programs. - In addition, MIME is being added to newsreaders so MIME messages can be - posted and read in USENET newsgroups. - - The MIME standard also includes support for non-ASCII text in message - headers through the extensions described in RFC 1342 and subsequently - revised in RFC 2047. - - An actual MIME message looks something like this: -Date: Tue, 12 Mar 1996 15:39:35 -0800 (PST) -From: David L Miller <dlm@cac.washington.edu> -To: David L Miller <dlm@cac.washington.edu> -Subject: =?iso-8859-1?Q?Test_MIME_message_with_RFC-1522_headers_=28=E1?= =?i -so-8859-1?Q?=E2=E3=29?= -Message-Id: <Pine.ULT.3.92.960312150851.21583I-101000@shiva2.cac.washington.edu -> -Mime-Version: 1.0 -Content-Type: MULTIPART/MIXED; BOUNDARY="0-1737669234-826673975=:21583" -Content-Id: <Pine.ULT.3.92.960312153928.21583O@shiva2.cac.washington.edu> - - This message is in MIME format. The first part should be readable text, - while the remaining parts are likely unreadable without MIME-aware tools. - Send mail to mime@docserver.cac.washington.edu for more info. - ---0-1737669234-826673975=:21583 -Content-Type: TEXT/PLAIN; CHARSET=US-ASCII -Content-ID: <Pine.ULT.3.92.960312153104.21583L@shiva2.cac.washington.edu> - -The text of the message would go here. It is readable if -one doesn't mind wading around a little bit of the MIME -formatting. After this is a binary file in base 64 -encoding. - -|\ | |\/| David L. Miller dlm@cac.washington.edu (206) 685-6240 -|/ |_ | | Software Engineer, Pine Development Team (206) 685-4045 (FAX) -University of Washington, Networks & Distributed Computing, JE-20 -4545 15th Ave NE, Seattle WA 98105, USA - ---0-1737669234-826673975=:21583 -Content-Type: APPLICATION/ZIP; NAME="test.zip" -Content-Transfer-Encoding: BASE64 -Content-ID: <Pine.ULT.3.92.960312153638.21583N@shiva2.cac.washington.edu> -Content-Description: Test Attachment - -UEsDBBQAAAAIAGh8bCBbZKT4ygIAAHgFAAAEAAAAdGVzdIVUX2vbMBB/16c4 -9rSBNyjsYX1UHSUROLInycv2qNhKI5ZYxlLa5dvvpDRLw6CFgJF09/t3Rxo3 -WDBDD43rPJjJQpxMbw9m+h3AbyHuLLSDe7JTcPGUbtYm7NzwGP3wBYQnnT8c -7NQ5s4djsC8t4QbmYE6wsfjpLTy7uPPHCOPk/ATPk4vRDmS008GF4PzwPich -zY3m4LfxOQlPNy4GcEO3P/a2h2j/xGyp9ONpco+7CHf33+4/393ff4XNibzL -c1UVfXJXQIdIBRx877b4TYy9C3Fym2NEyzsX/pNDet8dD3aIJiagLbo2wwnG -4zT6cK66ZLK1NhH9J4tcZQEy7OxkNyd4nMwQbV9glP7JZb87E3O32fgnm7We -XQ8+us4SM47WTCkgMPt9enc2ZAW5c+Pj7o32l0IXXk/r8pSRE3A4jqOfIqqF -G+PFlSdRDOaQduXNESTwtDcYfJ8191gWXUjYmOJ43Oxdh11JTzRuSPcY37+B -vNqmf0O5RB1G27mt64rLCp4X8pW1L6BvxunCeYHNk3F7s9lb+GAwyvAhOyNE -Lxm0gv9gUnH9C+o5rKlacrHQtYAZV2VF+UoBrSp8kJIKzZkqgP1sJFMKagl8 -1VSczQqy5noJki2onIGuQS+5AlXPNfaxArgoq3aGwJDq6lZDxVdcU82RKMG/ -4JArTVKzYrJc4pE+8CoJpGIGc65FIp8jO4WGSs3LtqISmlY2tUKyVMUFETWw -H0xoUMvE8KbXB4aC6EPFzrDiF6iGlZxWBeFixiUrdXJb1kKx7y2C4hPM6Iou -WI4hdVyO6yXVqkZqiXmottLJ9lzWK1LVKttqk8oZ1TS1NrJGS5jqeslQI0aK -ieCvzNlgNZJqiccCc5WafLxmKdii4gsmSvYpISkteamzkRwXJiG5SoUpcERK -8xIE8QQ7o+eh5WAUy1qYRP8rioip/maI+OfyF1BLAQIUAxQAAAAIAGh8bCBb -ZKT4ygIAAHgFAAAEAAAAAAAAAAEAAACkgQAAAAB0ZXN0UEsFBgAAAAABAAEA -MgAAAOwCAAAAAA== ---0-1737669234-826673975=:21583-- - - For details about _Alpine_'s implementation of MIME, see the two MIME - sections "MIME: Reading a Message" and "MIME: Sending a Message" later in - this document. - _________________________________________________________________ - -Folder Collections - - Folder Collections are _Alpine_'s way of dealing with more than a single - group of folders. - - For a more complete description of Folder Collections, see the section on - "Syntax for Collections." - - The _Alpine_ distribution is designed to require as little configuration and - effort at compile time as possible. Still, there are some _Alpine_ behaviors - which are set at the time you compile _Alpine_. For each of these, there is - a reasonable (our opinion) default built into the code, so most systems - administrators will have no need for these steps. - - Building and Installation - -Compile-time Options - - _Alpine_'s UNIX build environment is based on Autotools (the GNU Build - System). Once you've unpacked the source distribution find the file - configure in the top-level directory. You may look at the many options - available by typing - - ./configure --help - - or you could just try building with the command - - ./configure - - followed by - - make - - Note, while the UW IMAP Toolkit (whose c-client library _Alpine_ uses for - mailbox access) build is not based on Autotools, _Alpine_'s configure script - should set an appropriate make target and compilation options for most - systems. - - Some of the following can only be set when you build. Others, however, can - be overridden by command-line flags to _Alpine_ or settings in _Alpine_'s - user or system configuration files. Some of the options which can be set - when building: - - Including LDAP Functionality - - By default, the configure script will attempt to find the LDAP library - support for you. If you are having trouble with LDAP take a look at the - configure options - --with-ldap-dir=DIR - Specify the root of the LDAP lib/include path. - --with-ldap-include-dir=DIR - Specify the LDAP include path. - --with-ldap-lib-dir=DIR - Specify the LDAP library path. - --without-ldap - Disable LDAP support. - - _Alpine_ uses LDAPv3 protocol. When using the LDAPv3 protocol, the results - are assumed to be in the UTF-8 character set, which _Alpine_ handles well. - If the LDAP server returns non-ascii data which is not encoded as UTF-8 you - will probably run into problems. - - Including Kerberos 5 Functionality - - This works analogously to the LDAP build. By default, the configure script - will attempt to find the Kerberos library support for you. If you are having - trouble with Kerberos take a look at the configure options - --with-krb5-dir=DIR - Specify the root of the Kerberos lib/include path. - --with-krb5-include-dir=DIR - Specify the Kerberos include path. - --with-krb5-lib-dir=DIR - Specify the Kerberos library path. - --without-krb5 - Disable Kerberos support. - - Other Alpine Compile-time Options - - --disable-nls - Do not use Native Language Support. NLS refers to the use of GNU - gettext utilities to localize a program, in the sense that English is - translated to some other language. At the time this was written the - low-level support for NSL is included in _Alpine_ but no translations - have been done. If there is no translation available, that means that - disabling NLS will make no difference. If you have trouble building - which is due to gettext or libintl you could try this option, or one - of the following. - --with-libintl-prefix[=DIR] - --without-libintl-prefix - --with-ssl-dir=DIR - Specify the root of the SSL lib/include path (OpenSSL). - --with-ssl-include-dir=DIR - Specify the SSL include path. - --with-ssl-lib-dir=DIR - Specify the SSL library path. - --with-ssl-certs-dir=DIR - Specify the path to the SSL certificates directory. - --without-ssl - Disable SSL support. - --without-pthread - Do not test for nor build with POSIX thread support, which is used - only for the Busy-Cue in the status line at this time. - --without-smime - Disable S/MIME support. - --disable-debug - Never create debug files. - --with-smtp-msa=PATH - Local Mail Submission Agent (sendmail, by default). - --with-smtp-msa-flags=FLAGS - MSA flags for SMTP on stdin/stdout (-bs -odb -oem). - - There are many more options which you can see using the - - ./configure --help - - command. - - IMAPd Compile-time Options - - There are no options or settings required for the version of _IMAPd_ - distributed with _Alpine_. If you need to be doing more complex - modifications to IMAP, then you should pick up the IMAP development package - and work with that code. The developer's version of IMAP is available for - anonymous ftp from ftp.cac.washington.edu in the directory mail. The file is - called imap.tar.Z. Unless it has changed since _Alpine_ was released, the - directory imap in the _Alpine_ distribution is the IMAP development package. - - The c-client library has not been converted to use the GNU Build System's - autotools. The _Alpine_ configure script will try to correctly guess the - arguments needed for the c-client make command and will build the library, - but if you need to change anything you should take a look at imap/docs/BUILD - for more detailed instructions. - _________________________________________________________________ - -Building the Alpine Programs - - You may have already compiled _Alpine_ and tried it out. If so, great! If - not, you should be able to do it without too much trouble by following these - step-by-step instructions: - - 1. Make sure you're in the root of the _Alpine_ source. When you type ls - you should see the following files and directories (or something close - to it): -aclocal.m4 config.sub imap Makefile.am packages web -alpine configure include Makefile.in pico -build.bat configure.ac install-sh mapi pith -build.cmd contrib LICENSE missing po -config.guess depcomp ltmain.sh mkinstalldirs README -config.rpath doc m4 NOTICE VERSION - 2. Give the command ./configure Configure should grind away for a few - minutes. - 3. When configure is complete, give the command make. If make stops and - asks - - Do you want to build with IPv6 anyway? Type y or n please: - you should answer with a 'y'. The compiler should grind away for a few - minutes. The _Alpine_ binary will end up in .../alpine/alpine and the - Pico and Pilot binaries in .../pico/pico and .../pico/pilot. Other - binaries you may be interested in are .../alpine/rpdump and - .../alpine/rpload and c-client binaries in the directories - .../imap/imapd, .../imap/ipopd, .../imap/mailutil, and so on. - 4. If you need to try again, make sure you're getting a clean start by - giving the command make clean. - _________________________________________________________________ - -Installing Alpine and Pico on UNIX Platforms - - Installing _Alpine_ and _Pico_ is simple. You take the program files which - you have just transferred or built and you move them to the correct - directory on your system. Most often the binaries go in /usr/local/bin - though sometimes they are placed in /usr/bin. All the help text is compiled - into _Alpine_ so there are no _required_ auxiliary files. Instead of copying - the binaries manually, you may use make install to install them. - - There are three optional auxiliary files: /usr/local/lib/pine.info, - /usr/local/lib/pine.conf, and /usr/local/lib/pine.conf.fixed. The file - pine.info contains text on how to get further help on the local system. It - is part of the help text for the main menu and should probably refer to the - local help desk or the system administrator. If this file doesn't exist a - generic version which suggests ``talking to the computer support staff at - your site'' is shown. The file pine.conf is used to set system-wide default - configurations for _Alpine_. The file pine.conf.fixed is also used to set - system-wide default configurations for _Alpine_. The difference between - these two files is that configuration variables set in the pine.conf.fixed - file may not normally be over-ridden by a user. See the section on Alpine - Configuration later in this document for details about the pine.conf and - pine.conf.fixed files. - _________________________________________________________________ - -Installing PC-Alpine - - The PC-Alpine distribution comes as a .zip file. To install, unzip the files - to a directory where you would like the program to reside. Modern Windows - versions come with the capability of unzipping .zip files. Failing that, you - can use one of the many .zip file extractors out there. Following current - Windows conventions, a common directory into which the files could be - extracted would be C:\Program Files\PC-Alpine\. - - Having extracted PC-Alpine's .zip file to the directory of choice, you can - now run that directory's alpine.exe, which is the actual PC-Alpine program. - For convenience, you could place shortcuts to it on the task bar, start - menu, etc. - - Upon first running PC-Alpine, you may be asked where you would like to - access your Configuration file (called the _pinerc_). This is useful in - accessing already existing configuration files, and it does not matter where - this file gets created. If you are connecting to an IMAP server to access - your email, it is also possible to store this Configuration data on that - server, which facilitates accessing the same configuration from multiple - machines (in fact, your configuration may have already been set up this way - for use with other _Alpine_ programs). - - After having established the location of the configuration file, it may be - necessary to specify a few configuration settings before reading or sending - mail. You may be prompted for the following (which may also be edited from - the (S)etup (C)onfig screen from the Main Menu): - - Folder to open as inbox (or _inbox-path_) - This can be an inbox residing - on an IMAP or POP3 server, or one residing locally. An example of an INBOX - for an IMAP server is: {server.example.com}INBOX. - - User-id, Personal name, and host/domain, which are to be used as your - email address. - - SMTP server to forward message - You must enter your SMTP server before - you can send any messages. - - At this point, you will be able to read and send email messages. There are, - however, many more preferences that you can set in the Configuration screen. - _________________________________________________________________ - -Installing IMAPd - - When the _Alpine_ distribution is built on a UNIX system, the IMAP server - binary, imapd, is compiled. Installing imapd requires placing the binary in - the appropriate directory, usually /usr/etc, and adding entries to - /etc/services and /etc/inetd.conf or their counterparts. - - Instead of including installation instructions here we'll just include a - pointer to detailed instructions in the c-client distribution. Please take a - look at the file imap/docs/BUILD in the source tree. - _________________________________________________________________ - -Support Files and Environment Variables: UNIX Alpine - - This section lists the various files which _Alpine_ uses which are not email - folders. All of these are the default names of files, they may vary based on - _Alpine_'s configuration. - /usr/local/lib/pine.conf - Pine's global configuration file. - /usr/local/lib/pine.conf.fixed - Non-overridable global configuration file. - /usr/local/lib/pine.info - Local pointer to system administrator. - ~/.pinerc - Personal configuration file for each user. - ~/.pinercex - Personal exceptions configuration file for each user. - ~/.addressbook - Personal addressbook - ~/.newsrc - Personal USENET subscription list. This is shared with other - newsreading programs. - ~/.pine-debugX - The files created for debugging _Alpine_ problems. By default, there - are 4 .pine-debug files kept at any time. - ~/.signature - A signature file which will be included in all outgoing email - messages. - ~/.pine-interrupted-mail - The text of a message which was interrupted by some unexpected error - which _Alpine_ detected. - ~/mail/postponed-msgs - A folder of messages which the user chose to postpone. - /etc/mailcap - System-wide mail capabilities file. Only used if $MAILCAPS not set. - ~/.mailcap - Personal mail capabilities file. Combines with system-wide mailcap. - Only used if $MAILCAPS not set. - - The location of the following support files may be controlled by variables - in the personal or global _Alpine_ configuration file: signature, - addressbook and its index file, postponed messages, and newsrc. - - Unix _Alpine_ uses the following environment variables: - TERM - Tells _Alpine_ what kind of terminal is being used. - DISPLAY - Determines if _Alpine_ will try to display IMAGE attachments. - TMPDIR, TMP, or TEMP - Specifies location of temporary storage area, first one set wins - SHELL - If not set, default is /bin/sh - MAILCAPS - A semicolon delimited list of path names to mailcap files. - _________________________________________________________________ - -Support Files, Environment Variables, and Registry Settings: PC-Alpine - - This section lists the various files which _PC-Alpine_ uses which are not - normal mail folders. All of these are the default names of files, they may - vary based on _Alpine_'s configuration. - - $PINERC or <PineRC registry value> or $HOME\PINE\PINERC or <PINE.EXE - dir>\PINERC - Path to (required) personal configuration file. - $PINERCEX or $HOME\PINE\PINERCEX or <PINE.EXE dir>\PINERCEX - Path to personal exceptions configuration file. - $PINECONF - Path of optional global configuration file. - <PINERC directory>\ADDRBOOK - Personal addressbook - <PINERC directory>\PINEDEBG.TXT - Location of _Alpine_ debug file. - <PINERC directory>\MAILCAP and/or <PINE.EXE dir>\MAILCAP - These paths are only used if $MAILCAPS not set. - $HOME\NEWSRC or <PINERC directory>\NEWSRC - Personal USENET subscription list. This may be shared with other - newsreading programs. - $HOME\MAIL\INTRUPTD - The text of a message which was interrupted by some unexpected error - which _Alpine_ detected. - $HOME\MAIL\POSTPOND - A folder of messages which the user chose to postpone. - - Registry Values: - HKEY_LOCAL_MACHINE\Software\University of Washington\Alpine\1.0 - _Pinedir_: The directory that contains the _Alpine_ executable. - _PineEXE_: The name of the _Alpine_ executable (most commonly - "alpine.exe"). - HKEY_CURRENT_USER\Software\University of Washington\Alpine\1.0 - _PineRC_: The path that points to the default pinerc to use. - HKEY_LOCAL_MACHINE\Software\Clients\Mail\Alpine - _DLLPath_: The path that points to _Alpine_'s pmapi32.dll. - HKLM\Software\Clients\Mail\Alpine\shell\open\command - _(Default)_: When set as the default mailer, this is the command that - is run by external programs. - HKLM\Software\Clients\Mail\Alpine\Protocols\Mailto\DefaultIcon - _(Default)_: This points to the icon to display in relation to - _Alpine_'s mailto URL rendering. - HKLM\Software\Clients\Mail\Alpine\Protocols\Mailto\shell\open\command - _(Default)_: This value is the command that gets run by external - programs when a mailto URL is run with _PC-Alpine_ set as the default - mailer. - HKLM\Software\Clients\News\Alpine\shell\open\command - _(Default)_: When set as the default newsreader, this is the command - that is run by external programs. - HKLM\Software\Clients\News\Alpine\Protocols\news\DefaultIcon - _(Default)_: This points to the icon to display in relation to - _Alpine_'s news URL rendering. - HKLM\Software\Clients\News\Alpine\Protocols\news\shell\open\command - _(Default)_: This value is the command that gets run by external - programs when a news URL is run with _Alpine_ set as the default - newsreader. - HKLM\Software\Clients\News\Alpine\Protocols\nntp\DefaultIcon - _(Default)_: This points to the icon to display in relation to - _Alpine_'s nntp URL rendering. - HKLM\Software\Clients\News\Alpine\Protocols\nntp\shell\open\command - _(Default)_: This value is the command that gets run by external - programs when a nntp URL is run with _Alpine_ set as the default - newsreader. - - _Alpine_'s personal configuration file may be in the same directory as the - executable, or if that is inconvenient because the executable is on a shared - or read-only drive, then it can be in a file named by the $PINERC - environment variable, or in $HOME\ALPINE\PINERC, where if not set, $HOME - defaults to the root of the current working drive. - - Most of the other support files key off of the location of the PINERC file. - However, in the case of the NEWSRC file, the path $HOME\NEWSRC is checked - first. Also, the postponed messages and interrupted message folders are - placed in the default folder collection, normally in the directory - $HOME\MAIL. - - The location of the following support files may be controlled by variables - in the personal or global _Alpine_ configuration file: signature, - addressbook (and its index file), postponed messages, and newsrc. - - _PC-Alpine_ uses the following environment variables: - PINERC - Overrides default path to pinerc file. - PINERCEX - Overrides default path to personal exceptions configuration file. - PINECONF - Optional path to global _Alpine_ config file. - HOME - If not set, _Alpine_ uses the root of the current drive, e.g. C: - TMPDIR, TMP, or TEMP - Specifies location of temporary storage area, first one set wins - COMSPEC - Specifies shell for external commands. - MAILCAPS - A semicolon delimited list of path names to mailcap files. - - Command Line Arguments - -Alpine - - _Alpine_ and _PC-Alpine_ can accept quite a few command-line arguments. Many - of these arguments overlap with variables in the _Alpine_ configuration - file. If there is a difference, then a flag set in the command line takes - precedence. Both _Alpine_ and _PC-Alpine_ expect command line arguments - (other than addresses) to be preceded by the "-" (dash) as normally used by - UNIX programs. - - _[addresses]_ - Send-to: If you give _Alpine_ an argument or arguments which do not - begin with a dash, _Alpine_ treats them as email addresses. _Alpine_ - will startup in the composer with a message started to the addresses - specified. Once the message is sent, the _Alpine_ session closes. - Standard input redirection is allowed. Separate multiple addresses - with a space between them. Addresses are placed in the "To" field - only. - < _file_ - _Alpine_ will startup in the composer with _file_ read into the body - of the message. Once the message is sent, the _Alpine_ session - closes. - -attach _file_ - Go directly into composer with given file attached. - -attachlist _file-list_ - Go directly into composer with given files attached. This must be the - last option on the command line. - -attach_and_delete _file_ - Go directly into composer with given file attached, delete when - finished. - -aux _local_directory_ - _PC-Alpine_ only. This tells _PC-Alpine_ the local directory to use - for storing auxiliary files, like debug files, address books, and - signature files. The pinerc may be local or remote. - -nosplash - _PC-Alpine_ only. This tells _PC-Alpine_ to not display the splash - screen upon startup. This may be helpful for certain troubleshooting - or terminal server scenarios. - -bail - If the personal configuration file doesn't already exist, exit. This - might be useful if the configuration file is accessed using some - remote filesystem protocol. If the remote mount is missing this will - cause _Alpine_ to quit instead of creating a new pinerc. - -c _n_ - When used with the -f option, apply the _n_th context. This is used - when there are multiple folder collections (contexts) and you want to - open a folder not in the primary collection. - -conf - Configuration: Prints a sample system configuration file to the - screen or standard output. To generate an initial system - configuration file, execute - alpine -conf > /usr/local/lib/pine.conf - To generate a system configuration file using settings from an old - system configuration file, execute - alpine -P old-pine.conf -conf > /usr/local/lib/pine.conf - A system configuration file is not required. - -convert_sigs _-p pinerc_ - Convert signatures contained in signature files into literal - signatures. - -copy_abook _<local_abook_file> <remote_abook_folder>_ - Copy an address book file to a remote address book folder. If the - remote folder doesn't exist, it will be created. If it exists but the - first message in the folder isn't a remote address book header - message, the copy will be aborted. This flag will not usually be used - by a user. Instead, the user will create a remote address book from - within _Alpine_ and copy entries from the local address book by using - aggregate Save in the address book screen. - -copy_pinerc _<local_pinerc_file> <remote_pinerc_folder>_ - Copy a pinerc configuration file to a remote pinerc folder. If the - remote folder doesn't exist, it will be created. If it exists but the - first message in the folder isn't a remote pinerc header message, the - copy will be aborted. This flag may be useful to users who already - have a local pinerc file and would like to convert it to a remote - pinerc folder and use that instead. This gives a way to bootstrap - that conversion without having to manually reset all of the variables - in the remote pinerc folder. - -d _debug-level_ - Debug Level: Sets the level of debugging information written by - _Alpine_. _Debug-level_ can be set to any integer 0-9. A debug level - of 0 turns off debugging for the session. (Actually there are some - levels higher than 9, but you probably don't want to see them. - Sensitive authentication information is hidden at levels less than - 10.) - -d _keywords_ - You may use a more detailed version of the debugging flag to set the - debug level in separate parts of _Alpine_. The possibilities are - flush, timestamp, imap=0..4, tcp, numfiles=0..31, and verbose=0..9. - _Flush_ causes debugging information to be flushed immediately to the - debug file as it is written. _Verbose_ is the general debugging - verbosity level. _Timestamp_ causes timestamps to be added to the - debug file, which is useful when you are trying to figure out what is - responsible for delays. _Numfiles_ sets the number of debug files - saved. _Imap_ sets the debug level for the debugging statements - related to the conversation with the IMAP server, and more generally, - for the debugging related to _Alpine_'s interaction with the C-Client - library. If _imap_ is set higher than 4, sensitive authentication - information will be included in the debug file. _Tcp_ adds more - TCP/IP debugging information. - -f _folder_ - Startup folder: _Alpine_ will open this folder in place of the - standard INBOX. - -F _file_ - Open named text file for viewing and forwarding. - -h - Help: Prints the list of available command-line arguments to the - screen. - -i - _Alpine_ will start up in the FOLDER INDEX screen instead of the MAIN - MENU. - Configuration equivalent: _initial-keystroke-list=i_. - -I _a,b,c,..._ - Initial Keystrokes: _Alpine_ will execute this comma-separated - sequence of commands upon startup. This allows users to get _Alpine_ - to start in any of its menus/screens. You cannot include any input to - the composer in the initial keystrokes. The key <Return> is - represented by a ``CR'' in the keystroke list; the spacebar is - designated by the letters ``SPACE''. Control keys are two character - sequences beginning with ``^'', such as ``^I''. A tab character is - ``TAB''. Function keys are ``F1'' - ``F12'' and the arrow keys are - ``UP'', ``DOWN'', ``LEFT'', and ``RIGHT''. 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 _Alpine_. 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 of characters surrounded by double quotes - (") then it will be expanded into the individual characters in the - string, excluding the double quotes. - Configuration equivalent: _initial-keystroke-list_ - -install - For _PC-Alpine_ only, this option prompts for some basic setup - information, then exits. - -k - Function-Key Mode: When invoked in this way, _Alpine_ expects the - input of commands to be function-keys. Otherwise, commands are linked - to the regular character keys. - Configuration equivalent: _use-function-keys_ included in - _feature-list_. - -n _n_ - Message-Number: When specified, _Alpine_ starts up in the FOLDER - INDEX screen with the current message being the specified message - number. - -nowrite_password_cache - This tells _Alpine_ to use the local password cache if there is one, - but to never offer writing new passwords to the cache. - -o _folder_ - Opens the INBOX (or a folder specified via the -f argument) ReadOnly. - -p _pinerc_ - Uses the named file as the personal configuration file instead of - _~/.pinerc_ or the default PINERC search sequence _PC-Alpine_ uses. - Pinerc may be either a local file or a remote configuration folder. - -P _pinerc_ - Uses the named file as the system wide configuration file instead of - _/usr/local/lib/pine.conf_ on UNIX, or nothing on _PC-Alpine_. Pinerc - may be either a local file or a remote configuration folder. - -passfile _passfile_ - This tells _Alpine_ what file should be used as the password file. - This should be a fully-qualified filename. - -pinerc _file_ - Output fresh pinerc configuration to _file_, preserving the settings - of variables that the user has made. Use _file_ set to ``-'' to make - output go to standard out. - -r - Restricted Mode: For UNIX _Alpine_ only. _Alpine_ in restricted mode - can only send email to itself. Save and export are limited. - -registry _cmd_ - For _PC-Alpine_ only, this option affects the values of _Alpine_'s - registry entries. Possible values for _cmd_ are set, noset, clear, - clearsilent, and dump. _Set_ will always reset _Alpine_'s registry - entries according to its current settings. _NoSet_ will never set any - values in the registry, but it will still use the values already set - in the registry. _Clear_ will clear the registry values. _Clearsilent_ - will silently clear the registry values. _Dump_ will display the - values of current registry settings. Note that the dump command is - currently disabled. Without the -registry option, _PC-Alpine_ will - write values into the registry only if there currently aren't any - values set. - -sort _key_ - Sort-Key: Specifies the order messages will be displayed in for the - FOLDER INDEX screen. _Key_ can have the following values: arrival, - date, subject, orderedsubj, thread, from, size, score, to, cc, - arrival/reverse, date/reverse, subject/reverse, orderedsubj/reverse, - thread/reverse, from/reverse, size/reverse, score/reverse, - to/reverse, and cc/reverse. The default value is "arrival". The _key_ - value reverse is equivalent to arrival/reverse. - Configuration equivalent: _sort-key_. - -supported - Some options may or may not be supported depending on how _Alpine_ - was compiled. This is a way to determine which options are supported - in the particular copy of _Alpine_ you are using. - -install - For _PC-Alpine_ only, this option removes references to Alpine in - Windows settings. The registry settings are removed and the password - cache is cleared. - -url _url_ - Open the given URL. - -v - Version: Print version information to the screen. - -version - Version: Print version information to the screen. - -x _exceptions_config_ - Configuration settings in the exceptions config override your normal - default settings. _Exceptions_config_ may be either a local file or a - remote pinerc folder. - -z - Enable Suspend: When run with this flag, the key sequence ctrl-z will - suspend the _Alpine_ session. - Configuration equivalent: _enable-suspend_ included in - _feature-list_. - -_option_=_value_ - Assign _value_ to the config option _option_. For example, - _-signature-file=sig1_ or _-feature-list=signature-at-bottom_. (Note: - feature-list values are additive and features may be preceded with - no- to turn them off). - -Pico - - The following command line options are supported in _Pico_: - - +_n_ - Causes _Pico_ to be started with the cursor located _n_ lines into - the file. (Note: no space between "+" sign and number) - - -a - Display all files and directories, including those beginning with a - period (.). - - -b - Enable the option to Replace text matches found using the "Where is" - command. This now does nothing. Instead, the option is always turned - on (as if the -b flag had been specified). - - -d - Rebind the "delete" key so the character the cursor is on is rubbed - out rather than the character to its left. - - -e - Enable file name completion. - - -f - Use function keys for commands. _This option supported only in - conjunction with UW Enhanced NCSA telnet._ - - -g - Enable "Show Cursor" mode in file browser. Cause cursor to be - positioned before the current selection rather than placed at the - lower left of the display. - - -k - Causes "Cut Text" command to remove characters from the cursor - position to the end of the line rather than remove the entire line. - - -m - Enable mouse functionality. This only works when _Pico_ is run from - within an X Window System "xterm" window. - - -n_n_ - The -n_n_ option enables new mail notification. The _n_ argument is - optional, and specifies how often, in seconds, your mailbox is - checked for new mail. For example, -n60 causes _Pico_ to check for - new mail once every minute. The default interval is 180 seconds, - while the minimum allowed is 30. (Note: no space between "n" and the - number) - - -o _dir_ - Sets operating directory. Only files within this directory are - accessible. Likewise, the file browser is limited to the specified - directory subtree. - - -p - Preserve the "start" and "stop" characters, typically Ctrl-Q and - Ctrl-S, which are sometimes used in communications paths to control - data flow between devices that operate at different speeds. - - -q - TermdefWins. Termcap or terminfo escape sequences are used in - preference to default escape sequences. - - -Q _quotestr_ - Set the quote string. Especially useful when composing email, setting - this allows the quote string to be checked for when Justifying - paragraphs. A common quote string is "> ". - - -r_n_ - Sets column used to limit the "Justify" command's right margin. - - -t - Enable "tool" mode. Intended for when _Pico_ is used as the editor - within other tools (e.g., Elm, Pnews). _Pico_ will not prompt for - save on exit, and will not rename the buffer during the "Write Out" - command. - - -v - View the file only, disallowing any editing. - - -version - Print version information. - - -w - Disable word wrap (thus allow editing of long lines). - - _Note: Pico will break any lines over 255 characters when reading a - file, regardless of word wrapping._ - - -x - Disable keymenu at the bottom of the screen. - - -z - Enable ^Z suspension of _Pico_. - -Pilot - - The following command line options are supported in _Pilot_: - - -a - Display all files including those beginning with a period (.). - - -f - Use function keys for commands. _This option supported only in - conjunction with UW Enhanced NCSA telnet._ - - -g - Enable "Show Cursor" mode. Cause cursor to be positioned before the - current selection rather than placed at the lower left of the - display. - - -m - Enable mouse functionality. This only works when _Pilot_ is run from - within an X Window System "xterm" window. - - -n_n_ - The -n_n_ option enables new mail notification. The _n_ argument is - optional, and specifies how often, in seconds, your mailbox is - checked for new mail. For example, -n60 causes _Pilot_ to check for - new mail once every minute. The default interval is 180 seconds, - while the minimum allowed is 30. (Note: no space between "n" and the - number) - - -o _dir_ - Sets operating directory. Only files within the specified directory - are accessible and browsing is limited to the specified directory - subtree. - - -v - Enable single vertical column display. - - -x - Disable keymenu at the bottom of the screen. - - -z - Enable ^Z suspension of _Pilot_. - - Configuration and Preferences - -Alpine Configuration - - There is very little in _Alpine_ which _requires_ compile-time - configuration. In most cases, the compiled-in preferences will suit users - and administrators just fine. When running _Alpine_ 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 can be changed using - the configure arguments --with-system-pinerc=VALUE or - --with-system-fixed-pinerc=VALUE.) The location of the pine.conf file can be - changed with the -P command line argument. Both _Alpine_ and _PC-Alpine_ - also use personal (user-based) configuration files. On UNIX machines, the - personal configuration file is the file ~/.pinerc. For _PC-Alpine_ systems, - the personal configuration file is in $PINERC or <PineRC registry value> or - ${HOME}\ALPINE\PINERC or <ALPINE.EXE dir>\PINERC. Or the personal - configuration file can be specified with the -p command line argument. - - All of these configuration files, other than the fixed system config - pine.conf.fixed on UNIX systems, may optionally be remote configuration - files instead of local files. This is discussed further in the following - section and in Remote Configuration. - - After the personal configuration, _Alpine_ may optionally use a personal - exceptions configuration file which is specified with the command line - option "-x exceptions_config". "Exceptions_config" may also be either a - local file or a remote configuration folder. For Unix _Alpine_, if you don't - have a "-x" command line option, _Alpine_ 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 _Alpine_ looks in the home - directory for ".pinercex". - - For _PC-Alpine_, if you don't have a "-x" command line option, _PC-Alpine_ - will use the value of the environment variable $PINERCEX. If that is not - set, _PC-Alpine_ 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-Alpine_ looks in the local directory specfied by the - "-aux local_directory" command line argument, or the directory - ${HOME}\ALPINE, or in <ALPINE.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 two double quotes (""). This is equivalent to an absent value - except that it overrides any system-wide default 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 _Alpine_ 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 _Alpine_, 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-Alpine_ 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 - _alpine -conf_. The result will be printed on the standard output with very - short comments describing each variable. (The online help in the Setup - screens provides much 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 _Alpine_. It is by no - means a bullet-proof method.) _Alpine_ will automatically create the - personal configuration file the first time it is run, so there is no need to - generate a sample. _Alpine_ 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 - _Alpine_ 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 _Alpine_ - 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 _Alpine_ settings which take lists, - you must have an environment variable set for each member of the list. That - is, _Alpine_ 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 _Alpine_ configuration file, which will expand to nothing. - - Remote and Local Configuration - - 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. _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 _Alpine_ 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 _Alpine_ 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. - - 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 _Alpine_ configuration variables, in - alphabetical order. Note that not all variables apply to all versions of - _Alpine_ 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, - _Alpine_ 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. If - you use an address book from more than one computer and those - computers sort the address book differently then the sort order will - be the order where the last change to the address book was made. - There are two reasons the sorting might be different on different - systems. First, the addrbook-sort-rule may be set differently in the - two places. Second, the collation rules on the two computers may be - different. For example, one system might ignore special characters - while the other doesn't or one may sort upper and lower case letters - together while the other doesn't. In any case, the order you see is - the order on the system where the last change was made, for example - by an address book edit or a Take Address command. - This option is displayed as "Addressbook Sort Rule". - _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. Each address in the list should be the actual - email address part of an address, without the full name field or the - angle brackets. For example: - - user@example.com - The matching is case-insensitive, so this would match any of - User@example.com, user@Example.Com, or USER@EXAMPLE.COM as well. - If set, the option affects the behavior of the Reply command and the - "+" symbol in the MESSAGE 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. - The feature copy-to-address-to-from-if-it-is-us is somewhat related - to this option. - In addition to a list of actual addresses, you may use regular - expressions (as used with egrep with the ignore case flag) to - describe the addresses you want to match. _Alpine_ will somewhat - arbitrarily interpret your entry as a regular expression if it - contains any of the characters *, |, +, ?, {, [, ^, $, or \. - Otherwise, it will be treated literally. The feature - disable-regular-expression-matching-for-alternate-addresses may be - used to turn off regular expression processing regardless of whether - or not special characters appear in the entry. - A description of how regular expressions work is beyond the scope of - this help text, but some examples follow. - The entry - - .*@example.com - in the alt-addresses list would mean that any address with a domain - name of example.com (such as fred@example.com or wilma@example.com) - will be considered one of your alternate addresses. Strictly - speaking, the dot in example.com ought to be escaped with a - backslash, as in example\.com, and a dollar sign anchor ought to come - at the end of the expression to prevent a match of example.com.org. - Complicating things further, the dollar sign is special in the - _Alpine_ configuration (it signifies environment variable expansion) - so the dollar sign should be doubled or backslash escaped for - _Alpine_'s sake. Quotes around the whole expression will not escape the - dollar sign successfully. So this example should look like - - .*@example\.com$$ - The entry - - ^fred[0-9]*@example.com$$ - would match fred3@example.com or fred17@example.com as well as - fred@example.com. - You could match all addresses that look like fred+stuff@example.com - for any value of stuff with the entry - - ^fred\+.*@example.com$$ - Notice that you have to escape the plus sign with a backslash because - plus is a special character in regular expressions. If you wanted to - match plain fred as well as fred+stuff the expression - - ^fred(()|\+.*)@example.com$$ - would do it, but it would be easier to just add fred@example.com as a - separate entry. - One more example, a match of all first-level subdomains, is given by - - ^fred@[[:alnum:]_-]*\.example\.com$$ - Because the regular expression matching is based on an old library - (hs_regex) the regular expressions might not work exactly as you - expect, but they should be close. - This option is displayed as "Alternate Addresses". - _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. - _busy-cue-rate_ - When _Alpine_ is delayed for some reason it usually shows that - something is happening with a small animated display in the status - message line near the bottom of the screen. This option sets how - frequently the characters (for example, a spinning bar) in the active - status message lines are updated. At most, it can be set to be - udpated 20 times per second. - Setting this value to zero will prevent display of the animations - altogether. - The option busy-cue-spinner-only can be used to remove the randomness - from this animated display. - _character-set_ - This is now obsolete, replaced by three separate variables: - _display-character-set_, _keyboard-character-set_, and - _posting-character-set_. See the section on International Character - Sets for more details. - _color-style_ - UNIX _Alpine_ only (color is automatically on with _PC-Alpine_). 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 _Alpine_. 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, - _Alpine_ looks in the terminal capabilities database, TERMINFO - or TERMCAP, depending on how _Alpine_ was compiled. This is a - good option to choose if you switch between a color and a - non-color terminal with the same _Alpine_ configuration. - _Alpine_ will know to use color on the color terminal because it - is described in the termcap entry, and _Alpine_ 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 - _Alpine_ 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. There is also a 9th color available, the last one shown, - which is the default color from the terminal emulator. When - used as a background color some people refer to this color as - "transparent", which is why the letters "TRAN" are shown in the - color swatch of the SETUP COLOR screen. The foreground - transparent color is shown as the color of the "TRAN" text. - (The transparent color will not work correctly in a PC-Alpine - configuration.) 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 - (plus a 17th for the transparent color), it's working. - - force-xterm-256color - Some versions of xterm (and some other terminal emulators) have - support for 256 colors. The escape sequences used to set the - foreground colors are - - ESC [ 38 ; 5 ; <color_number> m - - where the color_number is an ASCII digit between 0 and 255. - Background colors are the same with the 38 replaced with a 48. - The numbers 0 through 15 are probably similar to the 16 color - version above, then comes a 6x6x6 color cube, followed by 24 - colors of gray. The terminal default (transparent) color is the - 257th color at the bottom. Some terminal emulators will - misinterpret these escape sequences causing the terminal to - blink or overstrike characters or to do something else - undesirable. - - The PuTTY terminal emulator has an option called "Allow - terminal to use xterm 256-colour mode" which allows PuTTY to - work well with this 256-color setting. - - There are two other possible color values which may be useful in some - situations. In the color configuration screens there will sometimes - be a color which has the label "NORM" inside its color swatch. If - this is selected the corresponding foreground or background Normal - Color will be used. Another similar color is the one that has the - label "NONE" inside its color swatch. The meaning of this setting is - that no color changing will be done. This NONE color is only useful - in contexts where _Alpine_ is already coloring the text some color - other than the Normal Color. For example, if the Reverse Color is set - then the current line in the MESSAGE INDEX will be colored. If one of - the index symbols (for example, the Index-to-me Symbol) has the NONE - color as its background then the symbol's foreground color will be - used to draw the actual text but the background color will be the - same as whatever the background color already was. The color values - which end up in the configuration file for these special values are - the 11-character words "norm-padded", "none-padded", and - "transparent". - 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 _Alpine_ supports are configurable there. Index line - color is configured separately. - _composer-word-separators_ - This option affects how a "word" is defined in the composer. The - definition of a word is used when using the Forward Word and Backward - Word commands in the composer, as well as when using the spell - checker. Whitespace is always considered a word separator. - Punctuation (like question marks, periods, commas, and so on) is - always a word separator if it comes at the end of a word. By default, - a punctuation character which is in the middle of a word does not - break up that word as long as the character before and the character - after it are both alphanumeric. If you add a character to this option - it will be considered a word separator even when it occurs in the - middle of an alphanumeric word. For example, if you want to skip - through each part of an address instead of skipping the whole address - at once you might want to include"@" and "." in this list. If you - want the word-skipper to stop on each part of a UNIX filename you - could add "/" to the list. The equal sign and dash are other - possibilities you might find helpful. - _composer-wrap-column_ - This option specifies an aspect of _Alpine_'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. - Limitation: Because commas are used to separate the list of - Customized-Headers, it is not possible to have the value of a header - contain a comma. Nor is there currently an "escape" mechanism - provided to make this work. - This option is displayed as "Customized Headers". - _dead-letter-files_ - This option affects _Alpine_'s behavior when you cancel a message - being composed. _Alpine_'s usual behavior is to write the canceled - message to a file named "dead.letter" in your home directory, or - "DEADLETR" when using _PC-Alpine_, 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. - This option is displayed as "Default Composer Headers". - _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). - This option is displayed as "Default Fcc (File carbon copy)". - _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 _Alpine_ default is normally _saved-messages_ in - the default folder collection. _PC-Alpine_ default is _SAVEMAIL_ - (normally stored as _SAVEMAIL.MTX_). - This option is displayed as "Default Saved Message Folder". - _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. - _Alpine_ 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, _Alpine_ 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 _Alpine_ with additional authenticators and/or a newer - version of the c-client library. - + GSSAPI - + CRAM-MD5 - + PLAIN - + LOGIN - 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 _Alpine_ 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 _Alpine_'s Kerberos support). - It is never necessary to disable authenticators, since _Alpine_ will - try other authenticators before giving up. However, disabling the - relevant authenticator avoids annoying error messages. - _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 _Alpine_ with a newer version of the c-client - library. - + mbox - + mbx - + mh - + mix - + mmdf - + mtx - + mx - + news - + phile - + tenex - + unix - 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. - _display-character-set_ - See the discussion in International Character Sets for details. - _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-Alpine_. - The command is executed and the message is piped into its standard - input. The standard output of the command is read back by _Alpine_. - 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 _Alpine_ 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 _Alpine_ 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 _Alpine_ 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 - _Alpine_ 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. _Alpine_ 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. _Alpine_ - 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. _Alpine_ 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 _Alpine_ 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 - _Alpine_ 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 _Alpine_ 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 _Alpine_ 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 both the To and Cc fields are empty and you are - sending the message to a Bcc, _Alpine_ 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, - _Alpine_ will accept the values _default-fcc_, _by-recipient_, or - _last-fcc-used_. If set to _default-fcc_, then _Alpine_ 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 - _Alpine_ 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 _Alpine_ 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-Alpine_ 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, _Alpine_ 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 _Alpine_ - 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 _Save_s, including default-fcc's. - _folder-extension_ - _PC-Alpine_ only. File extension used for local folder names. This is - .MTX by default. - _folder-reopen-rule_ - _Alpine_ 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. _Alpine_ 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 _Alpine_ 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 _Alpine_ 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 - _Alpine_ 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 _Alpine_ 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 - _Alpine_ 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] - _Alpine_ 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] - _Alpine_ 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 - _Alpine_ 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] - _Alpine_ will not differentiate based on access method. It will - always ask for all remote folders, with a default answer of - Yes. - - Always ask [No] - _Alpine_ 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 - _Alpine_ 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. _Alpine_ 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 - _Alpine_ 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-Alpine_ only. - _font-size_ - Winsock version of _PC-Alpine_ only. - _font-style_ - Winsock version of _PC-Alpine_ only. - _forced-abook-entry_ - System-wide _Alpine_ 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 _Alpine_'s usual behavior when you - execute the Compose command. Normally, _Alpine_ 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, - _Alpine_ 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 _Alpine_ will not - automatically delete the selected message from the Form Letter - Folder. - Setting this variable will also affect _Alpine_'s behavior when you - Postpone a message from the composer. Normally, _Alpine_ simply - stashes the message away in your Postponed-Folder. Regardless of the - specified folder's existence, _Alpine_ 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 _Alpine_ - 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. _Alpine_, 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 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 _Alpine_'s behavior when using the _Goto_ command. - There are five possible values for this option: - - _folder-in-first-collection_ - _Alpine_ 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_, _Alpine_ 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 _Alpine_'s default behavior. If the current folder is - _INBOX_, _Alpine_ 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. - _header-general-background-color_ - _header-general-foreground-color_ - Header Colors. - _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 _Save_s. Any valid folder specification, local or remote (via - IMAP), is allowed. There is no default. - _incoming-check-interval_ - This option has no effect unless the feature - enable-incoming-folders-checking is set, which in turn has no effect - unless incoming-folders is set. - This option specifies, in seconds, how often _Alpine_ will check for - new mail and state changes in Incoming Folders when Incoming Folders - Checking is turned on. The default is 3 minutes (180). This value - applies only to folders that are local to the system that _Alpine_ is - running on or that are accessed using the IMAP protocol. The similar - option incoming-check-interval-secondary applies to all other - monitored folders. - _incoming-check-interval-secondary_ - This option has no effect unless the feature - enable-incoming-folders-checking is set, which in turn has no effect - unless incoming-folders is set. - This option together with the option incoming-check-interval - specifies, in seconds, how often _Alpine_ will check for new mail and - state changes in Incoming Folders when Incoming Folders Checking is - turned on. The default for this option is 3 minutes (180). For - folders that are local to this system or that are accessed using the - IMAP protocol the value of the option incoming-check-interval is - used. For all other monitored folders, the value of this option is - used. - The reason there are two separate options is because it is usually - less expensive to check local and IMAP folders than it is to check - other types, like POP or NNTP folders. You may want to set this - secondary value to a higher number than the primary check interval. - _incoming-check-list_ - This option has no effect unless the feature - enable-incoming-folders-checking is set, which in turn has no effect - unless incoming-folders is set. - When monitoring the Incoming Message Folders for Unseen messages - Alpine will normally monitor all Incoming Folders. You may use this - option to restrict the list of monitored folders to a subset of all - Incoming Folders. - _incoming-check-timeout_ - This option has no effect unless the feature - enable-incoming-folders-checking is set, which in turn has no effect - unless incoming-folders is set. - Sets the time in seconds that Alpine will attempt to open a network - connection used for monitoring for Unseen messages in Incoming - Folders. The default is 5. If a connection has not completed within - this many seconds Alpine will give up and consider it a failed - connection. - _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 _Alpine_ would monitor - the folders in this list for new mail. - _incoming-startup-rule_ - This rule affects _Alpine_'s behavior when opening the _INBOX_ or - another folder from the "INCOMING MESSAGE FOLDERS". This rule tells - _Alpine_ 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. - - _incoming-unseen-background-color_ - _incoming-unseen-foreground-color_ - Incoming Unseen Color. - _index-answered-background-color_ - _index-answered-foreground-color_ - _index-arrow-background-color_ - _index-arrow-foreground-color_ - _index-deleted-background-color_ - _index-deleted-foreground-color_ - _index-from-background-color_ - _index-from-foreground-color_ - _index-highpriority-background-color_ - _index-highpriority-foreground-color_ - _index-important-background-color_ - _index-important-foreground-color_ - _index-lowpriority-background-color_ - _index-lowpriority-foreground-color_ - _index-new-background-color_ - _index-new-foreground-color_ - _index-opening-background-color_ - _index-opening-foreground-color_ - _index-recent-background-color_ - _index-recent-foreground-color_ - _index-subject-background-color_ - _index-subject-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. - _Alpine_ 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 SMARTDATETIME24 FROMORTO(33%) SIZENARROW SUBJKEY(6 - 7%) - 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. - If you want to retain the default format that _Pine_ 4.64 had, use - - Index-Format=STATUS MSGNO DATE FROMORTO(33%) SIZE SUBJKEY(67%) - _and_ set the feature Disable-Index-Locale-Dates. - _initial-keystroke-list_ - This is a comma-separated list of keystrokes which _Alpine_ 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 _Alpine_. 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 _Alpine_ 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. - _keyboard-character-set_ - See the discussion in International Character Sets for details. - _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, or you may add keywords from the Flag Details screen - that you can get to after typing the Flag (*) command. After the - keywords have been defined, then you use the Flag command to set or - clear the keywords in each message. The behavior of the flag command - may be modified by using the Enable-Flag-Screen-Implicitly option or - the Enable-Flag-Screen-Keyword-Shortcut option. - Keywords may be used when Selecting messages (Select Keyword). - 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 _Alpine_. 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 _Alpine_ 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 _Alpine_'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. - This option is displayed as "Keyword Surrounding Characters". - _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 - _Alpine_ when the the pruning is done or declined. If a user wanted to - make _Alpine_ 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 - _Alpine_. It is used to keep track of the last version of _Alpine_ - 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 _Alpine_ was linked with an LDAP library - when it was compiled. This variable is normally managed by _Alpine_ - 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 _Alpine_ 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 _Alpine_ - 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 _Alpine_ 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 _Alpine_'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 _Alpine_ 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 _Alpine_ 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, _Alpine_ 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 _Alpine_ 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-InboxandMail-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 _Alpine_. - 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 _Alpine_'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 _Alpine_. 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 _Alpine_ 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 _Alpine_. 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 _Alpine_ session, independent of the value of - this option. The same is true of any Stay-Open-Folders you have - defined. This option controls _Alpine_'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 _Alpine_ 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 _Alpine_ 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 _Alpine_ 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, _Alpine_ 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 _Alpine_ 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, - This option is displayed as "Maximum Remote Connections". - _meta-message-background-color_ - _meta-message-foreground-color_ - Meta-message Color. - _mimetype-search-path_ - This variable is used to replace _Alpine_'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 _Alpine_'s usage of - the MIME.Types File. - _new-version-threshold_ - When a new version of _Alpine_ 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 _Alpine_. It takes as its value a _Alpine_ - version number. _Alpine_ 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 _Alpine_. However, there is a - very similar feature built in to _PC-Alpine_. In _PC-Alpine_'s Config - menu at the top of the screen is an option called "New Mail Window". - You may have _Alpine_ 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 _Alpine_s both writing to the same FIFO, _Alpine_ 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 _Alpine_, you must - _first_ start _Alpine_ 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 - (_Alpine_) of the fifo must be running on the same system. - _newmail-window-width_ - UNIX _Alpine_ 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 _Alpine_, 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-Alpine_, 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 _Alpine_ 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 _Alpine_ 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 _Alpine_ uses for your - "newsrc" news status and subscription file. If set, _Alpine_ 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 _Alpine_ 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 _Alpine_, 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 _Alpine_ - 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, _Alpine_ 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 _Alpine_ 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 _Alpine_ - to attempt to use it. If authentication is not offered by the server, - this will cause _Alpine_ 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. - _opening-text-separator-chars_ - This option controls a minor aspect of _Alpine_'s MESSAGE INDEX - screen. With some setups the text of the subject is followed by the - opening text of the message if there is any room available in the - index line. If you have configured your Index-Format option to - include one of the Subject tokens which causes this behavior - (SUBJECTTEXT, SUBJKEYTEXT, or SUBJKEYINITTEXT), then this option may - be used to modify what is displayed slightly. By default, the Subject - is separated from the opening text of the message by the three - characters space dash space; - - " - " - Use this option to set it to something different. The value must be - quoted if it includes any space characters. For example, the default - value could be specified explicitly by setting this option to - - Opening-Text-Separator-Chars=" - " - This option is displayed as "Opening Text Separator Characters". - _operating-dir_ - System-wide _Alpine_ 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. - This option is displayed as "Patterns 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. - This option is displayed as "Patterns Scores". - _patterns-search_ - Matching patterns for use with the Select command are stored in this - variable. These patterns are used with Search Rules configuration. - This variable is normally maintained through the Setup/Rules/searCh - configuration screen. It is a list variable. Each member of the list - is a single pattern, or it can be a file which contains zero or more - lines of patterns. The only way to create a rules file is to use the - InsertFile command in the Setup/Rules/searCh 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. - _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 _Alpine_ figure out where to put the cursor when the - user runs the _Setup/Printer_ command. This is not used by - _PC-Alpine_. - _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-Alpine_. - _posting-character-set_ - See the discussion in International Character Sets for details. - _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-Alpine_ only. - _print-font-size_ - Winsock version of _PC-Alpine_ only. - _print-font-style_ - Winsock version of _PC-Alpine_ only. - _printer_ - Personal configuration file only. This is the current setting for a - user's printer. This variable is set from _Alpine_'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 - _Alpine_ 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, _Alpine_ 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. _Alpine_ 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, _Alpine_ 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 _Alpine_ will also ask - about pruning those folders. With this option you may provide an - automatic answer to the rename questions and you may tell _Alpine_ 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-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 ">". - 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. - _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, _Alpine_ 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 _Alpine_ - configuration, so you will want to be sure that is turned 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 _Alpine_. - _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 _Alpine_ 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 _Alpine_ 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. - _reply-indent-string_ - This variable specifies an aspect of _Alpine_'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 option is used to customize the content of the introduction line - that is included when replying to a message and including the - original message in the reply. The normal default (what you will get - if you delete 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 can replace this default with text of your own. - The text may contain tokens that are replaced with text that depends - on the message you are replying to. For example, the default is - equivalent to: - - On _DAYDATE_, _FROM_ wrote: - Since this variable includes regular text mixed with special tokens - the tokens have to be surrounded by underscore characters. For - example, to use the token "PREFDATE" you would need to use - "_PREFDATE_", not "PREFDATE". - The list of available tokens is here. - By default, the text is all on a single line and is followed by a - blank line. If your _Reply-Leadin_ turns out to be longer than 80 - characters when replying to a particular message, it is shortened. - However, if you use the token - - _NEWLINE_ - anywhere in the value, no end of line or blank line is appended, and - no shortening is done. The _NEWLINE_ token may be used to get rid of - the blank line following the text, to add more blank lines, or to - form a multi-line _Reply-Leadin_. To clarify how _NEWLINE_ works - recall that the default value is: - - On _DAYDATE_, _FROM_ wrote: - That is equivalent to - - On _DAYDATE_, _FROM_ wrote:_NEWLINE__NEWLINE_ - In the former case, two newlines are added automatically because no - _NEWLINE_ token appears in the value of the option (for backwards - compatibility). In the latter case, the newlines are explicit. If you - want to remove the blank line that follows the _Reply-Leadin_ text - use a single _NEWLINE_ token like - - On _DAYDATE_, _FROM_ wrote:_NEWLINE_ - Because of the backwards compatibility problem, it is not possible to - remove all of the ends of lines, because then there will be no - _NEWLINE_ tokens and that will cause the automatic adding of two - newlines! If you want, you may embed newlines in the middle of the - text, as well, producing a multi-line _Reply-Leadin_. - By default, no attempt is made to localize the date. If you prefer a - localized form you may find that one of the tokens _PREFDATE_ or - _PREFDATETIME_ is a satisfactory substitute. If you want more control - one of the many other date tokens, such as _DATEISO_, might be - better. - 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. - 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 _Alpine_ 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 _Sav_ing. If set to - _default-folder_ (which is the default setting), then _Alpine_ will - offer the folder "saved-messages" (UNIX) or "SAVEMAIL" (PC) for - _Sav_ing 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_, _Alpine_ 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, _Alpine_ - offers to _Save_ the message to the default folder. - Choosing any of the _by-_ options causes _Alpine_ 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, _Alpine_ attempts to get the value of who the - message came from (i.e. the from address). _Alpine_ then attempts to - _Save_ the message to a folder matching that value. If _by-from_ is - chosen and no value is obtained, _Alpine_ uses _by-sender_. The - opposite is also true. If _by-recipient_ was chosen and the message - was posted to a newsgroup, _Alpine_ will use the newsgroup name. If - _by-replyto_ is chosen and no value is obtained, _Alpine_ uses - _by-from_. - If any of the "by-realname" options are chosen, _Alpine_ 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, _Alpine_ 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 _Alpine_ 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 _Alpine_ 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 _Alpine_ 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 _Alpine_ 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" - This option is displayed as "Saved Message Name Rule". - _scroll-margin_ - This option controls when _Alpine_'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 _Alpine_ 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 _Alpine_ 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-Alpine_ 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. _Alpine_ 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. _Alpine_ - 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. _Alpine_ 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 - _Alpine_ 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 - _Alpine_ 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 _Alpine_. - - __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, _Alpine_ 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. _Alpine_ 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 - _Alpine_, 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 _Alpine_, 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. - _smime-public-cert-directory_ - UNIX _Alpine_ only. - If the option smime-public-cert-container is set then this option - will have no effect. - Normally, Public Certificates for use with S/MIME will be stored in - the directory which is the value of this option. Those certificates - will be stored in PEM format, one certificate per file. The name of - the file for the certificate corresponding to - - emailaddress - should be - - emailaddress.crt - For example, a file for user@example.com would be in the file - - user@example.com.crt - in this directory. - Use the Setup/SMIME screen to modify this variable. - Typically, the public certificates that you have will come from - S/MIME signed messages that are sent to you. _Alpine_ will extract - the public certificate from the signed message and store it in the - certificates directory. These PEM format public certificates look - something like: ------BEGIN CERTIFICATE----- -MIIFvTCCBKWgAwIBAgIQD4fYFHVI8T20yN4nus097DANBgkqhkiG9w0BAQUFADCB -rjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug -Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho -... -2b9KGqDyMWW/rjNnmpjzjT2ObGM7lRA8lke4FLOLajhrz4ogO3b4DFfAAM1VSZH8 -D6sOwOLJZkLY8FRsfk63K+2EMzA2+qAzMKupgeTLqXIf ------END CERTIFICATE----- - + General S/MIME Overview - This option is displayed as "S/MIME - Public Cert Directory". - _smime-public-cert-container_ - UNIX _Alpine_ only. - If this option is set it will be used instead of - smime-public-cert-directory - This option gives you a way to store certificates remotely on an IMAP - server instead of storing the certificates one per file locally. In - order to do that you just give this option a remote folder name for a - folder which does not yet exist. The name is similar to the name you - might use for a remote configuration file. A remote folder name might - look something like: - - {myimaphost.myschool.k12.wa.us}mail/publiccerts - Use the Setup/SMIME screen to modify this variable. - + General S/MIME Overview - This option is displayed as "S/MIME - Public Cert Container". - _smime-private-key-directory_ - UNIX _Alpine_ only. - In order to sign outgoing S/MIME messages you will need a personal - digital ID certificate. You will usually get such a certificate from - a certificate authority such as Thawte or CAcert. (In order to - encrypt outgoing messages you don't need a personal digital ID, you - need the public certificate of the recipient instead.) If the option - smime-private-key-container is set then this option will have no - effect. - Normally, Private Keys for use with S/MIME will be stored in the - directory which is the value of this option. Those certificates will - be stored in PEM format, one certificate per file. The name of the - file for the certificate corresponding to your - - emailaddress - should be - - emailaddress.key - For example, if your address is user@example.com the name of the file - would be - - user@example.com.key - in this directory. - Use the Setup/SMIME screen to modify this variable. - Typically, the private key that you have will come from a Certificate - Authority. The private key should be stored in a PEM format file that - looks something like: ------BEGIN RSA PRIVATE KEY----- -Proc-Type: 4,ENCRYPTED -DEK-Info: DES-EDE3-CBC,2CBD328FD84CF5C6 - -YBEXYLgLU9NJoc1V+vJ6UvcF08RX54S6jXsmgL0b5HGkudG6fhnmHkH7+UCvM5NI -SXO/F8iuZDfs1VGG0NyitkFZ0Zn2vfaGovBvm15gx24b2xnZDLRB7/bNZkurnK5k -VjAjZ2xXn2hFp2GJwqRdmxYNqsKGu52B99oti5HUWuZ2GFRaWjn5hYOqeApZE2uA -... -oSRqfI51UdSRt0tmGhHeTvybUVrHm9eKft8TTGf+qSBqzSc55CsmoVbRzw4Nfhix -m+4TJybNGNfAgOctSkEyY/OCb49fRRQTCBZVIhzLGGmpYmkO55HbIA== ------END RSA PRIVATE KEY----- - + General S/MIME Overview - This option is displayed as "S/MIME - Private Key Directory". - _smime-private-key-container_ - UNIX _Alpine_ only. - If this option is set it will be used instead of - smime-private-key-directory. - This option gives you a way to store keys remotely on an IMAP server - instead of storing the keys one per file locally. In order to do that - you just give this option a remote folder name for a folder which - does not yet exist. The name is similar to the name you might use for - a remote configuration file. A remote folder name might look - something like: - - {myimaphost.myschool.k12.wa.us}mail/privatekeys - Use the Setup/SMIME screen to modify this variable. - + General S/MIME Overview - This option is displayed as "S/MIME - Private Key Container". - _smime-cacert-directory_ - UNIX _Alpine_ only. - If the option smime-cacert-container is set then this option will - have no effect. - CACert is a shorthand name for certification authority certificate. - Normally _Alpine_ will use the CACerts that are located in the - standard system location for CACerts. It may be the case that one of - your correspondents has a Digital ID which has been signed by a - certificate authority that is not in the regular set of system - certificate authorities. You may supplement the system list by adding - further certificates of your own. These should be stored in the - directory which is the value of this option. The certificates will be - stored in PEM format, one certificate per file. The names of the - files can be anything ending in ".crt". - Use the Setup/SMIME screen to modify this variable. - These PEM format CA certificates look very similar to your public - certificates for particular email addresses - (smime-public-cert-directory). - + General S/MIME Overview - This option is displayed as "S/MIME - Cert Authority Directory". - _smime-cacert-container_ - UNIX _Alpine_ only. - If this option is set it will be used instead of - smime-cacert-directory. - This option gives you a way to store certificates remotely on an IMAP - server instead of storing the certificates one per file locally. In - order to do that you just give this option a remote folder name for a - folder which does not yet exist. The name is similar to the name you - might use for a remote configuration file. A remote folder name might - look something like: - - {myimaphost.myschool.k12.wa.us}mail/cacerts - Use the Setup/SMIME screen to modify this variable. - + General S/MIME Overview - This option is displayed as "S/MIME - Cert Authority Container". - _smtp-server_ - One or more SMTP servers (host name or IP address) which _Alpine_ - will use for outgoing mail. If not set, _Alpine_ passes outgoing - email to the _sendmail_ program on the local machine. _PC-Alpine_ - 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 _Alpine_ 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 - _Alpine_ to attempt to use it. If AUTH authentication is not offered - by the server, this will cause _Alpine_ 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 _Alpine_ 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 _Alpine_ 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. - This option is displayed as "SMTP Server (for sending)". - _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_ - UNIX _Alpine_ only. - For _PC-Alpine_, you must install the aspell library code that you - may get from http://aspell.net/win32/. - 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, _Alpine_ uses the system's "spell" command. - _Alpine_ will use the command defined by this option (if any) instead. - When invoking the spell-checking program, _Alpine_ appends a tempfile - name (where the message is passed) to the command line. _Alpine_ - expects the speller to correct the spelling in that file. When you - exit from the speller program _Alpine_ will read the tmpfile back - into the composer. - For Unix _Alpine_ 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 _Alpine_ 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. - _standard-printer_ - System-wide configuration file only. Specifies a list of commands for - category 2 of the _Setup/Printer_ screen, the standard print command - section. This is not used by _PC-Alpine_. - _status-background-color_ - _status-foreground-color_ - Status Color. - _status-message-delay_ - This option has evolved over time, causing the possible values to be - counter-intuitive. Read carefully before you set this option. First - we explain what the option does, then there is a longer discussion - following that. - If this is set to zero, the default value, it has _no_ effect. - Positive and negative values serve two similar, but different - purposes. - If it is set to a positive number, it causes the cursor to move to - the status line whenever a status message is printed and pause there - for this many seconds. It will probably only be useful if the - show-cursor feature is also turned on. Setting this option to a - postive number can only be used to _increase_ the status message - delay. This may be useful for Braille displays, or other - non-traditional displays. - If it is set to a negative number the interpretation is a bit - complicated. Negative numbers are used to _decrease_ the amount of - delay _Alpine_ uses to allow you to read important status messages. - Of course, this may cause you to miss some important messages. If you - see a message flash by but miss what it says you can use the Journal - command from the Main menu to read it. If you set this option to a - negative value, the delay will be no more than one second less than - the absolute value of the value you set. So if you set it to -1, the - delay will be no more than zero seconds, no delay at all. If you set - it to -2, the delay will be no more than 1 second. And so on, -3 is 2 - seconds, -4 is 3 seconds, ... If the delay that _Alpine_ would have - used by default is less than this delay, then the smaller delay set - by _Alpine_ will be used. Setting this option to a negative value can - only reduce the amount of delay, never increase it. - Here is a more detailed explanation. Status messages are the messages - which show up spontaneously in the status message line, the third - line from the bottom of the screen. By default, _Alpine_ assigns each - status message it produces a minimum display time. Some status - messages have a minimum display time of zero. You can see an example - of such a message by paging up in this help text until you reach the - top of the screen. If you try to page past the top you will see the - message - - [Already at start of help text] - in the status line. If there is another more important use of the - status message line this message might be replaced quickly, or it - even might not be shown at all. However, if there is no reason to get - rid of the message, it might stay there for several seconds while you - read the help. An example where it is replaced immediately happens - when you page up in the help text past the top of the screen, but - then type the "WhereIs" command right after paging up. The message - will disappear immediately without causing a delay (unless you have - set this option to a positive value) to allow you to type input for - the "WhereIs" command. Since it isn't a very important message, - _Alpine_ has set its minimum display time to zero seconds. - Other messages have minimum display times of three or more seconds. - These are usually error messages that _Alpine_ thinks you ought to - see. For example, it might be a message about a failed Save or a - failed folder open. It is often the case that this minimum display - time won't delay you in any way because the status message line is - not needed for another reason. However, there are times when _Alpine_ - has to delay what it is doing in order to display a status message - for the minimum display time. This happens when a message is being - displayed and _Alpine_ wants to ask for input from the keyboard. For - example, when you Save a message you use the status message line. You - get a prompt there asking for the name of the folder to save to. If - there is a status message being displayed that has not yet displayed - for its minimum time _Alpine_ will display that status message - surrounded with the characters > and < to show you that it is - delaying. That might happen, for example, if you tried to save to a - folder that caused an error, then followed that immediately with - another Save command. You might find yourself waiting for a status - message like - - [>Can't get write access to mailbox, access is readonly<] - to finish displaying for three seconds. If that is something you find - happening to you frequently, you may use negative values of this - option to decrease or eliminate that delay, at the risk of missing - the message. - _stay-open-folders_ - This option affects low-level behavior of _Alpine_. There is no - default value for this option. It is related to the options - Preopen-Stayopen-Folders, Max-Remote-Connections, and - offer-expunge-of-Stayopen-Folders. - Note: changes made to this list take effect the next time you open a - folder in the list. - This is a list of folders that will be permanently kept open once - they are first opened. The names in this list may be either the - nickname of an Incoming folder or the full technical specification of - a folder. The folders in this list need not be remote IMAP folders, - they could usefully be local folders, as well. If a folder in the - list is a newsgroup or is not accessed either locally or via IMAP, - then the entry will be ignored. For example, folders accessed via - NNTP or POP3 will not be kept open, since the way that new mail is - found with those protocols involves closing and reopening the - connection. - Once a Stay Open folder has been opened, new-mail checking will - continue to happen on that folder for the rest of the _Alpine_ - session. Your INBOX is always implicitly included in this Stay-Open - list and doesn't need to be added explicitly. - Another difference that you may notice between a Stay Open folder and - a non-Stay Open folder is which message is selected as the current - message when you enter the folder index. Normally, the starting - position for an incoming folder (which most Stay Open folders will - likely be) is controlled by the Incoming-Startup-Rule. However, if a - folder is a Stay Open folder, when you re-enter the folder after the - first time the current message will be the same as it was when you - left the folder. An exception is made if you use the TAB command to - get to the folder. In that case, the message number will be - incremented by one from what it was when you left the folder. - The above special behavior is thought to be useful. However, it is - special and different from what you might at first expect. The - feature Use-Regular-Startup-Rule-for-Stayopen-Folders may be used to - turn off this special treatment. - If the message that was current when you left the folder no longer - exists, then the regular startup rule will be used instead. - This option is displayed as "Stayopen Folders". - _tcp-open-timeout_ - Sets the time in seconds that _Alpine_ will attempt to open a network - connection. The default is 30, the minimum is 5, and the maximum is - system defined (typically 75). If a connection has not completed - within this many seconds _Alpine_ will give up and consider it a - failed connection. - _tcp-query-timeout_ - When _Alpine_ times out a network read or write it will normally just - display a message saying "Still waiting". However, if enough time has - elapsed since it started waiting it will offer to let you break the - connection. That amount of time is set by this option, which defaults - to 60 seconds, has a minimum of 5 seconds, and a maximum of 1000 - seconds. - _tcp-read-warning-timeout_ - Sets the time in seconds that _Alpine_ will wait for a network read - before warning you that things are moving slowly and possibly giving - you the option to break the connection. The default is 15 seconds. - The minimum is 5 seconds and the maximumn is 1000 seconds. - _tcp-write-warning-timeout_ - Sets the time in seconds that _Alpine_ will wait for a network write - before warning you that things are moving slowly and possibly giving - you the option to break the connection. The default is 0 which means - it is unset. If set to a non-zero value, the minimum is 5 and the - maximum is 1000. - _threading-display-style_ - When a folder is sorted by Threads or OrderedSubject, this option - will affect the MESSAGE INDEX display. By default, _Alpine_ will - display the MESSAGE INDEX in the "show-thread-structure" style if a - folder is sorted by Threads or OrderedSubject. The possible values - are: - - _none_ - Regular index display. The same index line as would be - displayed without threading is used. The only difference will - be in the order of the messages. - - _show-thread-structure_ - Threaded Subjects will be indented and vertical bars and - horizontal lines will be added to make it easier to see the - relationships among the messages in a thread (a conversation). - - _mutt-like_ - This is the same as the option above except that the Subject is - suppressed (is blank) if it matches the previous Subject in the - thread. The name comes from the email client Mutt. Here is an - example of what a mutt-like index might look like. In this - example, the first column represents the message number, the - threading-index-style is set to - "regular-index-with-expanded-threads", and the - Threading-Lastreply-Character is set to a backslash: - - 1 Some topic - 2 . Subject original message in thread - 3 |-> reply to 2 - 4 . |-> another reply to 2 - 5 . | \-> reply to 4 - 6 . | \-> reply to 5 - 7 | \-> reply to 6 - 8 |-> another reply to 2 - 9 . |->New subject another reply to 2 but with a New subject - 10 | |-> reply to 9 - 11 | \-> another reply to 9 - 12 | \-> reply to 11 - 13 \-> final reply to 2 - 14 Next topic - - _indent-subject-1_ - Threaded Subjects will be indented one space per level of the - conversation. The bars and lines that show up in the - show-thread-structure display will not be there with this - style. - - _indent-subject-2_ - Same as above but indent two spaces per level instead of one - space. - - _indent-from-1_ - Similar to indent-subject-1, except that instead of indenting - the Subject field one space the From field of a thread will be - indented one space per level of the conversation. - - _indent-from-2_ - Same as above but indent two spaces per level instead of one - space. - - _show-structure-in-from_ - The structure of the thread is illustrated with indenting, - vertical bars, and horizontal lines just like with the - show-thread-structure option, but the From field is used to - show the relationships instead of the Subject field. - - _threading-expanded-character_ - The Threading-Expanded-Character option has a small effect on the - MESSAGE INDEX display when using a threading-display-style other than - _none_. The value of this option is a single character. This - character is used to indicate that part of a thread has been expanded - and could be collapsed if desired with the "/" Collapse/Expand - command. By default, the value of this option is a dot (.). - If this option is set to the Empty Value, then the column (and the - following blank column) will be deleted from the display. - This option is closely related to the threading-indicator-character - option. Another similar option which affects the thread display is - the threading-lastreply-character option. - _threading-index-style_ - When a folder is sorted by Threads or OrderedSubject, this option - will affect the INDEX displays. The possible values are: - - _regular-index-with-expanded-threads_ - This is the default display. If the configuration option - threading-display-style is set to something other than "none", - then this setting will cause _Alpine_ to start off with a - MESSAGE INDEX with all of the threads expanded. That is, each - message will have a line in the MESSAGE INDEX display. The - Collapse/Expand command (/) may be used to manually collapse or - expand a thread or subthread (see also - slash-collapses-entire-thread). - - This setting affects the display when the folder is first - threaded. The collapsed state may also be re-initialized by - re-sorting the folder manually using the SortIndex command ($). - After re-sorting the threads will once again all be expanded, - even if you have previously collapsed some of them. - - If "threading-display-style" is set to "none", then the display - will be the regular default _Alpine_ MESSAGE INDEX, but sorted - in a different order. - - _regular-index-with-collapsed-threads_ - If the configuration option threading-display-style is set to - something other than "none", then this setting will cause - _Alpine_ to start out with all of the threads collapsed instead - of starting out with all of the threads expanded. The - Collapse/Expand command (/) may be used to manually collapse or - expand a thread or subthread (see also - slash-collapses-entire-thread). - - This setting affects the display when the folder is first - threaded. The collapsed state may also be re-initialized by - re-sorting the folder manually using the SortIndex command ($). - After re-sorting the threads will once again all be collapsed, - even if you have previously expanded some of them. - - _separate-index-screen-always_ - With this setting and the next, you will see an index of - threads instead of an index of messages, provided you have - sorted by Threads or OrderedSubject. - - The THREAD INDEX contains a '*' in the first column if any - message in the thread is marked Important. If not, it contains - a '+' if any message in the thread is to you. The second column - is blank. The third column contains a 'D' if all of the - messages in the thread are deleted. Otherwise, it contains an - 'N' if any of the messages in the thread are New. - - When you view a particular thread from the THREAD INDEX you - will be in the MESSAGE INDEX display but the index will only - contain messages from the thread you are viewing. - - _separate-index-screen-except-for-single-messages_ - This is very similar to the option above. When you are in the - THREAD INDEX, one of the available commands is "ViewThd". With - the setting "separate-index-screen-always" (the option above) - when you view a particular thread you will be in the MESSAGE - INDEX display and the index will only contain messages from the - thread you are viewing. If the thread you are viewing consists - of a single message, the MESSAGE INDEX will be an index with - only one message in it. If you use this - "separate-index-screen-except-for-single-messages" setting - instead, then that index which contains a single message will - be skipped and you will go directly from the THREAD INDEX into - the MESSAGE TEXT screen. - - _threading-indicator-character_ - The Threading-Indicator-Character option has a small effect on the - MESSAGE INDEX display when using a threading-display-style other than - _none_ and sorting by Threads or OrderedSubject. The value of this - option is a single character. This character is used to indicate that - part of a thread (a conversation) is hidden beneath a message. The - message could be expanded if desired with the "/" Collapse/Expand - command. By default, the value of this option is the greater than - sign (>). - If this option is set to the Empty Value, then the column (and the - following blank column) will be deleted from the display. - This option is closely related to the threading-expanded-character - option. Another similar option which affects the thread display is - the threading-lastreply-character option. - _threading-lastreply-character_ - The Threading-Lastreply-Character option has a small effect on the - MESSAGE INDEX display when using a threading-display-style of - _show-thread-structure_, _mutt-like_, or _show-structure-in-from_; and - sorting by Threads or OrderedSubject. The value of this option is a - single character. This character is used instead of the vertical line - character when there are no more replies directly to the parent of - the current message. It can be used to "round-off" the bottom of the - vertical line by setting it to a character such as a backslash (\) or - a backquote (`). The default value of this option is the backslash - character (\). This option may not be set to the Empty Value. In that - case, the default will be used instead. - This option is displayed as "Threading Last Reply Character". - _title-background-color_ - _title-foreground-color_ - Title Color. - _title-closed-background-color_ - _title-closed-foreground-color_ - Title-closed Color. - _titlebar-color-style_ - titlebar-color-style. - _unknown-character-set_ - A text message should either be made up of all US-ASCII characters or - it should contain a charset label which tells the software which - character set encoding to use to interpret the message. Sometimes a - malformed message may be unlabeled but contain non-ascii text. This - message is outside of the standards so any attempt to read it could - fail. When _Alpine_ attempts to read such a message it will try to - interpret the text in the character set you specify here. For - example, if you have correspondents who send you unlabeled messages - that are usually made up of characters from the WINDOWS-1251 - character set, setting this unknown-character-set to WINDOWS-1251 - will allow you to read those messages. Of course, if the unlabeled - message is actually in some other character set, then you may see - garbage on your screen. - In the Setup/Config screen you may choose from a list of all the - character sets _Alpine_ knows about by using the "T" ToCharsets - command. - _upload-command_ - This option affects the behavior of the Composer's _^R_ (Read File) - and _^J_ (Attach File, in the header) commands. It specifies a Unix - program name, and any necessary command line arguments, that _Alpine_ - can use to transfer files from your personal computer into messages - that you are composing. - _upload-command-prefix_ - This option is used in conjunction with the _upload-command_ option. - It defines text to be written to the terminal emulator (via standard - output) immediately prior to starting the upload command. This is - useful for integrated serial line file transfer agents that permit - command passing (e.g., Kermit's APC method). - _url-viewers_ - List of programs to use to open Internet URLs. This value affects - _Alpine_'s handling of URLs that are found in the text of messages you - read. Normally, only URLs _Alpine_ can handle directly are - automatically offered for selection in the "Message Text" screen. - When one or more comma delimited Web browsers capable of deciphering - URLs on their command line are added here, _Alpine_ will choose the - first available browser to display URLs it doesn't recognize. - Additionally, to support various connection methods and browsers, - each entry in this list can begin with the special token - _TEST(test-string)_. The test-string is a shell command that _Alpine_ - will run and which must exit with a status of zero for _Alpine_ to - consider that browser for use (the other criteria is that the browser - must exist as a full path or a path relative to your home directory). - Now for an example: - - url-viewers=_TEST("test -n '${DISPLAY}'")_ /usr/local/bin/netscape, - /usr/local/bin/lynx, C:\BIN\NETSCAPE.BAT - This example shows that for the first browser in the list to be used - the environment variable DISPLAY must be defined. If it is, then the - file /usr/local/bin/netscape must exist. If either condition is not - met, then the file /usr/local/bin/lynx must exist. If it doesn't, - then the final path and file must exist. Note that the last entry is - a DOS/Windows path. This is one way to support _Alpine_ running on - more than one architecture with the same configuration file. - _use-only-domain-name_ - Can be set to _yes_ or _no._ Anything but _yes_ means _no._ If set to - _yes_ the first label in the host name will be lopped off to get the - domain name and the domain name will be used for outgoing mail and - such. That is, if the host name is _carson.u.example.edu_ and this - variable is set to _yes,_ then _u.example.edu_ will be used on - outgoing mail. Only meaningful if user-domain is NOT set. - _user-domain_ - Sets the domain or host name for the user, overriding the system host - or domain name. See the domain name section. The easiest way to - change the full From address is with the customized-hdrs variable. - _user-id_ - _PC-Alpine_ only and personal configuration file only. Sets the - username that is placed on all outgoing messages. The username is the - part of the address that comes before the "@". The easiest way to - change the full From address is with the customized-hdrs variable. - _user-input-timeout_ - If this is set to an integer greater than zero, then this is the - number of _hours_ to wait for user input before _Alpine_ times out. - If _Alpine_ is in the midst of composing a message or is waiting for - user response to a question, then it will not timeout. However, if - _Alpine_ is sitting idle waiting for the user to tell it what to do - next and the user does not give any input for this many hours, - _Alpine_ will exit. No expunging or moving of read messages will take - place. It will exit similarly to the way it would exit if it received - a hangup signal. This may be useful for cleaning up unused _Alpine_ - sessions which have been forgotten by their owners. The _Alpine_ - developers envision system administrators setting this to a value of - several hours (24?) so that it won't surprise a user who didn't want - to be disconnected. - _viewer-hdr-colors_ - This variable holds the optional Header Colors and patterns which - have been defined by the user. This is usually modified by using the - Header Colors section of the Setup Color screen. - _viewer-hdrs_ - You may change the default list of headers that are viewed by listing - the headers you want to view here. If the headers in your - _viewer-hdrs_ list are present in the message, then they will be - shown. The order of the headers you list will also be honored. If the - special value _all-except_ is included as the first header in the - _viewer-hdrs_ list, then all headers in the message except those in - the list will be shown. The values are all case insensitive. - This option is displayed as "Viewer Headers". - _viewer-margin-left_ - This variable controls the left-hand vertical margin's width in - _Alpine_'s Message Viewing screen. Its value is the number of space - characters preceding each displayed line. For consistency with - Viewer-Margin-Right, you may specify the column number to start in - (column numbering begins with number 1) instead of the width of the - margin by appending a lower case letter "c" to the number. For - example, a value of "2c" means to start the text in column two, which - is entirely equivalent to a value of "1", which means to leave a - margin of 1 space. - The default is a left margin of 0 (zero). Misconfigurations (for - example, negative values or values with starting left columns greater - than the ending right column) are silently ignored. If the number of - columns for text between the Viewer-Margin-Left and the - Viewer-Margin-Right is fewer than 8, then margins of zero will be - used instead. - _viewer-margin-right_ - This variable controls the right-hand vertical margin's width in - _Alpine_'s Message Viewing screen. Its value is the number of space - characters following each displayed line. You may specify the column - number to end the text in (column numbering begins with number 1) - instead of the width of the margin by appending a lower case letter - "c" to the number. For example, a value of "76c" means to end the - text in column 76. If the screen is 80 characters wide, this is - equivalent to a value of "4", which means to leave a margin of 4 - spaces. However, if you use different size screens at different - times, then these two values are not equivalent. - The default right margin is 4. Misconfigurations (for example, - negative values or values with starting left columns greater than the - ending right column) are silently ignored. If the number of columns - for text between the Viewer-Margin-Left and the Viewer-Margin-Right - is fewer than 8, then margins of zero will be used instead. - _viewer-overlap_ - This option specifies an aspect of _Alpine_'s Message Viewing screen. - When the space bar is used to page forward in a message, the number - of lines specified by the _viewer-overlap_ variable will be repeated - from the bottom of the screen. That is, if this was set to two lines, - then the bottom two lines of the screen would be repeated on the top - of the next screen. The normal default value is "2". - _window-position_ - Winsock version of _PC-Alpine_ only. Window position in the format: - CxR+X+Yn Where C and R are the window size in characters and X and Y - are the screen position of the top left corner of the window. - _________________________________________________________________ - -Configuration Features - - There are several features (options) which may be turned off or on. The - configuration variable feature-list is a list of all the features that are - turned on or off. If the name of a feature is in the list it will be turned - on. If the name of a feature with the characters no- prepended is in the - list, it will turn the feature off. This is useful for overriding - system-wide defaults. This is because, unlike all the other configuration - variables, the _feature-list_ is additive. That is, first the system-wide - _feature-list_ is read and then the user's _feature-list_ is read. This makes - it possible for the system manager to turn some of the features on by - default while still allowing the user to cancel that default. For example, - if the system manager has turned on the _allow-talk_ feature by default then - a user may turn it back off by including the feature _no-allow-talk_ in his - or her personal configuration file. Of course, these details are usually - handled by _Alpine_ when the user turns an option on or off from inside the - _Setup/Config_ screen. - - System managers should take some care when turning on features by default. - Some of the documentation assumes that all of the features are off by - default, so it could be confusing for a user if some are on by default - instead. Feature names are case-independent. - - Here is an alphabetical list of possible features. - _allow-changing-from_ - Prior to _Pine_ 4.00 there was a _compile_-time option called - ALLOW_CHANGING_FROM. That has been replaced by a _runtime_ feature. - If this feature is turned on then the From line can be changed just - like all the other header fields that can be changed. See the - configuration variables customized-hdrs and default-composer-hdrs for - more information on editing headers. - The default value for this feature is ON, so that editing of From - headers is allowed by default. - _allow-talk_ - Unix _Alpine_ only. By default, permission for others to _talk_ to - your terminal is turned off when you are running _Alpine_. When this - feature is set, permission is instead turned on. - Note: The _talk_ program has nothing to do with _Alpine_ or email. - The _talk_ daemon on your system will attempt to print a message on - your screen when someone else is trying to contact you. If you wish - to see these messages while you are running _Alpine_, you should - enable this feature. - If you do enable this feature and see a _talk_ message, you must - suspend or quit _Alpine_ before you can respond. - _alternate-compose-menu_ - This feature controls the menu that is displayed when Compose is - selected. If set, a list of options will be presented, with each - option representing the type of composition that could be used. This - feature is most useful for users who want to avoid being prompted - with each option separately, or who want to avoid the checking of - remote postponed or form letter folders. The possible types of - composition are: - New, for starting a new composition. Note that if New is selected and - roles are set, roles are checked for matches and applied according to - the setting of the matching role. - Interrupted, for continuing an interrupted composition. This option - is only offered if an interrupted message folder is detected. - Postponed, for continuing postponed compositions. This option is - offered if a postponed-folder is set in the config _REGARDLESS OF_ - whether or not the postponed folder actually exists. This option is - especially handy for avoiding having to check for the existence of a - remote postponed folder. - Form, for using form letters. This option is offered if the - form-letter-folder is set in the config, and is not checked for - existence for reasons similar to those explained by the postponed - option. - setRole, for selecting a role to apply to a composition. - _alternate-role-menu_ - Normally the Role Command allows you to choose a role and compose a - new message using that role. When this feature is set, the role - command will first ask whether you want to Compose a new message, - Forward the current message, Reply to the current message, or Bounce - the current message. If you are not in the MESSAGE INDEX and are not - viewing a message, then there is no current message and the question - will be skipped. After you have chosen to Compose, Forward, Reply or - Bounce you will then choose the role to be used. - When Bouncing the "Set From" address is used for the Resent-From - header, the "Set Fcc" value is used for the Fcc provided that the - option "Fcc-On-Bounce" is turned on, and the "Use SMTP Server" value - is used for the SMTP server, if set. Other actions of the role are - ignored when Bouncing. - This feature is displayed as "Alternate Role (#) Menu". - _assume-slow-link_ - UNIX _Alpine_ only. - This feature affects _Alpine_'s display routines. If set, the normal - inverse-video cursor (used to highlight the current item in a list) - will be replaced by an _arrow_ cursor and other screen update - optimizations for low-speed links (e.g. 2400 bps dialup connections) - will be activated. One of the optimizations is that colored index - lines (set up with Indexcolor Rules) will not be colored. This might - be useful if _you_ know you have a slow speed link but for some - reason _Alpine_ doesn't know. - _auto-move-read-msgs_ - This feature controls an aspect of _Alpine_'s behavior upon quitting. - If set, and the read-message-folder variable is also set, then - _Alpine_ will automatically transfer all read messages from the _INBOX_ - to the designated folder and mark them as deleted in the _INBOX_. - Messages in the _INBOX_ marked with an _N_ (meaning New, or unseen) - are not affected. - This feature is displayed as "Auto Move Read Messages". - _auto-open-next-unread_ - This feature controls the behavior of the TAB key when traversing - folders in the optional incoming-folders collection or in optional - news-collections. - When the TAB (Next New) key is pressed, and there are no more unseen - messages in the current (incoming message or news) folder, _Alpine_ - will search the list of folders in the current collection for one - containing New or Recent (new since the last time the folder was - opened) messages. This behavior may be modified slightly with the - Tab-Uses-Unseen-For-Next-Folder feature which causes _Alpine_ to look - for Unseen messages instead of Recent messages. By default, when such - a folder is found, _Alpine_ will ask whether you wish to open the - folder. If this feature is set, _Alpine_ will automatically open the - folder without prompting. - _auto-unselect-after-apply_ - This feature affects the behavior of the Apply command. If set, the - Apply command will do the operation you specify, but then will - implicitly do an "UnSelect All", so that you will automatically be - back in the normal Index view after the Apply. - _auto-unzoom-after-apply_ - If set, and if you are currently looking at a Zoomed Index view of - selected messages, the _Apply_ command will do the operation you - specify, but then will implicitly do an _UnZoom_, so that you will - automatically be back in the normal Index view after the _Apply_. - This feature is set by default. - _auto-zoom-after-select_ - If set, the _; select_ command will automatically perform a _Zoom_ - after the _select_ is complete. This feature is set by default. - _busy-cue-spinner-only_ - When _Alpine_ is delayed for some reason it usually shows that - something is happening with a small animated display in the status - message line near the bottom of the screen. Setting this feature will - cause that animation to be the same each time instead of having - _Alpine_ choose a random animation. You may turn the animation off - altogether by setting the busy-cue-rate option to zero. - _check-newmail-when-quitting_ - If set, _Alpine_ will check for new mail after you give the Quit - command. If new mail has arrived since the previous check, you will - be notified and given the choice of quitting or not quitting. - _combined-addrbook-display_ - This feature affects the address book display screens. Normally, - expanding an address book from the ADDRESS BOOK LIST screen will - cause the remaining address books and directory servers to disappear - from the screen, leaving only the entries of the expanded address - book. If this feature is set, then the other address books will - remain on the screen, so that all of the address books can be present - at once. - The way that commands work won't be changed. For example, the Select - All command will select all of the entries in the current address - book, not all of the entries in all of the address books. The WhereIs - command will change a little. It will search through all of the text - on the screen plus all of the entries from expanded address books. - When this feature is set, the setting of the feature - expanded-view-of-addressbooks has an effect. - This feature is displayed as "Combined Addressbook Display". - _combined-folder-display_ - This feature affects the folder list display screens. Normally, each - folder list is viewed within its collection only. This command allows - folder lists to be viewed within a single screen that combines the - contents of all collections. - The way that commands work won't be changed. For example, the Select - All command will select all of the folders in the current collection, - not all of the entries in all of the collections. The WhereIs command - will change a little. It will search through all of the folders in - the current collection as well as all the folder in any other - expanded collection. - When this feature is set, the setting of the feature - expanded-view-of-folders has an effect. - _combined-subdirectory-display_ - This feature affects the Folder List screen when the - combined-folder-display feature is enabled. Normally, selecting a - directory from the Folder List takes you into a new screen displaying - only the contents of that directory. - Enabling this feature will cause the contents of the selected - directory to be displayed within the boundaries of the Collection it - is a part of. All previously displayed collections will remain in the - screen. - The way that commands work won't be changed. For example, the Select - All command will select all of the folders in the directory, as - opposed to all of the entries in all of the collections. The WhereIs - command will change a little. It will search through all of the - folders in the current collection as well as all the folder in any - other expanded collection. - _compose-cancel-confirm-uses-yes_ - This feature affects what happens when you type ^C to cancel a - composition. By default, if you attempt to cancel a composition by - typing ^C, you will be asked to confirm the cancellation by typing a - "C" for _C_onfirm. It logically ought to be a "Y" for _Y_es, but that - is risky because the "^C Y" needed to cancel a message is close (on - the keyboard) to the "^X Y" needed to send a message. - If this feature is set the confirmation asked for will be a "_Y_es" - instead of a "_C_onfirm" response. - _compose-cut-from-cursor_ - If set, the _^K_ command in the composer will cut from the current - cursor position to the end of the line, rather than cutting the - entire line. - This feature is displayed as "Ctrl-K Cuts From Cursor". - _compose-maps-delete-key-to-ctrl-d_ - If set, Delete will be equivalent to ^D, and delete the current - character. Normally _Alpine_ defines the Delete key to be equivalent - to ^H, which deletes the _previous_ character. - This feature is displayed as "Delete Key Maps to Ctrl-D". - _compose-rejects-unqualified-addrs_ - If set, unqualified names entered as addresses will be treated as - errors unless they match an addressbook nickname or are looked up - successfully on an LDAP server. _Alpine_ will not attempt to turn - them into complete addresses by adding your local domain (which - _Alpine_ normally does by default). - A complete (fully-qualified) address is one containing a username - followed by an _@_ symbol, followed by a host or domain name (e.g. - _jsmith@example.com_). An unqualified name is one without the _@_ - symbol and host or domain name (e.g. _jsmith_). - This feature is displayed as "Compose Rejects Unqualified Addresses". - _compose-send-offers-first-filter_ - If you have sending-filters configured, setting this feature will - cause the first filter in the _sending-filters_ list to be offered as - the default instead of _unfiltered_, the usual default. - _compose-sets-newsgroup-without-confirm_ - If you enter the composer while reading a newsgroup, you will - normally be prompted to determine whether you intend the new message - to be posted to the current newsgroup or not. If this feature is set, - _Alpine_ will not prompt you in this situation, and will assume that - you do indeed wish to post to the newsgroup you are reading. - This feature is displayed as "Compose Sets Newsgroup Without - Confirming". - _confirm-role-even-for-default_ - If you have roles, when you Reply to or Forward a message, or Compose - a new message, _Alpine_ will search through your roles for one which - matches. Normally, if no matches are found you will be placed into - the composer with no opportunity to select a role. If this feature is - set, then you will be asked to confirm that you don't want a role. - This will give you the opportunity to select a role (with the ^T - command). If you confirm no role with a Return, you will be placed in - the composer with no role. You may also confirm with either an "N" or - a "Y". These behave the same as if you pressed the Return. (The "N" - and "Y" answers are available because they match what you might type - if there was a role match.) - If you are using the alternate form of the Compose command called - "Role", then all of your roles will be available to you, independent - of the value of this feauture and of the values set for all of Reply - Use, Forward Use, and Compose Use. - _continue-tab-without-confirm_ - Normally, when you use the TAB NextNew command and there is a problem - checking a folder, you are asked whether you want to continue with - the search in the following folder or not. This gives you a chance to - stop the NextNew processing. - If this feature is set you will not be asked. It will be assumed that - you want to continue. - This feature is displayed as "Continue NextNew Without Confirming". - _convert-dates-to-localtime_ - Normally, the message dates that you see in the MESSAGE INDEX and - MESSAGE VIEW are displayed in the timezone they were sent from. For - example, if a message was sent to you from a few timezones to the - east it might appear that it was sent from the future; or if it was - sent from somewhere to the west it might appear as if it is from - yesterday even though it was sent only a few minutes ago. If this - feature is set an attempt will be made to convert the dates to your - local timezone to be displayed. - Note that this does not affect the results of Select by Date or of - anything else other than these displayed dates. When viewing the - message you may look at the original unconverted value of the Date - header by using the HdrMode Command. - _copy-to-address-to-from-if-it-is-us_ - This feature affects the From address used when Replying to a - message. It is probably only useful if you have some alt-addresses - defined. When enabled, it checks to see if any of the addresses in - the To or Cc fields of the message you are replying to is one of your - addresses. If it is, and there is only one of them, then that address - is used as the From address in the message you are composing. In - other words, you will be using a From address that is the same as the - To address that was used to get the mail to you in the first place. - If a role is being used and it has a From address defined, that From - address will be used rather than the one derived from this feature. - _delete-skips-deleted_ - If set, this feature will cause the _Delete_ command to advance past - other messages that are marked deleted. In other words, pressing _D_ - will both mark the current message deleted and advance to the next - message that is not marked deleted. This feature is set by default. - _disable-config-cmd_ - If set, the configuration screen _Setup/Config_ will not be available - at all. - _disable-save-input-history_ - Many of the prompts that ask for input in the status line near the - bottom of the screen will respond to Up Arrow and Down Arrow with the - history of previous entries. For example, in the MESSAGE INDEX screen - when you use the WhereIs command the text you entered will be - remembered and can be recalled by using the Up Arrow key. Another - example, when saving a message the folders saved to will be - remembered and can be recalled using the arrow keys. - In the Save prompt, some users prefer that the Up and Down arrow keys - be used for the Previous Collection and Next Collection commands - instead of for a history of previous saves. If this option is set the - Up and Down arrow keys will become synonyms for the Previous - Collection and Next Collection (^P and ^N) commands in the prompt for - the name of a folder to Save to or in the prompt for the name of a - folder to GoTo. When this feature is not set (the default), ^P and ^N - will change the collection and the arrow keys will show the history. - _disable-keyboard-lock-cmd_ - In the Main _Alpine_ menu there is a Keyboard locking command - (_KBLock_). If this feature is set, that command won't be available to - the user. - _disable-keymenu_ - If set, the command key menu that normally appears on the bottom two - lines of the screen will not usually be there. Asking for help with - _^G_ or _?_ will cause the key menu to appear instead of causing the - help message to come up. If you want to actually see the help text, - another _^G_ or _?_ will show it to you. After the key menu has - popped up with the help key it will remain there for an _O Other_ - command but will disappear if any other command is typed. - _disable-password-caching_ - Normally, loginname/password combinations are cached in _Alpine_ so - that the user does not have to enter the same password more than once - in a session. A disadvantage to this approach is that the password - must be stored in the memory image of the running _Alpine_ in order - that it can be reused. In the event that _Alpine_ crashes and - produces a core dump, and that core dump is readable by others, the - loginname and password could possibly be read from the core dump. - If this feature is set, then the passwords will not be cached and the - user will have to retype the password whenever _Alpine_ needs it. - Even with this feature set there is still some chance that the core - file will contain a password, so care should be taken to make the - core files unreadable. - NOTE: If PASSFILE caching is enabled, this does not disable it. That - is a separate and independent feature. - _disable-password-cmd_ - If set the _Newpassword_ command usually available under the _Setup_ - command will not be available. - _disable-pipes-in-sigs_ - If set it will be an error to append a vertical bar (|) to the name - of a signature file. Appending a vertical bar normally causes the - signature file to be executed to produce the signature. - _disable-pipes-in-templates_ - If set it will be an error to append a vertical bar (|) to the name - of a template file. Appending a vertical bar normally causes the - signature file to be executed to produce the signature. - _disable-regular-expression-matching-for-alternate-addresses_ - Normally, the alt-addresses option is interpreted as a regular - expression. One type of address that might cause trouble is an - address that contains a plus sign. If you want to have an address - with a plus as one of your alternate addresses and you don't want to - use regular expressions, then setting this feature will cause _Alpine_ - to treat the addresses you list literally instead. - _disable-roles-setup-cmd_ - If set the _Roles_ command usually available under the _Setup_ - command will not be available. - _disable-roles-sig-edit_ - If set the roles editor in the _Setup/Roles_ command will not allow - editing of signature files with the F subcommand. - _disable-roles-template-edit_ - If set the roles editor in the _Setup/Roles_ command will not allow - editing of template files with the F subcommand. - _disable-sender_ - If set, _Alpine_ will not generate a "Sender:" or "X-X-Sender" - header. This may be desirable on a system which is virtually hosting - many domains, and the sysadmin has other methods available for - tracking a message to its originator. - This feature is displayed as "Do Not Generate Sender Header". - _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 _Alpine_. 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. - _disable-shared-namespaces_ - If this hidden feature is set the automatic search for namespaces - "ftp", "imapshared", and "imappublic" by the underlying library will - be disabled. The reason this feature exists is because there are some - implementations of system password lookup routines which are very - slow when presented with a long loginname which does not exist. This - feature could be set to prevent the delay at startup time when the - names above are searched for in the password file. - _disable-signature-edit-cmd_ - If set the _Signature_ editing command usually available under the - _Setup_ command will not be available. - _disable-take-fullname-in-addresses_ - Normally, when TakeAddr is used to copy an address or addresses from - a message into an address book entry, _Alpine_ will try to preserve - the full name associated with each address in the list of addresses. - The reason for this is so that if the entry is a list or later - becomes a list, then information about the individual addresses in - the list is preserved. If you would rather just have the simple - addresses in the list of addresses, set this feature. For example, - with the default setting you might see something like this in the - ADDRESS BOOK editor after you type TakeAddr - Nickname : nick - Fullname : Bedrock Elders - Fcc : - Comment : - Addresses : Fred Flintstone <flint@bedrock.org>, - Barney Rubble <rubble@bedrock.org> - but with this feature set it would look like - Nickname : nick - Fullname : Bedrock Elders - Fcc : - Comment : - Addresses : flint@bedrock.org, - rubble@bedrock.org - instead. Note the difference in the Addresses field. - _disable-take-last-comma-first_ - Normally, when _TakeAddr_ is used to copy an address from a message - into an address book, _Alpine_ will attempt to rewrite the full name - of the address in the form: - - Last, First - instead of - - First Last - It does this because many people find it useful to sort by Last name - instead of First name. If this feature is set, then the _TakeAddr_ - command will not attempt to reverse the name in this manner. - _disable-terminal-reset-for-display-filters_ - UNIX _Alpine_ only. - This feature affects _Alpine_'s behavior when using Display-Filters. - Normally, before the display filter is run, the terminal mode is - reset to what it was before you started _Alpine_. This may be - necessary if the filter requires the use of the terminal. For - example, it may need to interact with you. If you set this feature, - then the terminal mode will not be reset. One thing that turning on - this feature should fix is the coloring of quoted text in the message - view, which breaks because the terminal reset resets the color state - of the terminal (Color Configuration). - _downgrade-multipart-to-text_ - This feature affects _Alpine_'s behavior when sending mail. Internet - standards require _Alpine_ to translate all non-ASCII characters in - messages that it sends using MIME encoding. This encoding can be - ostensibly broken for recipients if any agent between _Alpine_ and - the recipient, such as an email list expander, appends text to the - message, such as list information or advertising. When sending such - messages _Alpine_ attempts to protect such encoding by placing extra - MIME boundaries around the message text. - These extra boundaries are invisible to recipients that use - MIME-aware email programs (the vast majority). However, if you - correspond with users of email programs that are not MIME-aware, or - do not handle the extra boundaries gracefully, you can use this - feature to prevent _Alpine_ from including the extra MIME - information. Of course, it will increase the likelihood that - non-ASCII text you send may appear corrupt to the recipient. - _enable-8bit-esmtp-negotiation_ - This feature affects _Alpine_'s behavior when sending mail. By - default, this feature is set. Internet standards require that all - electronic mail messages traversing the global Internet consist of - 7bit ASCII characters unless a pair of cooperating mail transfer - agents explicitly agree to allow 8bit messages. In general, then, - exchanging messages in non-ASCII characters requires MIME encoding. - However, there are now Internet standards that allow for unencoded - 8bit exchange of messages between cooperating systems. When this - feature is set _Alpine_ will try to negotiate unencoded 8bit - transmission during the sending process. Should the negotiation fail, - _Alpine_ will fall back to its ordinary encoding rules. - Note, this feature relies on your system's mail transport agent or - configured smtp-server having the negotiation mechanism introduced in - "Extended SMTP" (ESMTP) and the specific extension called _8BITMIME_. - _enable-8bit-nntp-posting_ - The Internet standard for exchanging USENET news messages (RFC-1036) - specifies that USENET messages should conform to Internet mail - standards and contain only 7bit characters, but much of the news - transport software in use today is capable of successfully sending - messages containing 8bit characters. Hence, many people believe that - it is appropriate to send 8bit news messages without any MIME - encoding. - Moreover, there is no Internet standard for explicitly negotiating - 8bit transfer, as there is for Internet email. Therefore, _Alpine_ - provides the option of posting unencoded 8bit news messages, though - not as the default. Setting this feature will turn OFF _Alpine_'s - MIME encoding of newsgroup postings that contain 8bit characters. - Note, articles may cross a path or pass through news transport - software that is unsafe or even hostile to 8bit characters. At best - this will only cause the posting to become garbled. The safest way to - transmit 8bit characters is to leave _Alpine_'s MIME encoding turned - on, but recipients who lack MIME-aware tools are often annoyed when - they receive MIME-encoded messages. - _enable-aggregate-command-set_ - When this feature is set you may use the commands and subcommands - that relate to performing operations on more than one message at a - time. We call these "aggregate operations". In particular, the _; - Select_, _A Apply_, and _Z Zoom_ commands are enabled by this - feature. _Select_ is used to _tag_ one or more messages meeting the - specified criteria. _Apply_ can then be used to apply any message - command to all of the selected/tagged messages. Further, the _Zoom_ - command allows you to toggle the "Folder Index" view between just - those Selected and all messages in the folder. - This feature also enables the _^X_ subcommand in the "Folder Index" - _WhereIs_ command which causes all messages matching the _WhereIs_ - argument to become selected. - You may also use aggregate operations in the address book screens - where you are operating on address book entries instead of on - messages. - _enable-alternate-editor-cmd_ - If this feature is set (the default), and the editor variable is not - set, entering the _^__ (Control-underscore) key while composing a - message will prompt you for the name of the editor you would like to - use. - If the environment variable $EDITOR is set, this value will be - offered as a default. If the _editor_ variable is set, the _^__ key - will activate the specified editor without prompting, in which case - it is not necessary to set the _enable-alternate-editor-cmd_ feature. - This feature is not available in _PC-Alpine_. - This feature is displayed as "Enable Alternate Editor Command". - _enable-alternate-editor-implicitly_ - If this feature and the editor variable are both set, _Alpine_ will - automatically activate the specified editor when the cursor is moved - from the header of the message being composed into the message text. - For replies, the alternate editor will be activated immediately. If - this feature is set but the _editor_ variable is not set, then - _Alpine_ will automatically ask for the name of an alternate editor - when the cursor is moved out of the headers, or if a reply is being - done. This feature is not available in _PC-Alpine_. - _enable-arrow-navigation_ - This feature controls the behavior of the left and right arrow keys. - If set, the left and right arrow keys will operate like the usual - navigation keys _<_ and _>_. This feature is set by default. - If you set this feature, and do not like the changed behavior of the - up/down arrow keys when navigating through the FOLDER LIST screen -- - _first_ from column to column, if more than one folder is displayed - per row, and _then_ from row to row -- you may either also wish to - set the feature enable-arrow-navigation-relaxed, - single-column-folder-list, or use the ^P/^N (instead of up/down - arrow) keys to move up/down the list of folders in each column. - _enable-arrow-navigation-relaxed_ - This feature controls the behavior of the left and right arrow keys - in the FOLDER LIST screen when the enable-arrow-navigation feature is - set. This feature is set by default. - When this feature is set, the left and right arrow keys in the FOLDER - LIST screen move the highlight bar to the left or right, and the up - and down arrows move it up or down. - When the "Enable-Arrow-Navigation" feature is set and this feature is - not set; the left and right arrow keys in the Folder List screen - strictly track the commands bound to the '<' and '>' keys, and the up - and down arrow keys move the highlight bar to the previous and next - folder or directory name. - _enable-background-sending_ - If set, this feature enables a subcommand in the composer's _Send?_ - confirmation prompt. The subcommand allows you to tell _Alpine_ to - handle the actual posting in the background. While this feature - usually allows posting to appear to happen very fast, it has no - affect on the actual delivery time it takes a message to arrive at - its destination. - This feature isn't supported on all systems. All DOS and Windows, as - well as several Unix ports, do not recognize this feature. It is not - possible to use background sending if the feature - send-without-confirm is set. - Error handling is significantly different when this feature is - enabled. Any message posting failure results in the message being - appended to your _Interrupted_ mail folder. When you type the - _Compose_ command, _Alpine_ will notice this folder and offer to - extract any messages contained. Upon continuing a failed message, - _Alpine_ will display the nature of the failure in the status message - line. - Under extreme conditions, it is possible for message data to get - lost. Do not enable this feature if you typically run close to any - sort of disk-space limits or quotas. - _enable-bounce-cmd_ - Setting this feature enables the _B Bounce_ command, which will - prompt for an address and _remail_ the message to the new recipient. - This command is used to re-direct messages that you have received in - error, or need to be redirected for some other reason (e.g. list - moderation). The final recipient will see a header indicating that - you have Resent the msg, but the message's From: header will show the - original author of the message, and replies to it will go back to - that author, and not to you. - This feature is displayed as "Enable Bounce Command". - _enable-cruise-mode_ - This feature affects _Alpine_'s behavior when you hit the "Space Bar" - at the end of a displayed message. Typically, _Alpine_ complains that - the end of the text has already been reached. Setting this feature - causes such keystrokes to be interpreted as if the _Tab_ key had been - hit, thus taking you to the next _interesting_ message, or scanning - ahead to the next incoming folder with _interesting_ messages. - _enable-cruise-mode-delete_ - This feature modifies the behavior of _Alpine_'s _enable-cruise-mode_ - feature. Setting this feature causes _Alpine_ to implicitly delete - read messages when it moves on to display the next _interesting_ - message. - NOTE: Beware when enabling this feature _and_ the - expunge-without-confirm feature. - This feature is displayed as "Enable Cruise Mode With Deleting". - _enable-delivery-status-notification_ - If set, this feature enables a subcommand in the composer's "Send?" - confirmation prompt. The subcommand allows you to tell _Alpine_ to - request the type of Delivery Status Notification (DSN) which you - would like. Most users will be happy with the default, and need not - enable this feature. See the online help for more details. - It is not possible to use delivery status notifications if the - feature send-without-confirm is set. - Note that this is not a method to request _READ_ receipts, which - tells the sender when the receiver has read the message. In this case - we're talking about notification of delivery to the mailbox, not - notification that the message has been seen. - _enable-dot-files_ - If set, files beginning with dot (".") will be visible in the file - browser. For example, you'll be able to select them when using the - browser to add an attachment to a message. - _enable-dot-folders_ - If set, folders beginning with dot (".") may be added and viewed. - This feature is displayed as "Enable Hidden Folders". - _enable-exit-via-lessthan-command_ - If set, then on screens where there is an _Exit_ command but no _<_ - command, the _<_ key will perform the same function as the _Exit_ - command. This feature is set by default. - _enable-fast-recent-test_ - This feature controls the behavior of the TAB key when traversing - folders in the optional Incoming-Folders collection or in optional - News-Collections. - When the TAB (NextNew) key is pressed, the default behavior is to - explicitly examine the status of the folder for the number of recent - messages (messages delivered since the last time it was viewed). - Depending on the size and number of messages in the folder, this test - can be time consuming. - Enabling this feature will cause _Alpine_ to only test for the - existence of any recent messages rather than to obtain the count. - This is much faster in many cases. The downside is that you're not - given the number of recent messages when prompted to view the next - folder. If the feature Tab-Uses-Unseen-For-Next-Folder is turned on, - then the present feature will have no effect. - _enable-flag-cmd_ - Setting this feature enables the _* Flag_ command, which allows you - to manipulate the status flags associated with a message. By default, - _Flag_ will set the _Important_ flag, which results in an asterisk - being displayed in column one of the "Folder Index" for such - messages. - This feature is displayed as "Enable Flag Command". - _enable-flag-screen-implicitly_ - This feature modifies the behavior of the _* Flag_ command (provided - it too is enabled). By default, when the _* Flag_ command is - selected, _Alpine_ offers a prompt to set one of several flags and - also offers the option of entering the detailed flag manipulation - screen via the _^T_ key. Enabling this feature causes _Alpine_ to - immediately enter the detailed flag screen rather than first offer - the simple prompt. The Enable-Flag-Screen-Keyword-Shortcut option - offers a slightly different way of setting keywords. - _enable-flag-screen-keyword-shortcut_ - This feature modifies the behavior of the Flag command and the Select - command. By default, when the "* Flag" command is selected, _Alpine_ - offers a prompt to set one of several flags and also offers the - option of entering the detailed flag manipulation screen via the "^T" - key. If you have keywords defined, then enabling this feature adds a - shortcut way to set or unset keywords. You use "*" followed by the - first letter of a keyword (or the nickname of a keyword if you've - given it a nickname) and that will set the keyword. - An example is easier to understand than the explanation. The flag - command can always be used to set the system flags. For example, to - set the Answered flag you would type - - * A - Now suppose you have defined a keyword "Work" using the Keywords - option in the Config screen. By default, to set a keyword like "Work" - you would usually have to go to the Flag Details screen using the "^T - To Flag Details" command. Instead, if you have enabled this feature, - you may type - - * W - to set the Work flag, or - - * ! W - to unset it. Just like for the other flag setting commands, the case - of the letter does not matter, so "w" or "W" both set the "Work" - keyword. - Notice that you can only use this trick for one keyword that begins - with "W". If you happen to have a "Work" keyword and another keyword - that is "WIFI" the "* W" command will set the first one in your list - of keywords. Also, there are five letters which are reserved for - system flags and the NOT command. If you type "* A" it will always - set the Answered flag, not your "Aardvark" keyword. In order to set - the "Aardvark" keyword you'll still have to use the Flag Details - screen. - Because enabling the Enable-Flag-Screen-Implicitly option causes - _Alpine_ to skip directly to the Flag Details screen when the Flag - command is used, setting it will cause this feature to have no effect - at all. - Similarly, when Selecting by Keyword, setting this option will allow - you to use Keyword initials instead of full keywords. - _enable-full-header-cmd_ - This feature enables the _H Full Headers_ command which toggles - between the display of all headers in the message and the normal - edited view of headers. The _Full Header_ command also controls which - headers are included for _Export_, _Pipe_, _Print_, _Forward_, and - _Reply_ functions. (For _Reply_, the _Full Header_ mode will respect - the _include-headers-in-reply_ feature setting.) - If Full Header mode is turned on and you Forward a message, you will - be asked if you'd like to forward the message as an attachment, as - opposed to including the text of the message in the body of your new - message. - If you have also turned on the "Quote Suppression" option then the - Full Headers command actually rotates through three states instead of - just two. The first is the normal view with long quotes suppressed. - The second is the normal view but with the long quotes included. The - last enables the display of all headers in the message. When using - Export, Pipe, Print, Forward, or Reply the quotes are never - suppressed, so the first two states are identical. - Normally, the Header Mode will reset to the default behavior when - moving to a new message. The mode can be made to persist from message - to message by setting the feature Quell-Full-Header-Auto-Reset. - This feature is displayed as "Enable Full Header Command". - _enable-full-header-and-text_ - This feature affects how the _H Full Headers_ command displays - message text. If set, the raw message text will be displayed. This - especially affects MIME formatted email, where the entire MIME format - will be displayed. This feature similarly affects how messages are - included for the _Export_, _Pipe_, _Print_, _Forward_, and _Reply_ - functions. - _enable-goto-in-file-browser_ - Setting this causes _Alpine_ to offer the _G Goto_ command in the - file browser. The Goto command allows you to explicitly type in the - desired directory. That is the default. - _enable-incoming-folders_ - If set, this feature defines a pseudo-folder collection called - _INCOMING MESSAGE FOLDERS_. Initially, the only folder included in - this collection will be your _INBOX_, which will no longer show up in - your default saved-message folder collection. - This feature is displayed as "Enable Incoming Folders Collection". - _enable-incoming-folders-checking_ - This feature is only operational if you have enabled the optional - incoming-folders If you do have Incoming Message Folders and you also - set this feature, then the number of Unseen messages in each folder - will be displayed in the FOLDER LIST screen for the Incoming Message - Folders. The number of Unseen messages in a folder will be displayed - in parentheses to the right of the name of each folder. If there are - no Unseen messages in a folder then only the name is displayed, not a - set of parentheses with zero inside them. A redraw command, Ctrl-L, - can be used in the FOLDER LIST screen for the Incoming Message - Folders to cause an immediate update. - If a check for Unseen messages fails for a particular folder then - Alpine will no longer attempt to check that folder for the duration - of the session and this will be indicated by a question mark inside - the parentheses. - The features incoming-checking-includes-total, - incoming-checking-uses-recent, incoming-check-list, - incoming-check-interval, incoming-check-interval-secondary, and - incoming-check-timeout all affect how this feature behaves. - _Disable-Index-Locale-Dates_ - This feature affects the display of dates in the MESSAGE INDEX. - Normally an attempt is made to localize the dates used in the MESSAGE - INDEX display to your locale. This is controlled with the LC_TIME - locale setting on a UNIX system. On Windows the Regional Options - control panel may be used to set the date format. At the programming - level, _Alpine_ is using the strftime routine to print the parts of a - date. - If this feature is set, dates are displayed in English and with the - conventions of the United States. - _enable-jump-shortcut_ - When this feature is set you may enter a number (followed by RETURN) - and jump to that message number, when in the MESSAGE INDEX or MESSAGE - TEXT screens. In other words, it obviates the need for typing the _J_ - for the _Jump_ command. - _enable-lame-list-mode_ - This feature modifies the method _Alpine_ uses to ask your IMAP - server for folder names to display in the the FOLDER LIST screen. It - is intended to compensate for a small set of IMAP servers that are - programmed to ignore a part of the request, and thus respond to - _Alpine_'s query with nonsensical results. - If you find that _Alpine_ is erroneously displaying blank folder - lists, try enabling this feature. - NOTE: Enabling this feature has consequences for the Goto and Save - commands. Many servers allow access to folders outside the area - reserved for your personal folders via some reserved character, - typically '#' (sharp), '~' (tilde) or '/' (slash). This mechanism - allows, at the Goto and Save prompts, quick access to folders outside - your personal folder collection without requiring a specific - collection definition. This behavior will generally not be available - when this feature is enabled. - This feature is displayed as "Compensate for Deficient IMAP servers". - _enable-mail-check-cue_ - If set, this will cause an asterisk to appear in the upper left-hand - corner of the screen whenever _Alpine_ checks for new mail, and two - asterisks whenever _Alpine_ saves (checkpoints) the state of the - current mailbox to disk. - _enable-mailcap-param-substitution_ - If set, this will allow mailcap named parameter substitution to occur - in mailcap entries. By default, this is turned off to prevent - security problems which may occur with some incorrect mailcap - configurations. For more information, RFC1524 and look for "named - parameters" in the text of the RFC. - This feature is displayed as "Enable Mailcap Parameter Substitution". - _enable-mouse-in-xterm_ - This feature controls whether or not an X terminal mouse can be used - with _Alpine_. If set, and the $DISPLAY variable indicates that an X - terminal is being used, the left mouse button on the mouse can be - used to select text or commands. Clicking on a command at the bottom - of the screen will behave as if you had typed that command. Clicking - on an index line will move the current message highlight to that - line. Double-clicking on an index line will view the message. - Double-clicking on a link will view the link. - This type of mouse support will also work in some terminal emulators - which are not actually X terminals, but which have extra code to - support the xterm style mouse. For those emulators you not only need - to turn this feature on but you also have to set the $DISPLAY - environment variable even though it isn't needed for your terminal. - That will cause _Alpine_ to think that it is an xterm and to properly - interpret the escape sequences sent by the mouse. - Note: if this feature is set, the behavior of X terminal - cut-and-paste is also modified. It is sometimes possible to hold the - shift key down while clicking left or middle mouse buttons for the - normal xterm cut/paste operations. There is also an _Alpine_ command - to toggle this mode on or off. The command is Ctrl-\ - (Control-backslash). - _enable-msg-view-addresses_ - This feature modifies the behavior of _Alpine_'s "Message Text" - screen. Setting this feature causes _Alpine_ to select possible email - addresses from the displayed text and display them in boldface for - selection. - The first available email address is displayed in inverse. This is - the "selected" address. Pressing _RETURN_ will cause _Alpine_ to - enter the message composition screen with the To field filled in with - the selected address. - Use the up and down arrow keys to change which of the addresses - displayed in boldface is the current selection. - This feature is displayed as "Enable Message View Address Links". - _enable-msg-view-attachments_ - This feature modifies the behavior of _Alpine_'s "Message Text" - screen. Setting this feature causes _Alpine_ to present attachments - in boldface. The first available attachment is displayed in inverse. - This is the "selected" attachment. Pressing _RETURN_ will cause - _Alpine_ to display the selected attachment. Use the up and down arrow - keys to change which of the attachments displayed in boldface is the - current selection. - Speaking of arrow keys, the Up and Down Arrows will select the next - and previous attachments if one is available on the screen for - selection. Otherwise, they will simply adjust the viewed text one - line up or down. - Similarly, when selectable items are present in a message, the Ctrl-F - key can be used to select the next item in the message independent of - which portion of the viewed message is currently displayed. The - Ctrl-B key can be used to select the previous item in the same way. - This feature is displayed as "Enable Message View Attachment Links". - _enable-msg-view-forced-arrows_ - This feature modifies Up and Down arrow key behavior in _Alpine_'s - "Message Text" screen when selectable Attachments, URL's, or - web-hostnames are presented. _Alpine_'s usual behavior is to move to - the next or previous selectable item if currently displayed or simply - to adjust the screen view by one line if the next selectable line is - off the screen. - Setting this feature causes the Up and Down arrow keys to behave as - if no selectable items were present in the message. - Note, the _Ctrl-F_ (next selectable item) and _Ctrl-B_ (previous - selectable item) functionality is unchanged. - This feature is displayed as "Enable Message View Forced Arrows". - _enable-msg-view-urls_ - This feature modifies the behavior of _Alpine_'s "Message Text" - screen. When this feature is set (the default) _Alpine_ will select - possible URLs from the displayed text and display them in boldface - for selection. - The first available URL is displayed in inverse. This is the - "selected" URL. Pressing _RETURN_ will cause _Alpine_ to display the - selected URL via either built-in means as with mailto:, imap:, news:, - and nntp:, or via an external application as defined by the - url-viewers variable. - Use the up and down arrow keys to change which of the URLs displayed - in boldface is the current selection. - This feature is displayed as "Enable Message View URL Links". - _enable-msg-view-web-hostnames_ - This feature modifies the behavior of _Alpine_'s "Message Text" - screen. When this feature is set (the default) _Alpine_ will select - possible web hostnames from the displayed text and display them in - boldface for selection. - The first available hostname is displayed in inverse. This is the - "selected" hostname. Pressing _RETURN_ will cause _Alpine_ to display - the selected hostname via an external application as defined by the - url-viewers variable. - Use the up and down arrow keys to change which of the hostnames - displayed in boldface is the current selection. - This feature is displayed as "Enable Message View Web Hostname - Links". - _enable-multiple-newsrcs_ - This feature makes it so _Alpine_ can use multiple newsrcs based on - the news server being connected to, which allows for separate lists - of subscribed-to newsgroups. When this feature is not set, there is - only one list of newsgroups. - Under this feature, the name of a newsrc is based on the news server. - For example, if your newsrc-path is set to ".newsrc", and the news - server you are connecting to is news.example.com, then the newsrc to - be used is .newsrc-news.example.com. Setting this feature for the - first time will allow for the option of using your old newsrc the - next time you read news. - If this feature is set, then the feature - Mult-Newsrc-Hostnames-As-Typed also may affect the name of the newsrc - file that is used. - _enable-newmail-in-xterm-icon_ - This feature controls whether or not _Alpine_ will attempt to - announce new mail arrival when it is running in an X terminal window - and that window is iconified. If set, and the $DISPLAY variable - indicates that an X terminal is being used, _Alpine_ will send - appropriate escape sequences to the X terminal to modify the label on - _Alpine_'s icon to indicate that new mail has arrived. _Alpine_ will - also modify the _Alpine_ window's title to indicate new mail. See - also Enable-Newmail-Short-Text-in-Icon. - _enable-newmail-short-text-in-icon_ - This feature controls the text to be displayed in an icon in the - event of a new message arrival. Normally, the message will be the one - that is displayed on the screen. This feature shortens the message to - a count of the number of new messages in brackets. This may be more - useful for those who use the window's title bar in the task bar as a - new mail indicator. This feature is only useful if the - Enable-Newmail-in-Xterm-Icon is also set. Like the - Enable-Newmail-in-Xterm-Icon feature, this feature is only relevant - when run in an xterm environment. - _enable-partial-match-lists_ - This feature affects the subcommands available when _Sav_ing or - Opening a new folder. If set, the subcommand _^X ListMatches_ will be - available. This command allows you to type in a substring of the - folder you are looking for and when you type _^X_ it will display all - folders which contain that substring in their names. This feature is - set by default. - _enable-print-via-y-command_ - By default, _Alpine_'s print command is available by pressing the _%_ - key. In older versions of _Pine_, the print command was accessed by - pressing the _Y_ key. - Enabling this feature will cause _Alpine_ to recognize both the old - command, _Y_, and the new _%_ method for invoking printing. Note, key - menu labels are not changed as a result of enabling this feature. - _enable-reply-indent-string-editing_ - This feature affects the Reply command's "Include original message in - Reply?" prompt. When enabled, it causes the "Edit Indent String" - sub-command to appear which allows you to edit the string _Alpine_ - would otherwise use to denote included text from the message being - replied to. - Thus, you can change _Alpine_'s default message quote character - (usually an angle bracket) on a per message basis. So you could - change your quoted message to look, for example, like this: -On Tues, 26 Jan 1999, John Q. Smith wrote: - -John: I just wanted to say hello and to congratulate you -John: on a job well done! - The configuration option "reply-indent-string" may be used to change - what appears as the default string to be edited. - NOTE: Edited reply-indent-strings only apply to the message currently - being replied to. - _enable-rules-under-take_ - Normally, the Take command takes addresses from a message and helps - you put them into your Address Book. If you use Rules for - Indexcolors, Roles, Filtering, or Scoring; you may find it useful to - be able to Take information from a message's headers and put it into - a new Rule. When this feature is set, you will be given an extra - prompt which gives you the choice to Take into the Address Book or - Take into a rule. - This feature is displayed as "Enable Take Rules". - _enable-search-and-replace_ - If set _Alpine_'s composer offers the _R Replace_ command option - inside the _W WhereIs_ command. - _enable-sigdashes_ - If set and a _signature-file_ exists, the line consisting of the - three characters "-- " (dash dash space) is included before the - signature. This only happens if the signature doesn't already contain - such a line. - In addition, when you Reply or Followup to a message containing one - of these special lines and choose to include its text, _Alpine_ will - observe the convention of not including text beyond the special line - in your reply. - _enable-suspend_ - Setting this feature will allow you to type _^Z_ and temporarily - suspend _Alpine_. Not available on _PC-Alpine_. - _enable-tab-completion_ - This feature enables the _TAB_ key when at a prompt for a filename. - In this case, _TAB_ will cause the partial name already entered to be - automatically completed, provided the partial name is unambiguous. - This feature is set by default. - Similarly, this feature also enables TAB completion of address book - nicknames when at a prompt for a nickname, or when typing in an - address field in the composer. - _enable-take-export_ - Normally, the Take command takes addresses from a message and helps - you put them into your Address Book. When this feature is set, you - will be given an extra prompt which gives you the choice to Take - addresses into a file instead of your Address Book. Only the - user@domain_name part of the address is put in the file. - _enable-tray-icon_ - _PC-Alpine_ only. This option restores a behavior of previous - versions of PC-Alpine. These versions, when started, installed a - PC-Alpine icon in the notification tray of Window's Taskbar. The - primary use of this icon was to indicate new mail arrival by turning - red (while the Taskbar icon remained green). Additionally, the icon - now changes to yellow to signify that a mail folder has been closed - unexpectedly. - Rather than add another icon to the Taskbar, this version of - PC-Alpine will color its Taskbar entry's icon red (as well as the - icon in the Window Title). This feature is only provided for - backwards compatibility. - _enable-unix-pipe-cmd_ - This feature enables the _| Pipe_ command that sends the current - message to the specified Unix command for external processing. - This feature is displayed as "Enable Unix Pipe Command". - _enable-verbose-smtp-posting_ - This feature controls an aspect of _Alpine_'s message sending. When - enabled, _Alpine_ will send a VERB (i.e., VERBose) command early in - the posting process intended to cause the server SMTP to provide a - more detailed account of the transaction. This feature is typically - only useful to system administrators and other support personel as an - aid in troublshooting problems. Note, this feature relies on a - specific capability of the system's mail transport agent or - configured smtp-server. - _expanded-view-of-addressbooks_ - If multiple address books (either personal or global) are defined, - and you wish to have them all expanded implicitly upon entering the - ADDRESS BOOK screen, then set this feature. This feature will have no - effect unless the feature combined-addrbook-display is also set. - _expanded-view-of-distribution-lists_ - If this feature is set, then distribution lists in the address book - screen will always be expanded automatically. - _expanded-view-of-folders_ - If multiple folder collections are defined, and you wish to have them - all expanded implicitly upon entering the FOLDER LIST screen, then - set this feature. This feature will have no effect unless the feature - combined-folder-display is also set. - _expose-hidden-config_ - The purpose of this feature is to allow you to change configuration - features and variables which are normally hidden. This is - particularly useful if you are using a remote configuration file, - where it is difficult to edit the file manually, but it may also be - used on a local pinerc configuration file. - If set, most configuration variables and features which are normally - hidden from view will show up in the Setup/Configuration screen. They - will be at the bottom of the configuration screen. You can find them - by searching for the word "hidden". - Note that this is an advanced feature which should be used with care. - The reason that this part of the configuration is normally hidden is - because there is a significant potential for causing problems if you - change these variables. If something breaks after a change try - changing it back to see if that is what is causing the problem. There - are also some variables which are normally hidden because they are - manipulated through _Alpine_ in other ways. For example, the - "address-book" variable is normally set using the Setup/AddressBooks - screen, so there is little reason to edit it directly. The - "incoming-folders" variable is normally changed by using the Add, - Delete, and Rename commands in the FOLDER LIST screen, and the - "last-time-prune-questioned" variable is normally used internally by - _Alpine_ and not set directly by the user. - _expunge-only-manually_ - Normally, when you close a folder which contains deleted messages you - are asked if you want to expunge those messages from the folder - permanently. If this feature is set, you won't be asked and the - deleted messages will remain in the folder. If you choose to set this - feature you will have to expunge the messages manually using the - eXpunge command, which you can use while in the MESSAGE INDEX screen. - If you do not expunge deleted messages the size of your folder will - continue to increase until you are out of disk space. - _expunge-without-confirm_ - If set, you will not be prompted to confirm your intent before the - expunge takes place. Actually, you will still be prompted for - confirmation if the folder is not the _INBOX_ folder or another - folder in the Incoming Folders collection. See the - _expunge-without-confirm-everywhere_ feature which follows. - This feature is displayed as "Expunge Without Confirming". - _expunge-without-confirm-everywhere_ - The regular _expunge-without-confirm_ feature actually only works for - the _INBOX_ folder and for other folders in the "Incoming Folders" - collection. If this feature is set then you also won't be prompted to - confirm expunges for all other folders. - This feature is displayed as "Expunge Without Confirming Everywhere". - _fcc-on-bounce_ - If set, normal Fcc (File Carbon Copy) processing will be done for - bounced messages, just as if you had composed a message to the - address you are bouncing to. If not set, no Fcc of the message will - be saved. - This feature is displayed as "Include Fcc When Bouncing Messages". - _fcc-only-without-confirm_ - This features controls an aspect of _Alpine_'s composer. The only - time this feature will be used is if you attempt to send mail which - has no recipients but does have an Fcc. Normally, _Alpine_ will ask - if you really mean to copy the message only to the Fcc. That is, it - asks if you really meant to have no recipients. If this feature is - set, you will _not_ be prompted to confirm your intent to make only a - copy of a message with no recipients. - This feature is closely related to - warn-if-blank-to-and-cc-and-newsgroups. The difference between this - feature and that feature is that this feature considers a Bcc to be a - recipient while that feature will ask for confirmation even if there - is a Bcc when there is no To, Cc, or Newsgroup. The default values - also differ. This feature defaults to asking the question and you - have to turn it off. The warn-if-blank-to-and-cc-and-newsgroups - feature defaults to not asking unless you turn it on. - This feature is displayed as "Send to Fcc Only Without Confirming". - _fcc-without-attachments_ - This features controls the way FCC's (File Carbon Copies) are made of - the messages you send. - Normally, _Alpine_ saves an exact copy of your message as it was - sent. When this feature is enabled, the "body" of the message you - send (the text you type in the composer) is preserved in the copy as - before, however all attachments are replaced with text explaining - what had been sent rather than the attachments themselves. - This feature also affects _Alpine_'s "Send ?" confirmation prompt in - that a new "^F Fcc Attchmnts" option becomes available which allows - you to interactively set whether or not attachments are saved to the - Fcc'd copy. - This feature is displayed as "Fcc Does Not Include Attachments". - _force-arrow-cursor_ - This feature affects _Alpine_'s MESSAGE INDEX display routine. If - set, the normal inverse-video cursor will be replaced by a simple - "arrow" cursor, which normally occupies the second column of the - index display. - This is the same index cursor you get if you turn on - Assume-Slow-Link, but the index line coloring will still be present - if this feature is turned on and Assume-Slow-Link is off. - An alternative version of the Arrow cursor is available by including - the ARROW token in the Index-Format option. - It ought to be the case that this feature also affects the ATTACHMENT - INDEX, but that is not implemented. - _hide-nntp-path_ - Normally the Path header that _Alpine_ generates when posting to a - newsgroup contains the name of the computer from which the message is - being sent and the user name. Some believe that this information is - used by spammers. If this feature is set, that information will be - replaced with the text - - not-for-mail - instead. - It should be noted that many servers being connected to will still - reveal the information that this feature attempts to protect. - _include-attachments-in-reply_ - If set, any MIME attachments that were part of the original message - will automatically be included in a _Reply_. - _include-header-in-reply_ - If set, and a message being replied to is included in the _Reply_, - then headers from that message will also be part of the reply. - _include-text-in-reply_ - Normally, _Alpine_ will ask whether you wish to include the original - message in your _Reply_. If this feature is set and the feature - enable-reply-indent-string-editing is _not_ set, then the original - message will be included in the reply automatically, without - prompting. - _incoming-checking-includes-total_ - This option has no effect unless the feature - enable-incoming-folders-checking is set, which in turn has no effect - unless incoming-folders is set. - When incoming folder checking is turned on the default is to display - the number of unseen messages in each folder. More precisely, it is - the number of undeleted unseen messages. Using this option you may - also display the total number of messages in each folder. Instead of - a single number representing the number of unseen messages you will - get two numbers separated by a slash character. The first is the - number of unseen messages and the second is the total number of - messages. - You may also use the recent message count instead of the unseen - message count by turning on the feature - incoming-checking-uses-recent. - _incoming-checking-uses-recent_ - This option has no effect unless the feature - enable-incoming-folders-checking is set, which in turn has no effect - unless incoming-folders is set. - When incoming folder checking is turned on the default is to display - the number of unseen messages in each folder. More precisely, it is - the number of undeleted unseen messages. Using this option you may - display the number of recent messages instead of the number of unseen - messages. A message is only counted as recent if this is the first - session to see it, so the recent count might be less than the unseen - count. The difference between the two would be accounted for by the - unseen messages in the folder which were there previously but have - not been looked at yet. - If you simultaneously run more than one email client at a time (for - example, you run more than one _Alpine_ in parallel) then turning - this feature on can cause some confusion. The confusion stems from - the fact that each message is only considered to be recent in one - session. That means that the counts of new messages may be different - in the two _Alpine_s running side by side, because each incoming - message will only be counted as recent in one of the two sessions. - You may also display the total number of messages in each folder by - using the incoming-checking-includes-total option. - _ldap-result-to-addrbook-add_ - This is only available if _Alpine_ was linked with an LDAP library - when it was compiled. If both the per-directory-server option - use-implicitly-from-composer and this feature are set, then when an - implicit directory lookup is done from the composer you will - automatically be prompted to add the result of the directory lookup - to your address book. - This feature is displayed as "LDAP Result to Addressbook Add". - _maildrops-preserve-state_ - This feature affects the way Mail Drops work. Normally, when mail is - moved from a Mail Drop folder to a destination folder, the state - changes that have taken place since the mail was originally delivered - are lost. Any Seen/New, Answered, Important/Flagged state that has - changed will be ignored. All of the mail will be considered unSeen, - unAnswered, and unImportant after it is moved. - If this feature is set, then the state changes will not be lost. - In any case, messages which are already marked Deleted when the mail - is to be copied from the Mail Drop will be ignored. - _mark-fcc-seen_ - This features controls the way FCCs (File Carbon Copies) are made of - the messages you send. Normally, when _Alpine_ saves a copy of a - message you sent as an Fcc, that copy will be marked as Unseen. When - you look at the folder it was saved in the message will appear to be - a New message until you read it. When this feature is enabled, the - message will be marked as having been Seen. - _mark-for-cc_ - This feature affects _Alpine_'s MESSAGE INDEX display. By default, a - '+' is displayed in the first column if the message is addressed - directly to you. When this feature is set and the message is not - addressed to you, then a '-' character is displayed if the message is - instead Cc'd directly to you. - _mult-newsrc-hostnames-as-typed_ - This feature will be of little use to most users. It has no effect - unless the feature Enable-Multiple-Newsrcs is set. When the - Enable-Multiple-Newsrcs feature is set then the setting of this - feature may have an effect on the names of the newsrc files used. - Normally, the name of the news server will be canonicalized before it - is used in the newsrc file name. For example, if you type the news - server name - - servername - it is likely that the canonical name will be something like - - servername.example.com - Or it may be the case that - - servername.example.com - is really an alias (a DNS CNAME) for - - othername.example.com - If this feature is not set, then the canonicalized names will be - used. If this feature is set, then the name you typed in (or put in - your configuration) will be used. - This feature is displayed as "Multiple Newsrc Hostnames as Typed". - _news-approximates-new-status_ - This feature causes certain messages to be marked as _New_ in the - MESSAGE INDEX of newsgroups. This feature is set by default. - When opening a newsgroup, _Alpine_ will consult your _newsrc_ file - and determine the last message you have previously disposed of via - the _D_ key. If this feature is set, any subsequent messages will be - shown in the Index with an _N_, and the first of these messages will - be highlighted. Although this is only an approximation of true _New_ - or _Unseen_ status, it provides a useful cue to distinguish - more-or-less recent messages from those you have seen previously, but - are not yet ready to mark deleted. - Background: your _newsrc_ file (used to store message status - information for newsgroups) is only capable of storing a single flag, - and _Alpine_ uses this to record whether or not you are "done with" a - message, as indicated by marking the message as _Deleted_. - Unfortunately, this means that _Alpine_ has no way to record exactly - which messages you have previously seen, so it normally does not show - the _N_ status flag for any messages in a newsgroup. This feature - enables a starting _approximation_ of seen/unseen status that may be - useful. - _news-deletes-across-groups_ - This feature controls what _Alpine_ does when you delete a message in - a newsgroup that appears in more than one newsgroup. Such a message - is sometimes termed a "crossposting" in that it was posted across - several newsgroups. - _Alpine_'s default behavior when you delete such a message is to - remove only the copy in the current newsgroup from view when you use - the "Exclude" command or the next time you visit the newsgroup. - Enabling this feature causes _Alpine_ to remove every occurrence of - the message from all newsgroups it appears in and to which you are - subscribed. - NOTE: As currently implemented, enabling this feature may increase - the time it takes the Expunge command and newsgroup closing to - complete. - _news-offers-catchup-on-close_ - This feature controls what _Alpine_ does as it closes a newsgroup. - When set, _Alpine_ will offer to delete all messages from the - newsgroup as you are quitting _Alpine_ or opening a new folder. - This feature is useful if you typically read all the interesting - messages in a newsgroup each time you open it. This feature saves you - from having to delete each message in a newsgroup as you read it or - from selecting all the messages and doing an aggregate delete before - you move on to the next folder or newsgroup. - _news-post-without-validation_ - This feature controls whether the NNTP server is queried as - newsgroups are entered for posting. Validation over slow links (e.g. - dialup using SLIP or PPP) can cause delays. Set this feature to - eliminate such delays. - _news-read-in-newsrc-order_ - This feature controls the order that newsgroups will be presented. If - set, they will be presented in the same order as they occur in your - _newsrc_ file. If not set, the newsgroups will be presented in - alphabetical order. - _next-thread-without-confirm_ - This feature controls an aspect of _Alpine_'s Next and Prev commands - in the case where you are using one of the "separate-index-screen" - styles for the configuration option threading-index-style and - currently have the folder sorted by a Threaded or OrderedSubject - sort. When you are Viewing a particular thread you have a MESSAGE - INDEX of only the messages in that thread. If you press the Next - command with the last message in the thread highlighted you will - normally be asked if you want to "View next thread?", assuming there - is a next thread to view. If this feature is set it will be assumed - that you always want to view the next thread and you won't be asked - to confirm that. Similarly, if the first message of the thread is - highlighted and you press the Prev command, this feature will prevent - the question "View previous thread". - This feature only has an effect in the MESSAGE INDEX screen. If you - then view a particular message from that screen and press the Next - command, you will be sent to the next thread without being asked, - independent of the setting of this feature. - The feature auto-open-next-unread, also has some similar effects. - This feature is displayed as "Read Next Thread Without Confirming". - _offer-expunge-of-inbox_ - The INBOX is normally treated differently from regular folders in - several ways. One of the differences is that the normal "close" - sequence of events is deferred until _Alpine_ is exited, instead of - happening when you leave the INBOX to view another folder. The - "close" sequence normally includes the Expunging of deleted messages - (either automatically or after a prompt, controlled by the features - Expunge-Without-Confirm, Expunge-Without-Confirm-Everywhere, and - Expunge-Only-Manually), and the handling of the Read-Message-Folder. - If this feature is set the "close" sequence handling will take place - every time you leave the INBOX. The INBOX will still be kept open, - but the offer to Expunge and the archiving to the Read-Message-Folder - will take place each time you leave the INBOX instead of only once at - the end of the session. - _offer-expunge-of-stayopen-folders_ - This feature is related to the option Stay-Open-Folders. Stay Open - folders are treated differently from regular folders in several ways. - One of the differences is that the normal "close" sequence of events - is deferred until _Alpine_ is exited, instead of happening when you - leave the folder to view another folder. The "close" sequence - normally includes the Expunging of deleted messages (either - automatically or after a prompt, controlled by the features - Expunge-Without-Confirm, Expunge-Without-Confirm-Everywhere, and - Expunge-Only-Manually), and the handling of Incoming-Archive-Folders. - If this feature is set the "close" sequence handling will take place - when you leave the Stay Open folder. The folder will still be kept - open, but the offer to Expunge and the archiving will take place each - time you leave the folder instead of only once at the end of the - session. This feature does not affect the INBOX, which will still - only be processed when you exit _Alpine_. - _pass-c1-control-characters-as-is_ - It is probably not useful to set this option. This is a legacy option - left behind "just in case". Multi-byte characters which have an octet - which has the same value as a control character are permitted through - whether or not this option is turned on. - If the feature pass-control-characters-as-is is set, then this - feature has no effect. However, if you wish to filter out regular - control characters but pass the so-called C1 control characters (0x80 - <= char < 0xA0) through unchanged, then you may leave - pass-control-characters-as-is unset and set this feature. - _pass-control-characters-as-is_ - It is probably not useful to set this option. This is a legacy option - left behind "just in case". Multi-byte characters which have an octet - which has the same value as a control character are permitted through - whether or not this option is turned on. - If set, all characters in a message will be sent to the screen. - Normally, control characters are automatically suppressed in order to - avoid inadvertently changing terminal setup parameters. Control - characters are usually displayed as two character sequences like - - ^C - for Control-C, - - ^[ - for ESCAPE, - - ^? - for DELETE, and - - ~E - for the character with value 133 (0x85). (The DEL character is - displayed as ^?, regular control characters are displayed as the - character ^ followed by the character obtained by adding the five - low-order bits of the character to 0x40, and the C1 control - characters 0x80 - 0x9F are displayed as the character ~ followed by - the character obtained by adding the five low-order bits of the - character to 0x40.) Sometimes, in cases where changing a single - control character into a two-character sequence would confuse - _Alpine_'s display routines, a question mark is substituted for the - control character. - If you wish to filter out regular control characters but pass the - so-called C1 control characters (0x80 <= char < 0xA0) through - unchanged, then you may leave this feature unset and set the feature - pass-c1-control-characters-as-is instead. - _predict-nntp-server_ - This feature allows _Alpine_ to assume that the open NNTP server at - the time of composition is the NNTP server to which the message - should be posted. This is especially recommended when there are - multiple News collections. If this feature is not set, _Alpine_ will - try to post to the first server in the nntp-server variable. Setting - this feature also negates the need to add News collection servers to - the nntp-server variable. - This feature can be especially handy when used in conjunction with - enable-multiple-newsrcs. - This option is displayed as "NNTP Server (for news)". - _prefer-plain-text_ - A message being viewed may contain alternate versions of the same - content. Those alternate versions are ordered by the sending software - such that the first alternative is the least preferred and the last - alternative is the most preferred. _Alpine_ will normally display the - most-preferred version that it knows how to display. This is most - often encountered where the two alternate versions are a plain text - version and an HTML version, with the HTML version listed last as the - most preferred. - If this option is set, then any plain text version will be preferred - to all other versions. - _preopen-stayopen-folders_ - This feature is related to the option Stay-Open-Folders. Normally, - Stay Open folders are only opened on demand, when the user asks to - open them. From then on they are kept open for the duration of the - session. However, if this feature is set, then the Stay Open folders - will all be opened at startup, at the same time that the INBOX is - opened. - _preserve-start-stop-characters_ - This feature controls how special control key characters, typically - _^S_ and _^Q_, are interpreted when input to _Alpine_. These - characters are known as the "start" and "stop" characters and are - sometimes used in communications paths to control data flow between - devices that operate at different speeds. - By default, _Alpine_ turns the system's handling of these special - characters off except during printing. However, if you see _Alpine_ - reporting input errors such as: - - [ Command "^Q" not defined for this screen. ] - and, at the same time, see your display become garbled, then it is - likely that setting this option will solve the problem. Be aware, - though, that enabling this feature will also cause _Alpine_ to - ostensibly "hang" whenever the _Ctrl-S_ key combination is entered as - the system is now interpreting such input as a "stop output" command. - To "start output" again, simply type _Ctrl-Q_. - This feature is displayed as "Preserve Start/Stop Characters". - _print-formfeed-between-messages_ - Setting this feature causes a formfeed to be printed between messages - when printing multiple messages with the _Apply Print_ command. - _print-includes-from-line_ - If this feature is set, then the Unix mail style From line is - included at the start of each message that is printed. This line - looks something like the following, with the address replaced by the - address from the From line of the message being printed: - - From user@domain.somewhere.com Mon May 13 14:11:06 1996 - _print-index-enabled_ - This feature controls the behavior of the _Print_ command when in the - "Folder Index" screen. If set, the _Print_ command will give you a - prompt asking if you wish to print the message index, or the - currently highlighted message. If not set, the message will be - printed. - _print-offers-custom-cmd-prompt_ - When this feature is set, the _Print_ command will have an additional - subcommand called _C CustomPrint_. If selected, you will have the - opportunity to enter any system print command, instead of being - restricted to using those that have been previously configured in the - _Setup/Printer_ screen. - This feature is displayed as "Print Offers Custom Command Prompt". - _prune-uses-yyyy-mm_ - By default, _Alpine_ asks monthly whether or not you would like to - rename some folders to a new name containing the date. It also asks - whether or not you would like to delete some old folders. See the - pruning-rule option for an explanation. - By default, the name used when renaming a folder looks like - - <foldername>-<month>-<year> - For example, the first time you run _Alpine_ in May of 2004, the - folder "sent-mail" might be renamed to - - sent-mail-apr-2004 - If this feature is set, the name used will be of the form - - <foldername>-<yyyy>-<mm> - where "yyyy" is the year and "mm" is the two-digit month (01, 02, - ..., 12). For the April, 2004 example above, it would instead be - - sent-mail-2004-04 - because April is the 4th month of the year. A reason you might want - to set this feature is so that the folders will sort in chronological - order. - _publiccerts-in-keychain_ - Mac OS X _Alpine_ only. - If this feature is set the Mac OS X default keychain will be used as - the place to store public certificates instead of a - smime-public-cert-directory or a smime-public-cert-container. - This feature is displayed as "S/MIME -- Public Certs in MacOS - Keychain". - _quell-attachment-extension-warn_ - This feature suppresses the extra warning you can get when trying to - view an attachment for which there is no mime-type match. Turning on - this feature will just run the program according to extension instead - of first warning the user that it will run according to the file's - extension. - This feature can be used along side quell-attachment-extra-prompt to - preserve the behavior exhibited in _Pine_ versions prior to _Pine_ - 4.50. - This feature is displayed as "Suppress Attachment Extension Warning". - _quell-attachment-extra-prompt_ - By default, when you attempt to view an attachment externally from - the "Attachment View" screen, you are asked if you really want to - view the selected attachment. - If this feature is set, you will _not_ be prompted to confirm your - selection. Prior to _Pine_ 4.50, the default behavior was to not - prompt. This feature was added for those wanting to preserve that - behavior. - This feature is displayed as "Suppress Attachment Extra Prompt". - _quell-berkeley-format-timezone_ - POSIX mandates a timezone in UNIX mailbox format folder delimiters - (the line which begins with From ). Some versions of Berkeley mail - have trouble with this, and don't recognize the line as a message - delimiter. If this feature is set, the timezone will be left off the - delimiter line. - This feature is displayed as "Suppress Berkeley Format Timezone". - _quell-charset-warning_ - By default, if the message you are viewing contains characters that - are not representable in your display-character-set then _Alpine_ - will add a warning to the start of the displayed text. If this option - is set, then that editorial message will be suppressed. - Setting this feature also suppresses the comment about the character - set in header lines. For example, when viewing a message you might - see - - From: "[ISO-8859-2] Name" <address> - in the From header if your Character-Set is something other than - ISO-8859-2. If you set this feature, the comment about the character - set will no longer be there. - This feature is displayed as "Suppress Character Set Warning". - _quell-content-id_ - This feature changes the behavior of _Alpine_ when sending messages. - It is intended to work around a bug in Microsoft's Outlook XP mail - user agent. As of this writing, Microsoft has acknowledged the bug - but has not added it to the Knowledge Base. We have been told that - there will be a post-SP1 hotfix for Outlook XP. This particular bug - has bug fix number OfficeQFE:4781. The nature of the bug is that - messages with attachments which contain a Content-ID header (which - standard _Alpine_ attachments do) do not show the attachment - indicator (a paperclip) when viewed with Outlook XP. So the user has - no indication that the message contains an attachment. - If this feature is set then _Alpine_ will remove most Content-ID - headers before sending a message. If an attachment is of type - MESSAGE, then the existing Content-ID headers inside the message will - be left intact. This would only happen with _Alpine_ if a message was - forwarded as an attachment or if a message with a message attached - was forwarded. Similarly if an attachment of type - MULTIPART/ALTERNATIVE is forwarded, the Content-ID headers of the - alternative parts will not be removed. - Because the Content-ID header is a standard part of MIME it is - possible that setting this feature will break something. For example, - if an attachment has a Content-ID header which is necessary for the - correct functioning of that attachment, it is possible that _Alpine_ - may remove that header when the attachment is forwarded. However, it - seems fairly safe at this time. - This feature is displayed as "Suppress Content-ID". - _quell-dead-letter-on-cancel_ - This feature affects _Alpine_'s behavior when you cancel a message - being composed. _Alpine_'s usual behavior is to write the canceled - message to a file named dead.letter in your home directory (under - UNIX; DEADLETR under WINDOWS/DOS) overwriting any previous message. - Under some conditions (some routine), this can introduce a noticeable - delay. - Setting this feature will cause _Alpine_ NOT to write canceled - compositions into the file called dead.letter. - This feature affects the newer option Dead-Letter-Files, which - specifies the number of dead letter files to keep around. If this - feature is set, then the Dead-Letter-Files option has no effect. - This feature is displayed as "Do Not Save to Deadletter on Cancel". - _quell-empty-directories_ - This feature causes _Alpine_ to remove from the display any - directories that do not contain at least one file or directory. This - can be useful to prevent overly cluttered folder lists when a - collection is stored on a server that treats all names as both a - folder and a directory. - Note, enabling this feature can cause surprising behavior! For - example, you can still use Add to create a directory, but unless you - immediately enter that directory and create a folder, that newly - created directory may not be displayed next time you enter the folder - list. - This feature is displayed as "Hide Empty Directories". - _quell-extra-post-prompt_ - This feature causes _Alpine_ to skip the extra question about posting - a message which may go to thousands of readers when you are about to - post to a newsgroup. - This feature is displayed as "Suppress Extra Posting Prompt". - _quell-filtering-done-message_ - This feature causes _Alpine_ to suppress the "filtering done" - message. - This feature is displayed as "Suppress Filtering Done Message". - _quell-filtering-messages_ - This feature causes _Alpine_ to suppress the messages about moving - filtered messages and setting flags in messages, due to Filter Rules. - This feature is displayed as "Suppress Filtering Messages". - _quell-flowed-text_ - _Alpine_ generates flowed text where possible. The method for - generating flowed text is defined by RFC 3676, the benefit of doing - so is to send message text that can properly be viewed both on normal - width displays and on displays with smaller or larger than normal - screen widths. With flowed text, a space at the end of a line tells - the receiving mail client that the following line belongs to the same - paragraph. Quoted text will also be affected, with only the innermost - level of ">" quoting being followed by a space. However, if you have - changed the "Reply-Indent-String" so that it is not equal to the - default value of "> ", then quoted text will not be flowed. For this - reason, we recommend that you leave your "Reply-Indent-String" set to - the default. - This feature turns off the generation of flowed text, as it might be - desired to more tightly control how a message is displayed on the - receiving end. - If this feature is _not_ set, you can control on a message by message - basis whether or not flowed text is generated. You do this by typing - ^V at the Send confirmation prompt that you get after typing ^X to - send a message. ^V is a toggle which turns flowing off and back on if - typed again. If for some reason flowing cannot be done on a - particular message, then the ^V command will not be available. This - would be the case, for example, if this feature was set, or if your - "Reply-Indent-String" was set to a non-default value. If the feature - Send-Without-Confirm is set, then the opportunity to control on a - message by message basis whether or not flowed text is generated is - lost. - When this feature is not set and you have typed ^V to turn off - flowing, the Send confirmation prompt will change to look like - - Send message (not flowed)? - Strip-Whitespace-Before-Send will also turn off the sending of flowed - text messages, but it differs in that it also trims all trailing - white space from a message before sending it. - If alternate editors are used extensively, be aware that a message - will still be sent flowed if this feature is unset. In most cases - this will be fine, but if the editor has a "flowed text" mode, it - would be best to use that. - This feature is displayed as "Do Not Send Flowed Text". - _quell-folder-internal-msg_ - This feature determines whether or not _Alpine_ will create "pseudo - messages" in folders that are in standard Unix or MMDF format. - _Alpine_ will normally create these pseudo messages when they are not - already present in a standard Unix or MMDF folder. Their purpose is - to record certain mailbox state data needed for correct IMAP and POP - server operation, and also for _Alpine_ to be able to mark messages - as Answered when the Reply has been postponed. - Sites which do not use IMAP/POP for remote mail access, and which - need to support mail tools that are adversely affected by the - presence of the pseudo-messages (e.g. some mail notification tools) - may enable this feature to tell _Alpine_ not to create them. Note - that _Alpine_'s "Answered" flag capability will be adversely affected - if this is done. - Note too that, even if this feature is enabled, _Alpine_ will not - remove pseudo-messages when it encounters them (e.g. those created by - UW's imapd or ipopd servers.) This feature has no effect on folders - that are not in standard Unix or MMDF format, as pseudo-messages are - not needed in the other formats to record mailbox state information. - This feature is displayed as "Prevent Folder Internal Message". - _quell-full-header-auto-reset_ - The HdrMode Command normally resets to the default state when - switching to a new message. For example, if you've used the "H" - command to turn on Full Headers for a message you are viewing, and - then you type the Next command to look at the next message, the full - headers will no longer be shown. Setting this feature disables that - reset. Instead, the Header Mode remains the same from message to - message. - The presence or absence of the HdrMode command is determined by the - "Enable-Full-Header-Cmd" Feature-List option. - This feature is displayed as "Suppress Full Header Auto Reset". - _quell-imap-envelope-update_ - In the MESSAGE INDEX screen, if the open folder is being accessed - using IMAP, _Alpine_ normally tries to paint the index lines on the - screen as soon as the information arrives from the IMAP server. This - means that the index information makes it onto the screen more - quickly than it otherwise would. This sometimes results in behavior - that bothers some users. For example, when paging to a new page of - the index, it may be possible for the lines to be painted on the - screen in a random order, rather than from top to bottom. - Setting this feature causes _Alpine_ to wait for all of the - information to be gathered before it paints the index screen. Once it - collects all of the information, the screen will be painted quickly - from top to bottom. - This feature is displayed as "Suppress IMAP Envelope Update". - _quell-lock-failure-warnings_ - This feature affects _Alpine_'s behavior when it encounters a problem - acquiring a mail folder lock. Typically, a secondary file associated - with the mail folder being opened is created as part of the locking - process. On some systems, such file creation has been - administratively precluded by the system configuration. - _Alpine_ issues a warning when such failures occur, which can become - bothersome if the system is configured to disallow such actions. - Setting this feature causes _Alpine_ to remain silent when this part - of lock creation fails. - WARNING: systems that have been configured in a way that precludes - locking introduce some risk of mail folder corruption when more than - one program attempts to modify the mail folder. This is most likely - to occur to one's _INBOX_ or other "Incoming Message Folder". - This feature is displayed as "Suppress Lock Failure Warnings". - _Quell-Mailchecks-Composing-Except-Inbox_ - This option is closely related to the Mail-Check-Interval option, the - Mail-Check-Interval-Noncurrent option, and - Quell-Mailchecks-Composing-Inbox. - If this option is set, then the normal new-mail checking which - happens while you are composing will not happen for folders other - than your INBOX (which depends on the setting of - "Quell-Mailchecks-Composing-Inbox"). - You might want to set this option if you are experiencing delays - while composing which you think might be related to the speed of the - new-mail checks. - Even with this option turned on, an occasional new-mail check may be - done in order to keep the server from killing the connection to the - folder. For example, IMAP servers may remove a connection to a folder - if there has been no activity on the connection for 30 minutes or - more. Instead of letting that happen, _Alpine_ will check for new - mail before the 30 minutes is up even though you have turned on this - feature to quell those checks. - Besides new-mail checks, checkpoint operations on the folders will - also be quelled when you set this option. The purpose of - checkpointing is to write the changes to a folder out to disk - periodically in order to avoid losing those changes when system or - software problems occur. New-mail checking and checkpointing while - you are not composing are not affected by this option. - This feature is displayed as "Prevent Mailchecks While Composing - Except for INBOX". - _Quell-Mailchecks-Composing-Inbox_ - This option is closely related to the Mail-Check-Interval option, the - Mail-Check-Interval-Noncurrent option, and - Quell-Mailchecks-Composing-Except-Inbox. - If this option is set, then the normal new-mail checking which - happens while you are composing will not happen for your INBOX. - Checking of other folders is controlled in a similar way with the - "Quell-Mailchecks-Composing-Except-Inbox" option. - You might want to set this option if you are experiencing delays - while composing which you think might be related to the speed of the - new-mail checks. - Even with this option turned on, an occasional new-mail check may be - done in order to keep the server from killing the connection to the - folder. For example, IMAP servers may remove a connection to a folder - if there has been no activity on the connection for 30 minutes or - more. Instead of letting that happen, _Alpine_ will check for new - mail before the 30 minutes is up even though you have turned on this - feature to quell those checks. - Besides new-mail checks, checkpoint operations on the INBOX will also - be quelled when you set this option. The purpose of checkpointing is - to write the changes to a folder out to disk periodically in order to - avoid losing those changes when system or software problems occur. - New-mail checking and checkpointing while you are not composing are - not affected by this option. - This feature is displayed as "Prevent Mailchecks While Composing for - INBOX". - _quell-maildomain-warning_ - When your configuration is set up so that your domain name contains - no dots, it is usually a configuration error. By default, _Alpine_ - will warn you about this when you start it up. You will see a warning - message that looks like - - Incomplete maildomain "<domain>". - If this feature is set, the warning is turned off. This feature is - displayed as "Suppress Maildomain Warning". - _quell-news-envelope-update_ - In the MESSAGE INDEX screen, if the open folder is being accessed - using NNTP (News), _Alpine_ normally tries to paint the index lines - on the screen as soon as the information arrives from the NNTP - server. This means that the index information makes it onto the - screen more quickly than it otherwise would. This sometimes results - in behavior that bothers some users. For example, when paging to a - new page of the index, it may be possible for the lines to be painted - on the screen in a random order, rather than from top to bottom. - Setting this feature causes _Alpine_ to wait for all of the - information to be gathered before it paints the index screen. Once it - collects all of the information, the screen will be painted quickly - from top to bottom. - This feature is displayed as "Suppress News Envelope Update". - _quell-partial-fetching_ - Partial fetching is a feature of the IMAP protocol. By default, - _Alpine_ will use partial fetching when copying the contents of a - message or attachment from the IMAP server to _Alpine_. This means - that the fetch will be done in many small chunks instead of one big - chunk. The main benefit of this approach is that the fetch becomes - interruptible. That is, the user can type _^C_ to stop the fetch - early. In some cases partial fetching may cause a performance problem - so that the fetching of data takes significantly longer when partial - fetching is used. Turning on this feature will turn off partial - fetching. - This feature is displayed as "Prevent Partial Fetching". - _quell-personal-name-prompt_ - _PC-Alpine_ only. This feature quells the prompting for a - personal-name. This prompt normally happens before composing a - message, and only happens when there is no personal name already set. - _quell-server-after-link-in-html_ - By default, links in HTML text are displayed with the host the link - references appended, within square brackets, to the link text. - _Alpine_ does this to help indicate where a link will take you, - particularly when the link text might suggest a different - destination. - Setting this feature will prevent the server name from being appended - to the displayed text. - This feature is displayed as "Suppress Server After Link in HTML". - _quell-ssl-largeblocks_ - This feature (_PC-Alpine_ only) changes the behavior of fetching - messages and attachments so that the message data is fetched in - chunks no larger than 12K bytes. This works around a bug in - Microsoft's SSL/TLS support. Some versions of Microsoft SSL are not - able to read full-sized (16K) SSL/TLS packets. Some servers will send - such packets and this will cause _PC-Alpine_ to crash with the error - - incomplete SecBuffer exceeds maximum buffer size - Microsoft is aware of the problem and has developed a hotfix for it, - but as of this writing the hotfix has not yet been added to the - Knowledge Base. - This feature is displayed as "Prevent SSL Largeblocks". - _quell-status-message-beeping_ - If set status messages will never emit a beep. - This feature is displayed as "Suppress Status Message Beeping". - _quell-timezone-comment-when-sending_ - Normally, when _Alpine_ generates a Date header for outgoing mail, it - will try to include the symbolic timezone at the end of the header - inside parentheses. The symbolic timezone is often three characters - long, but on some operating systems, it may be longer. Apparently - there are some SMTP servers in the world which will reject an - incoming message if it has a Date header longer than about 80 - characters. If this feature is set, the symbolic timezone normally - generated by _Alpine_ will not be included. You probably don't need - to worry about this feature unless you run into the problem described - above. - This feature is displayed as "Suppress Timezone Comment When - Sending". - _quell-user-id-prompt_ - _PC-Alpine_ only. This feature quells the prompting for a user-id if - the information can be obtained from the login name used to open the - INBOX. Normally, this prompt happens before composing a message, and - only happens when there is no user-id already set in the - configuration. - With this feature set, composing a message is only possible after - establishing a connection to the INBOX. - _quell-user-lookup-in-passwd-file_ - This feature controls an aspect of _Alpine_'s Composer, and if - needed, will usually be set by the system manager in _Alpine_'s - system-wide configuration file. Specifically, if this feature is set, - _Alpine_ will not attempt to look in the system password file to find - a Full Name for the entered address. - Normally, names you enter into address fields (e.g. To: or Cc:) are - checked against your address book(s) to see if they match an address - book nickname. Failing that, (in Unix _Alpine_) the name is then - checked against the Unix password file. If the entered name matches a - username in the system password file, _Alpine_ extracts the - corresponding Full Name information for that individual, and adds - that to the address being entered. - However, password file matching can have surprising (incorrect) - results if other users of the system do not receive mail at the - domain you are using. That is, if either the user-domain or - use-only-domain-name option is set such that the administrative - domain of other users on the system isn't accurately reflected, - _Alpine_ should be told that a password file match is coincidental, - and Full Name info will be incorrect. For example, a personal name - from the password file could get falsely paired with the entered name - as it is turned into an address in the configured domain. - If you are seeing this behavior, enabling this feature will prevent - Unix _Alpine_ from looking up names in the password file to find the - Full Name for incomplete addresses you enter. - This feature is displayed as "Prevent User Lookup in Password File". - _quit-without-confirm_ - This feature controls whether or not _Alpine_ will ask for - confirmation when a _Quit_ command is received. - This feature is displayed as "Quit Without Confirming". - _quote-replace-nonflowed_ - This feature, which is only active when Quote-Replace-String is also - set, enables quote-replacement on non-flowed messages. It is off by - default because a non-flowed message is more dependent on its format, - and thus quote-replacement may cause less-than-pleasing results. - Setting this feature will cause quote-replacement similar to that of - flowed messages, but with the added possibility of long lines being - wrapped into new lines if the Quote-Replacement-String is longer than - the string it is replacing, which is "> ". - _reply-always-uses-reply-to_ - If set, _Alpine_ will not prompt when a message being replied to - contains a _Reply-To:_ header value, but will simply use its value - (as opposed to using the _From:_ field's value). - _return-to-inbox-without-confirm_ - Normally, when you use the TAB command and there are no more folders - or newsgroups to visit, you are asked if you want to return to the - INBOX. If this feature is set you will not be asked. It will be - assumed that you do want to return to the INBOX. - This feature is displayed as "Return to INBOX Without Confirming". - _save-aggregates-copy-sequence_ - This feature will optimize an aggregate copy operation, if possible, - by issuing a single IMAP _COPY_ command with a list of the messages - to be copied. This feature is set by default. This may reduce network - traffic and elapsed time for the Save. _However, many IMAP servers - (including the UW IMAP server) do not preserve the order of messages - when this optimization is applied._ If this feature is not set, - _Alpine_ will copy each message individually and the order of the - messages will be preserved. - This feature is displayed as "Save Combines Copies (may be out of - order)". - _save-partial-msg-without-confirm_ - This feature controls an aspect of _Alpine_'s Save command. By - default, when you Save a message that has some deleted parts, you - will be asked to confirm that you want to Save with a prompt that - looks like: - - Saved copy will NOT include entire message! Continue? - If this feature is set, you will not be asked. - This feature is displayed as "Save Partial Message Without - Confirming". - _save-will-advance_ - If set, _Save_ will (in addition to copying the current message to - the designated folder) also advance to the next message. - _save-will-not-delete_ - If set, _Save_ will not mark the message Deleted (its default - behavior) after it has been copied to the designated folder. - _save-will-quote-leading-froms_ - This feature controls an aspect of the _Save_ command (and also the - way outgoing messages are saved to an FCC folder). If set, _Alpine_ - will add a leading > character in front of message lines beginning - with "From" when they are saved to another folder, including lines - syntactically distinguishable from the type of message separator line - commonly used on Unix systems. - The default behavior is that a > will be prepended only to lines - beginning with "From " that might otherwise be confused with a - message separator line on Unix systems. If _Alpine_ is the only mail - program you use, this default is reasonable. If another program you - use has trouble displaying a message with an unquoted From saved by - _Alpine_, you should enable this feature. This feature only applies to - the common Unix mailbox format that uses message separator lines - beginning with "From ". If _Alpine_ has been configured to use a - different mailbox format (possibly incompatible with other mail - programs), then this issue does not arise, and the feature is - irrelevant. - _scramble-message-id_ - Normally the Message-ID header that _Alpine_ generates when sending a - message contains the name of the computer from which the message is - being sent. Some believe that this hostname could be used by spammers - or could be used by others for nefarious purposes. If this feature is - set, that name will be transformed with a simple Rot13 - transformation. The result will still have the correct syntax for a - Message-ID but the part of the MessageID that is often a domain name - will not be an actual domain name because the letters will be - scrambled. - It is possible (but unlikely?) that some spam detection software will - use that as a reason to reject the mail as spam. It has also been - reported that some spam detection software uses the fact that there - are no dots after the "@" as a reason to reject messages. If your - _PC-Alpine_ Message-ID is using a name without a dot that is because - that is what Windows thinks is your "Full computer name". The method - used to set this varies from one type of Windows to another but check - under Settings -> Control Panel -> System and look for Network - Identification or Computer Name or something similar. How to set it - is beyond the scope of _Alpine_. - This feature is displayed as "Scramble the Message-ID When Sending". - _select-without-confirm_ - This feature controls an aspect of _Alpine_'s _Save_, _Export_, and - _Goto_ commands. These commands all take text input to specify the - name of the folder or file to be used, but allow you to press _^T_ - for a list of possible names. If set, the selected name will be used - immediately, without further opportunity to confirm or edit the name. - This feature is displayed as "Select Ctrl-T Foldername Without - Confirming". - _send-without-confirm_ - By default, when you send or post a message you will be asked to - confirm with a question that looks something like: - - Send message? - If this feature is set, you will _not_ be prompted to confirm your - intent to send and your message will be sent. - If this feature is set it disables some possibilities and renders - some other features meaningless. You will not be able to use Sending - Filters, Verbose sending mode, Background Sending, Delivery Status - Notifications, or ^V to turn off the generation of flowed text for - this message. These options are normally available as suboptions in - the Send prompt, but with no Send prompt the options are gone. - A somewhat related feature is quell-extra-post-prompt. which may be - used to eliminate the extra confirmation question when posting to a - newsgroup. - This feature is displayed as "Send Without Confirming". - _separate-folder-and-directory-display_ - This feature affects folder collections wherein a folder and - directory can have the same name. By default, _Alpine_ displays them - only once, denoting that it is both a folder and directory by - appending the folder name with the hierarchy character enclosed in - square brackets. - Enabling this feature will cause _Alpine_ to display such names - separately marking the name representing a directory with a trailing - hierarchy delimiter (typically the slash, "/", character). - The feature also alters the command set slightly. By default, the - right-arrow descends into the directory, while hitting the Return key - will cause the folder by that name to be opened. - With this feature set, the Return key will open the highlighted - folder, or enter the highlighted directory. - _show-cursor_ - If set, the system cursor will move to convenient locations in the - displays. For example, to the beginning of the status field of the - highlighted index line, or to the highlighted word after a successful - _WhereIs_ command. It is intended to draw your attention to the - _interesting_ spot on the screen. - _show-plain-text-internally_ - This feature modifies the method _Alpine_ uses to display Text/Plain - MIME attachments from the Attachment Index screen. Normally, the - "View" command searches for any externally defined (usually via the - Mailcap file) viewer, and displays the selected text within that - viewer. - Enabling this feature causes _Alpine_ to ignore any external viewer - settings and always display text with _Alpine_'s internal viewer. - _show-selected-in-boldface_ - This feature controls an aspect of _Alpine_'s aggregate operation - commands; in particular, the _Select_ and _WhereIs_ commands. _Select_ - and _WhereIs_ (with the _^X_ subcommand) will search the current - folder for messages meeting a specified criteria, and _tag_ the - resulting messages with an _X_ in the first column of the applicable - lines in the "Folder Index". If this feature is set, instead of using - the _X_ to denote a selected message, _Alpine_ will attempt to - display those index lines in boldface. Whether this is preferable to - the _X_ will depend on personal taste and the type of terminal being - used. - _show-sort_ - If this feature is set and there is sufficient space on the screen, a - short indication of the current sort order will be added in the - titlebar (the top line on the screen), before the name of the folder. - For example, with the default Arrival sort in effect, the display - would have the characters - - [A] - added between the title of the screen and the folder name. The - letters are the same as the letters you may type to manually sort a - folder with the SortIndex command ($). The letters in the table below - are the ones that may show up in the titlebar line. - - A _A_rrival - S _S_ubject - F _F_rom - T _T_o - C _C_c - D _D_ate - Z si_Z_e - O _O_rderedsubject - E scor_E_ - H t_H_read - If the sort order is Reversed, the letter above will be preceded by - the letter "R", for example - - [RS] - means that a Reverse Subject sort is in effect. For the case where - the sort is in Reverse Arrival order, the "A" is left out, and just - an "R" is shown. - - [R] - This feature is displayed as "Show Sort in Titlebar". - _signature-at-bottom_ - If this feature is set, and a message being _Repl_ied to is being - included in the reply, then the contents of the signature file (if - any) will be inserted after the included message. This feature does - not affect the results of a _Forward_ command. - _single-column-folder-list_ - If set, the "Folder List" screen will list one folder per line - instead of several per line. - _slash-collapses-entire-thread_ - Normally, the Collapse/Expand Thread command Collapses or Expands the - subthread which starts at the currently highlighted message, if any. - If this feature is set, then the slash command Collapses or Expands - the _entire_ current thread instead of just the subthread. - _smime-dont-do-smime_ - UNIX _Alpine_ only. - Setting this feature turns off all of _Alpine_'s S/MIME support. You - might want to set this if you are having trouble due to the S/MIME - support. - + General S/MIME Overview - This feature is displayed as "S/MIME -- Turn off S/MIME". - _smime-encrypt-by-default_ - UNIX _Alpine_ only. - This feature only has an effect if your version of _Alpine_ includes - support for S/MIME. It affects _Alpine_'s behavior when you send a - message. If this option is set, the "Encrypt" option will default to - ON when sending messages. - Only the default value is affected. In any case, you may still toggle - the Encrypt option on or off before sending with the "E Encrypt" - command (provided you have a the public digital ID for the - recipient). - + General S/MIME Overview - This feature is displayed as "S/MIME -- Encrypt by Default". - _smime-remember-passphrase_ - UNIX _Alpine_ only. - This feature only has an effect if your version of _Alpine_ includes - support for S/MIME. If this option is set, you will only have to - enter your passphrase for your private key once during an _Alpine_ - session. - + General S/MIME Overview - This feature is displayed as "S/MIME -- Remember S/MIME Passphrase". - _smime-sign-by-default_ - UNIX _Alpine_ only. - This feature only has an effect if your version of _Alpine_ includes - support for S/MIME. It affects _Alpine_'s behavior when you send a - message. If this option is set, the "Sign" option will default to ON - when sending messages. - Only the default value is affected. In any case, you may still toggle - the Signing option on or off before sending with the "G Sign" command - (provided you have a personal digital ID certificate). - + General S/MIME Overview - This feature is displayed as "S/MIME -- Sign by Default". - _sort-default-fcc-alpha_ - This feature controls an aspect of _Alpine_'s FOLDER LIST screen. If - set, the default FCC folder will be sorted alphabetically with the - other folders instead of appearing right after the INBOX. - This feature is displayed as "Sort Default Fcc Folder - Alphabetically". - _sort-default-save-alpha_ - This feature controls an aspect of _Alpine_'s FOLDER LIST screen. If - set, the default save folder will be sorted alphabetically with the - other folders instead of appearing right after the INBOX (and default - FCC folder). - This feature is displayed as "Sort Default Save Folder - Alphabetically". - _spell-check-before-sending_ - When this feature is set, every composed message will be - spell-checked before being sent. - _store-window-position-in-config_ - Normally, _PC-Alpine_ will store its window size and position in the - Windows Registry. This is convenient if you want to use the same - remote configuration from more than one PC. If you use multiple - configuration files to start _PC-Alpine_, you may want to store the - window size and position in the configuration file instead of in the - Registry. Setting this feature causes that to happen. - _strip-from-sigdashes-on-reply_ - This feature doesn't do anything if the feature enable-sigdashes is - turned on. However, if the _enable-sigdashes_ feature is not turned - on, then turning on this feature enables support for the convention - of not including text beyond the sigdashes line when Replying or - Following up to a message and including the text of that message. - In other words, this is a way to turn on the signature stripping - behavior without also turning on the dashes-adding behavior. - _strip-whitespace-before=send_ - Trailing whitespace is not stripped from a message before sending. - Trailing whitespace should have no effect on an email message, and in - flowed text can aid in delimiting paragraphs. However, the old - behavior of stripping trailing whitespace was in place to better deal - with older clients that couldn't handle certain types of text - encodings. This feature restores the old behavior - Trailing whitespace is of aid to flowed-text-formatted messages, - which are generated by default but can be turned off via the - quell-flowed-text feature. strip-whitespace-before-send also has the - effect of turning off sending of flowed text. - This feature is displayed as "Strip Whitespace Before Sending". - _suppress-asterisks-in-password-prompt_ - When you are running _Alpine_ you will sometimes be asked for a - password in a prompt on the third line from the bottom of the screen. - Normally each password character you type will cause an asterisk to - echo on the screen. That gives you some feedback to know that your - typing is being recognized. There is a very slight security risk in - doing it this way because someone watching over your shoulder might - be able to see how many characters there are in your password. If - you'd like to suppress the echoing of the asterisks set this feature. - _suppress-user-agent-when-sending_ - If this feature is set then _Alpine_ will not generate a User-Agent - header in outgoing messages. - _tab-checks-recent_ - In a FOLDER LIST screen, the TAB key usually just changes which - folder is highlighted. If this feature is set, then the TAB key will - cause the number of recent messages and the total number of messages - in the highlighted folder to be displayed instead. - This feature is displayed as "Tab Checks for Recent Messages". - _tab-uses-unseen-for-next-folder_ - This feature affects _Alpine_'s behavior when using the TAB NextNew - Command to move from one folder to the next. _Alpine_'s usual - behavior is to search for folders with _Recent_ messages in them. - Recent messages are messages which have arrived since the last time - the folder was opened. - Setting this feature causes _Alpine_ to search for _Unseen_ messages - instead of Recent messages. Unseen messages remain Unseen until you - view them (or flag then as Seen with the Flag Command). Setting this - feature allows you to locate messages you have not read instead of - only recently received messages. When this feature is set, the - feature Enable-Fast-Recent-Test will have no effect, so the checking - may be slower. - Another reason why you might want to use this feature is that _Alpine_ - sometimes opens folders implicitly behind the scenes, and this clears - the Recent status of all messages in the folder. One example where - this happens is when Saving or filtering a message to another folder. - If that message has some keywords set, then because of some - shortcomings in the IMAP specification, the best way to ensure that - those keywords are still set in the saved copy of the message is to - open the folder and set the keywords explicitly. Because this clears - the Recent status of all messages in that folder the folder will not - be found by the NextNew command unless this feature is set. - _tab-visits-next-new-message-only_ - This feature affects _Alpine_'s behavior when using the _TAB_ key to - move from one message to the next. _Alpine_'s usual behavior is to - select the next _Unread_ message or message flagged as _Important_. - Setting this feature causes _Alpine_ to skip the messages flagged as - _Important_, and select _Unread_ messages exclusively. Tab behavior - when there are no new messages left to select remains unchanged. - _termdef-takes-precedence_ - This feature may affect _Alpine_'s low-level input routines. Termcap - (or terminfo, depending on how your copy of _Alpine_ was compiled and - linked) is the name of the database which describes terminal - capabilities. In particular, it describes the sequences of characters - that various keys will emit. - An example would be the Up Arrow key on the keyboard. Up Arrow is not - a distinct character on most Unix systems. When you press the Up - Arrow key a short sequence of characters are produced. This sequence - is supposed to be described in the termcap database by the "ku" - capability (or by the "kcuu1" capability if you are using terminfo - instead of termcap). - By default, _Alpine_ defines some terminal escape sequences that are - commonly used. For example, the sequence "ESC O A" is recognized as - an Up Arrow key. The sequence "ESC [ A" is also recognized as an Up - Arrow key. These are chosen because common terminals like VT100's or - ANSI standard terminals produce these sequences when you press the Up - Arrow key. - If your system's termcap (terminfo) database assigns some other - function to the sequence "ESC O A" it is usually ignored by _Alpine_. - Also, if your termcap (terminfo) database assigns a sequence which - doesn't begin with an escape character (ESC) it is usually ignored by - _Alpine_. This usually works fine because most terminals emit the - escape sequences that _Alpine_ has defined by default. We have also - found that it is usually better to have these defaults take - precedence over the definitions contained in the database because the - defaults are more likely to be correct than the database. - There are some terminals where this breaks down. If you want _Alpine_ - to believe the definitions given in your termcap (terminfo) database - in preference to the defaults the _Alpine_ itself sets up, then you - may turn this feature on. Then, sequences of characters which are - defined in both termcap (terminfo) and in _Alpine_'s set of defaults - will be interpreted the way that termcap (terminfo) says they should - be interpreted. Also, if your terminal capabilities database assigns - a sequence which doesn't begin with escape, it will not be ignored. - _thread-index-shows-important-color_ - This option affects only the THREAD INDEX screen. Whether or not you - ever see a THREAD INDEX screen depends on the setting of the - configuration option threading-index-style and on the sort order of - the index. If a message within a thread is flagged as Important and - this option is set, then the entire line in the THREAD INDEX will be - colored the color of the Index-important Symbol, which can be set - using the Setup Kolor screen. - _try-alternative-authentication-driver-first_ - This feature affects how _Alpine_ connects to IMAP servers. It's - utility has largely been overtaken by events, but it may still be - useful in some circumstances. If you only connect to modern IMAP - servers that support "TLS" you can ignore this feature. - Details: - By default, _Alpine_ will attempt to connect to an IMAP server on the - normal IMAP service port (143), and if the server offers "Transport - Layer Security" (TLS) and _Alpine_ has been compiled with encryption - capability, then a secure (encrypted) session will be negotiated. - With this feature enabled, before connecting on the normal IMAP port, - _Alpine_ will first attempt to connect to an alternate IMAP service - port (993) used specifically for encrypted IMAP sessions via the - Secure Sockets Layer (SSL) method. If the SSL attempt fails, _Alpine_ - will then try the default behavior described in the previous - paragraph. - TLS negotiation on the normal port is preferred, and supersedes the - use of SSL on port 993, but older servers may not provide TLS - support. This feature may be convenient when accessing IMAP servers - that do not support TLS, but do support SSL connections on port 993. - However, it is important to understand that with this feature - enabled, _Alpine_ will _attempt_ to make a secure connection if that - is possible, but it will proceed to make an insecure connection if - that is the only option offered by the server, or if the _Alpine_ in - question has been built without encryption capability. - Note that this feature specifies a per-user (or system-wide) default - behavior, but host/folder specification flags may be used to control - the behavior of any specific connection. This feature interacts with - some of the possible host/folder path specification flags as follows: - The /tls host flag, for example, - - {foo.example.com/tls}INBOX - will over-ride this feature for the specified host by bypassing the - SSL connection attempt. Moreover, with /tls specified, the connection - attempt will fail if the service on port 143 does not offer TLS - support. - The /ssl host flag, for example, - - {foo.example.com/ssl}INBOX - will insist on an SSL connection for the specified host, and will - fail if the SSL service on port 993 is not available. _Alpine_ will - not subsequently retry a connection on port 143 if /ssl is specified. - _unselect-will-not-advance_ - Normally, when the Unselect current message command (:) is typed when - the current message is selected, the message will be unselected and - the next message will become the current message. If this feature is - set, the cursor will not advance to the next message. Instead, the - current message will remain the current message after unselecting. - _use-current-dir_ - This feature controls an aspect of several commands. If set, your - "current working directory" will be used instead of your home - directory for all of the following operations: - + _Export_ in the "Folder Index" and "Message Text" screens - + Attachment _Save_ in the "Message Text" and "Attachment Text" - screens - + _^R_ file inclusion in the Composer - + _^J_ file attachment in the Composer - This feature is displayed as "Use Current Directory". - _use-function-keys_ - This feature specifies that _Alpine_ will respond to function keys - instead of the normal single-letter commands. In this mode, the key - menus at the bottom of each screen will show function key - designations instead of the normal mnemonic key. - _use-regular-startup-rule-for-stayopen-folders_ - This feature affects which message is selected as the current message - when you enter a Stay Open folder. - Normally, the starting position for an incoming folder (which most - Stay Open folders will likely be) is controlled by the - Incoming-Startup-Rule. However, if a folder is a Stay Open folder, - when you re-enter the folder after the first time the current message - will be the same as it was when you left the folder. An exception is - made if you use the TAB command to get to the folder. In that case, - the message number will be incremented by one from what it was when - you left the folder. - The above special behavior is thought to be useful. However, it is - special and different from what you might at first expect. If this - feature is set, then Stay Open folders will not be treated specially - as far as the startup rule is concerned. - _use-resent-to-in-rules_ - This feature is turned off by default because turning it on causes - problems with some deficient IMAP servers. In _Alpine_ Filters and - other types of Rules, if the Pattern contains a To header pattern and - this feature is turned on, then a check is made in the message to see - if a Resent-To header is present, and that is used instead of the To - header. If this feature is not turned on, then the regular To header - will always be used. - _use-sender-not-x-sender_ - Normally _Alpine_ on Unix adds a header line labeled _X-X-Sender_, if - the sender is different from the _From:_ line. - The standard specifies that this header line should be labeled - _Sender_, not _X-X-Sender_. Setting this feature causes _Sender_ to be - used instead of _X-X-Sender_. The standard also states that the data - associated with this header field should not be used as a Reply - address. Unfortunately, certain implementations of mail list - management servers will use the Sender address for such purposes. - These implementations often even recognize the _X-Sender_ fields as - being equivalent to the _Sender_ field, and use it if present. This - is why _Alpine_ defaults to _X-X-Sender_. - Note, _PC-Alpine_ always adds either an _X-X-Sender_ line if there is - an open, remote mailbox, or an _X-Warning: UNAuthenticated User_ - otherwise - This feature is displayed as "Use Sender Instead of X-X-Sender". - _use-subshell-for-suspend_ - This feature affects _Alpine_'s behavior when process suspension is - enabled and then activated via the _^Z_ key. _Alpine_ suspension - allows one to temporarily interact with the operating system command - "shell" without quitting _Alpine_, and then subsequently resume the - still-active _Alpine_ session. - When the _enable-suspend_ feature is set and subsequently the _^Z_ - key is pressed, _Alpine_ will normally suspend itself and return - temporary control to _Alpine_'s parent shell process. However, if - this feature is set, _Alpine_ will instead create an inferior - subshell process. This is useful when the parent process is not - intended to be used interactively. Examples include invoking _Alpine_ - via the -e argument of the Unix _xterm_ program, or via a menu - system. - Note that one typically resumes a suspended _Alpine_ by entering the - Unix _fg_ command, but if this feature is set, it will be necessary - to enter the _exit_ command instead. - _use-system-translation_ - UNIX _Alpine_ only. _Alpine_ normally uses its own internal software - to convert between the multi-byte representation of characters and - the Unicode representation of those same characters ( see the section - on International Character Sets). It converts from the multi-byte - characters your keyboard produces to Unicode, and from Unicode to the - multi-byte characters your display expects. Alpine also uses its own - internal software to decide how much space on the screen a particular - Unicode character will occupy. - Setting this feature tells _Alpine_ to use the system-supplied - routines to perform these tasks instead. In particular there are - three tasks and three system routines that will be used for these - tasks. - To convert from multi-byte to Unicode the routine - - mbstowcs - is used. To convert from Unicode to multi-byte the routine - - wcrtomb - is used. And to find the screen width a particular Unicode character - will occupy the routine used is - - wcwidth - This feature has been only lightly tested. The internal routines - should normally be used unless you run into a problem that you think - may be solved by using the system routines. Note that your - environment needs to be set up for these routines to work correctly. - In particular, the LANG or LC_CTYPE variable in your environment will - need to be set. - _vertical-folder-list_ - This feature controls an aspect of _Alpine_'s FOLDER LIST screen. If - set, the folders will be listed alphabetically down the columns - rather than across the columns as is the default. - This feature is displayed as "Use Vertical Folder List". - _warn-if-blank-subject_ - This feature affects _Alpine_'s behavior when you send a message - being composed. If this option is set, _Alpine_ will check to see if - the message about to be sent has a subject or not. If not, you will - be asked if you want to send the message anyway. - _warn-if-blank-to-and-cc-and-newsgroups_ - This feature affects _Alpine_'s behavior when you send a message - being composed. If this option is set, _Alpine_ will check to see if - the message about to be sent has either a To address, a Cc address, - or a Newsgroup. If none of these is set, you will be asked if you - want to send the message anyway. - This feature is closely related to fcc-only-without-confirm. _Alpine_ - will normally ask if you want to copy a message only to the Fcc. This - feature also applies to cases where there is a Bcc but still no To, - Cc, or Newsgroup. If the Fcc-Only-Without-Confirm feature is set and - you are sending a message with only an Fcc, then you won't be asked - about sending with a blank To and Cc and Newsgroups header even if - this feature is set. Similarly, if you have already been asked if you - want to send to the Fcc only and you have answered Yes, then you - won't be asked again about sending with blank To, Cc, and Newsgroups - headers even if this feature is set. - -Hidden Config Variables and Features - - There are several configuration variables and features which are normally - hidden from the user. That is, they don't appear on any of the configuration - screens. Some of these are suppressed because they are intended to be used - by system administrators, and in fact may only be set in system-wide - configuration files. Others are available to users but are thought to be of - such little value to most users that their presence on the Config screens - would cause more confusion than help. Others are hidden in the Setup/Config - screen because they are normally configured in one of the other - configuration screens. For example, all of the colors are hidden because the - normal way to configure colors is through Setup/Colors not Setup/Config. You - may set the feature expose-hidden-config to cause most of these hidden - variables and features to show up at the bottom of the Setup/Config screen. - - Hidden Variables Not Settable by Users - - These variables are settable only in system-wide configuration files. - * bugs-additional-data - * bugs-address - * bugs-fullname - * forced-abook-entry - * kblock-passwd-count - * local-address - * local-fullname - * mail-directory - * standard-printer - * suggest-address - * suggest-fullname - - Hidden Variables Which are Settable by Users - - These variables are not shown to users but are settable by means of hand - editing the personal configuration file. This first group is usually - maintained by _Alpine_ and there will usually be no reason to edit them by - hand. - * last-version-used - * patterns-filters2 - * patterns-indexcolors - * patterns-roles - * patterns-scores2 - * remote-abook-metafile - - This group is usually correct but may be changed by system managers or users - in special cases. - * disable-these-authenticators - * disable-these-drivers - * last-time-prune-questioned - * new-version-threshold - * remote-abook-history - * remote-abook-validity - * rsh-command - * rsh-open-timeout - * rsh-path - * sendmail-path - * ssh-command - * ssh-open-timeout - * ssh-path - * tcp-open-timeout - * tcp-query-timeout - * tcp-read-warning-timeout - * tcp-write-warning-timeout - * use-function-keys - - System managers are usually interested in setting these in the system-wide - configuration files, though users may set them if they wish. - * operating-dir - * user-input-timeout - - Hidden Features Which are Settable by Users - - These are _features_ (as opposed to variables) which users or system - administrators may set. Some of them only make sense for administrators. To - turn these on manually, the configuration file should be edited and the - feature added to the _feature-list_ variable. You may set the feature - expose-hidden-config to cause these hidden features to show up in the - Setup/Config screen. They will be at the bottom of the screen. - * disable-config-cmd - * disable-keyboard-lock-cmd - * disable-password-cmd - * disable-pipes-in-sigs - * disable-pipes-in-templates - * disable-roles-setup-cmd - * disable-roles-sig-edit - * disable-roles-template-edit - * disable-setlocale-collate - * disable-shared-namespaces - * disable-signature-edit-cmd - -Retired Variables and Features - - Variables and features that are no longer used by the current _Alpine_ - version. When an obsolete variable is encountered, its value is applied to - any new corresponding setting. The replaced values include: - - _character-set_ - Replaced by three separate variables: _display-character-set_, - _keyboard-character-set_, and _posting-character-set_. - _compose-mime_ - _elm-style-save_ - Replaced by _saved-msg-name-rule_ - _feature-level_ - Replaced by _feature-list._ - _header-in-reply_ - Replaced by _include-header-in-reply_ in the _feature-list._ - _old-style-reply_ - Replaced by _signature-at-bottom_ in the _feature-list._ - _use-old-unix-format-write_ - No replacement. - _patterns_ - Replaced by four separate patterns variables: _patterns-roles_, - _patterns-filters_, _patterns-scores_, and _patterns-indexcolors_. - Since then, _patterns-filters_ has also become obsolete and is - replaced by _patterns-filters2_; _patterns-scores_ is replaced by - _patterns-scores2_. - _save-by-sender_ - Replaced by _saved-msg-name-rule._ - _show-all-characters_ - No replacement, it always works this way now. - -Tokens for Index and Replying - - This set of special tokens may be used in the index-format option, in the - reply-leadin option, in signature files, in template files used in roles, - and in the folder name that is the target of a Filter Rule. Some of them - aren't available in all situations. - - The tokens are used as they appear below for the _Index-Format_ option, but - they must be surrounded by underscores for the _Reply-Leadin_ option, in - signature and template files, and in the target of Filter Rules. - - _Tokens Available for all Cases (except Filter Rules)_ - - SUBJECT - This token represents the Subject the sender gave the message. - Alternatives for use in the index screen are SUBJKEY, SUBJKEYINIT, - SUBJECTTEXT, SUBJKEYTEXT, and SUBJKEYINITTEXT. You may color the - subject text in the MESSAGE INDEX screen differently by using the - Index Subject Color and the Index Opening Color. options available - from the Setup Kolor screen. - - FROM - This token represents the personal name (or email address if the name - is unavailable) of the person specified in the message's "From:" - header field. You may color the from text in the MESSAGE INDEX screen - differently by using the Index From Color option available from the - Setup Kolor screen. - - ADDRESS - This is similar to the "FROM" token, only it is always the email - address, never the personal name. For example, "mailbox@domain". - - MAILBOX - This is the same as the "ADDRESS" except that the domain part of the - address is left off. For example, "mailbox". - - SENDER - This token represents the personal name (or email address) of the - person listed in the message's "Sender:" header field. - - TO - This token represents the personal names (or email addresses if the - names are unavailable) of the persons specified in the message's - "To:" header field. - - NEWSANDTO - This token represents the newsgroups from the message's "Newsgroups:" - header field _and_ the personal names (or email addresses if the - names are unavailable) of the persons specified in the message's - "To:" header field. - - TOANDNEWS - Same as "NEWSANDTO" except in the opposite order. - - NEWS - This token represents the newsgroups from the message's "Newsgroups:" - header field. - - CC - This token represents the personal names (or email addresses if the - names are unavailable) of the persons specified in the message's - "Cc:" header field. - - RECIPS - This token represents the personal names (or email addresses if the - names are unavailable) of the persons specified in both the message's - "To:" header field and the message's "Cc:" header field. - - NEWSANDRECIPS - This token represents the newsgroups from the message's "Newsgroups:" - header field _and_ the personal names (or email addresses if the - names are unavailable) of the persons specified in the message's - "To:" and "Cc:" header fields. - - RECIPSANDNEWS - Same as "NEWSANDRECIPS" except in the opposite order. - - INIT - This token represents the initials from the personal name of the - person specified in the message's "From:" header field. If there is - no personal name, it is blank. - - DATE - This token represents the date on which the message was sent, - according to the "Date" header field. It has the format MMM DD. For - example, "Oct 23". The feature convert-dates-to-localtime, which - adjusts for the timezone the message was sent from, may have an - affect on the value of this token as well as the values of all of the - other DATE or TIME tokens. Some of the DATE and TIME tokens are - displayed in a locale-specific way unless the option - Disable-Index-Locale-Dates is set. - - SMARTDATE - This token represents the date on which the message was sent, - according to the "Date" header field. It is "Today" if the message - was sent today, "Yesterday" for yesterday, "Wednesday" if it was last - Wednesday, and so on. If the message is from last year and is more - than six months old it includes the year, as well. There is no - adjustment made for different time zones, so you'll get the day the - message was sent according to the time zone the sender was in. See - the SMARTDATE alternatives below, as well. - - SMARTTIME - This token represents the most relevant elements of the date on which - the message was sent (according to the "Date" header field), in a - compact form. If the message was sent today, only the time is used - (e.g. "9:22am", "10:07pm"); if it was sent during the past week, the - day of the week and the hour are used (e.g. "Wed09am", "Thu10pm"); - other dates are given as date, month, and year (e.g. "23Aug00", - "9Apr98"). There is no adjustment made for different time zones, so - you'll get the day/time the message was sent according to the time - zone the sender was in. - - SMARTDATETIME - This is a combination of SMARTDATE and SMARTTIME. It is SMARTDATE - unless the SMARTDATE value is "Today", in which case it is SMARTTIME. - See the SMARTDATETIME alternatives below, as well. - - DATEISO - This token represents the date on which the message was sent, - according to the "Date" header field. It has the format YYYY-MM-DD. - For example, "1998-10-23". - - SHORTDATEISO - This token represents the date on which the message was sent, - according to the "Date" header field. It has the format YY-MM-DD. For - example, "98-10-23". - - SHORTDATE1 - This token represents the date on which the message was sent, - according to the "Date" header field. It has the format MM/DD/YY. For - example, "10/23/98". - - SHORTDATE2 - This token represents the date on which the message was sent, - according to the "Date" header field. It has the format DD/MM/YY. For - example, "23/10/98". - - SHORTDATE3 - This token represents the date on which the message was sent, - according to the "Date" header field. It has the format DD.MM.YY. For - example, "23.10.98". - - SHORTDATE4 - This token represents the date on which the message was sent, - according to the "Date" header field. It has the format YY.MM.DD. For - example, "98.10.23". - - LONGDATE - This token represents the date on which the message was sent, - according to the "Date" header field. It has the format MMM DD, YYYY. - For example, "Oct 23, 1998". - - SMARTDATE alternatives - There are several versions of SMARTDATE which are all the same except - for the way they format dates far in the past. SMARTDATE formats the - date using the information from your locale settings to format the - date string. It may end up formatting dates so that they look like - DATEISO tokens, or SHORTDATE2 tokens, or something else entirely. The - feature convert-dates-to-localtime may have an affect on the values - of these tokens. If you want more control you may use one of the - following. - - SMARTDATE - If the option Disable-Index-Locale-Dates is not set then this - will be locale specific. Control this with the LC_TIME locale - setting on a UNIX system. On Windows the Regional Options - control panel may be used to set the Short date format. At the - programming level, the strftime routine is what _Alpine_ uses - to print the date. If the Disable-Index-Locale-Dates option is - set then this is equivalent to SMARTDATES1. - - SMARTDATEISO - DATEISO format. See text above. - - SMARTDATESHORTISO - SHORTDATEISO format. - - SMARTDATES1 - SHORTDATE1 format. - - SMARTDATES2 - SHORTDATE2 format. - - SMARTDATES3 - SHORTDATE3 format. - - SMARTDATES4 - SHORTDATE4 format. - - SMARTDATETIME alternatives - There are several versions of SMARTDATETIME which are all very - similar. The ones which end in 24 use a 24-hour clock for Today's - messages instead of a 12-hour clock. The other variation is for the - way they format dates far in the past. SMARTDATETIME and - SMARTDATETIME24 format the date using the information from your - locale settings to format the date string. It may end up formatting - dates so that they look like DATEISO tokens, or SHORTDATE2 tokens, or - something else entirely. The feature convert-dates-to-localtime may - have an affect on the values of these tokens. The possible choices - are: - - SMARTDATETIME - Locale specific. Control this with the LC_TIME locale setting - on a UNIX system. On Windows the Regional Options control panel - may be used to set the Short date format. At the programming - level, the strftime routine is what _Alpine_ uses to print the - date. - - SMARTDATETIME - If the option Disable-Index-Locale-Dates is not set then this - will be locale specific. Control this with the LC_TIME locale - setting on a UNIX system. On Windows the Regional Options - control panel may be used to set the Short date format. At the - programming level, the strftime routine is what _Alpine_ uses - to print the date. If the Disable-Index-Locale-Dates option is - set then this is equivalent to SMARTDATETIMES1. - - SMARTDATETIME24 - Use TIME24 for Today - - SMARTDATETIMEISO - DATEISO format. See text above. - - SMARTDATETIMEISO24 - Use TIME24 for Today - - SMARTDATETIMESHORTISO - SHORTDATEISO format. - - SMARTDATETIMESHORTISO24 - Use TIME24 for Today - - SMARTDATETIMES1 - SHORTDATE1 format. - - SMARTDATETIMES124 - Use TIME24 for Today - - SMARTDATETIMES2 - SHORTDATE2 format. - - SMARTDATETIMES224 - Use TIME24 for Today - - SMARTDATETIMES3 - SHORTDATE3 format. - - SMARTDATETIMES324 - Use TIME24 for Today - - SMARTDATETIMES4 - SHORTDATE4 format. - - SMARTDATETIMES424 - Use TIME24 for Today - - DAYDATE - This token represents the date on which the message was sent, - according to the "Date" header field. It looks like "Sat, 23 Oct - 1998". This token is never converted in any locale-specific way. - - PREFDATE - This token represents the date on which the message was sent, - according to the "Date" header field. It is your operating system's - idea of the preferred date representation for the current locale. - Internally it uses the %x version of the date from the strftime - routine. - - PREFTIME - This token represents the time at which the message was sent, - according to the "Date" header field. It is the preferred time - representation for the current locale. Internally it uses the %X - version of the time from the strftime routine. - - PREFDATETIME - This token represents the date and time at which the message was - sent, according to the "Date" header field. It is the preferred date - and time representation for the current locale. Internally it uses - the %c version of the time from the strftime routine. - - DAY - This token represents the day of the month on which the message was - sent, according to the "Date" header field. For example, "23" or "9". - - DAY2DIGIT - This token represents the day of the month on which the message was - sent, according to the "Date" header field. For example, "23" or - "09". It is always 2 digits. - - DAYORDINAL - This token represents the ordinal number which is the day of the - month on which the message was sent, according to the "Date" header - field. For example, "23rd" or "9th". - - DAYOFWEEK - This token represents the day of the week on which the message was - sent, according to the "Date" header field. For example, "Sunday" or - "Wednesday". - - DAYOFWEEKABBREV - This token represents the day of the week on which the message was - sent, according to the "Date" header field. For example, "Sun" or - "Wed". - - MONTHABBREV - This token represents the month the message was sent, according to - the "Date" header field. For example, "Oct". - - MONTHLONG - This token represents the month in which the message was sent, - according to the "Date" header field. For example, "October". - - MONTH - This token represents the month in which the message was sent, - according to the "Date" header field. For example, "10" or "9". - - MONTH2DIGIT - This token represents the month in which the message was sent, - according to the "Date" header field. For example, "10" or "09". It - is always 2 digits. - - YEAR - This token represents the year the message was sent, according to the - "Date" header field. For example, "1998" or "2001". - - YEAR2DIGIT - This token represents the year the message was sent, according to the - "Date" header field. For example, "98" or "01". It is always 2 - digits. - - TIME24 - This token represents the time at which the message was sent, - according to the "Date" header field. There is no adjustment made for - different time zones, so you'll get the time the message was sent - according to the time zone the sender was in. It has the format - HH:MM. For example, "17:28". - - TIME12 - This token represents the time at which the message was sent, - according to the "Date" header field. This time is for a 12 hour - clock. It has the format HH:MMpm. For example, "5:28pm" or "11:13am". - - TIMEZONE - This token represents the numeric timezone from the "Date" header - field. It has the format [+-]HHMM. For example, "-0800". - - _Tokens Available Only for Index-Format_ - - MSGNO - This token represents the message's current position in the folder - which, of course, may change as the folder is sorted or new mail - arrives. - - STATUS - This token represents a three character wide field displaying various - aspects of the message's state. The first character is either blank, - a '*' for message marked Important, or a '+' indicating a message - addressed directly to you (as opposed to your having received it via - a mailing list, for example). When the feature mark-for-cc is set, if - the first character would have been blank then it will instead be a - '-' if the message is cc'd to you. The second character is typically - blank, though the arrow cursor may occupy it if either the - assume-slow-link or the force-arrow-cursor feature is set (or you - actually are on a slow link). The third character is either D - (Deleted), A (Answered), N (New), or blank. - - If you are using a threaded view of the index and this message is at - the top of a collapsed portion of a thread, then this token refers to - all of the messages in the collapsed portion of the thread instead of - just the top message. The first character will be a '*' if _any_ of - the messages in the thread are marked Important, else a '+' if any of - the messages are addressed to you, else a '-' if any of the messages - are cc'd to you. The third character will be a 'D' if _all_ of the - messages in the collapsed thread are marked deleted, an 'A' if _all_ - of the messages in the collapsed thread are marked answered, it will - be an 'N' if any of the messages are undeleted and unseen, and it - will be blank otherwise. - - FULLSTATUS - This token represents a less abbreviated alternative to the "STATUS" - token. It is six characters wide. The first character is '+', '-', or - blank, the second blank, the third either '*' or blank, the fourth N - or blank, the fifth A or blank, and the sixth character is either D - or blank. - - If you are using a threaded view of the index and this message is at - the top of a collapsed portion of a thread, then this token refers to - all of the messages in the collapsed portion of the thread instead of - just the top message. The first character is '+', '-', or blank - depending on whether _any_ of the messages in the collapsed thread - are addressed to you or cc'd to you. The third character will be '*' - if any of the messages are marked Important. The fourth character - will be 'N' if all of the messages in the thread are New, else 'n' if - some of the messages in the thread are New, else blank. The fifth - character will be 'A' or 'a' or blank, and the sixth character will - be 'D' or 'd' or blank. - - IMAPSTATUS - This token represents an even less abbreviated alternative to the - "STATUS" token. It differs from "FULLSTATUS" in only the fourth - character which is an 'N' if the message is new to this folder since - the last time it was opened _and_ it has not been viewed, an 'R' - (Recent) if the message is new to the folder and has been viewed, a - 'U' (Unseen) if the message is not new to the folder since it was - last opened _but_ has not been viewed, or a blank if the message has - been in the folder since it was last opened and has been viewed. - - If you are using a threaded view of the index and this message is at - the top of a collapsed portion of a thread, then the fourth character - will be 'N' if all of the messages in the thread are unseen and - recent; else 'n' if some of the messages in the thread are unseen and - recent; else 'U' if all of the messages in the thread are unseen and - not recent; else 'u' if some of the messages in the thread are unseen - and not recent; else 'R' if all of the messages in the thread are - seen and recent; else 'r' if some of the messages in the thread are - seen and recent; else blank. - - SHORTIMAPSTATUS - This is the same as the last four of the six characters of - IMAPSTATUS, so the '+' To Me information will be missing. - - SIZE - This token represents the total size, in bytes, of the message. If a - "K" (Kilobyte) follows the number, the size is approximately 1,000 - times that many bytes (rounded to the nearest 1,000). If an "M" - (Megabyte) follows the number, the size is approximately 1,000,000 - times that many bytes. Commas are not used in this field. This field - is seven characters wide, including the enclosing parentheses. Sizes - are rounded when "K" or "M" is present. The progression of sizes used - looks like: - - 0 1 ... 9999 10K ... 999K 1.0M ... 99.9M 100M ... 2000M - - SIZECOMMA - This token represents the total size, in bytes, of the message. If a - "K" (Kilobyte) follows the number, the size is approximately 1,000 - times that many bytes (rounded to the nearest 1,000). If an "M" - (Megabyte) follows the number, the size is approximately 1,000,000 - times that many bytes. Commas are used if the number shown is 1,000 - or greater. The SIZECOMMA field is one character wider than the SIZE - field. Sizes are rounded when "K" or "M" is present. The progression - of sizes used looks like: - - 0 1 ... 99,999 100K ... 9,999K 10.0M ... 999.9M 1,000M ... 2,000M - - KSIZE - This token represents the total size of the message, expressed in - kilobytes or megabytes, as most appropriate. These are 1,024 byte - kilobytes and 1,024 x 1,024 byte megabytes. The progression of sizes - used looks like: - - 0K 1K ... 1023K 1.0M ... 99.9M 100M ... 2047M - - SIZENARROW - This token represents the total size, in bytes, of the message. If a - "K" (Kilobyte) follows the number, the size is approximately 1,000 - times that many bytes. If an "M" (Megabyte) follows the number, the - size is approximately 1,000,000 times that many bytes. If a "G" - (Gigabyte) follows the number, the size is approximately - 1,000,000,000 times that many bytes. This field uses only five - characters of screen width, including the enclosing parentheses. The - progression of sizes used looks like: - - 0 1 ... 999 1K ... 99K .1M ... .9M 1M ... 99M .1G ... .9G 1G 2G - - DESCRIPSIZE - This token is intended to represent a more useful description of the - message than just its size, but it isn't very useful at this point. - The plus sign in this view means there are attachments. Note that - including this token in the "Index-Format" could slow down the - display a little while _Alpine_ collects the necessary information. - - SUBJKEY - This token is the same as the SUBJECT token unless keywords are set - for the message. In that case, a list of keywords enclosed in braces - will be prepended to the subject of the message. Only those keywords - that you have defined in your Keywords option in Setup/Config are - considered in the list. In other words, keywords that have been set - by some other means, perhaps by another email program, won't show up - unless included in Keywords. Having this set in the Index-Format will - also cause the keywords to be prepended to the subject in the MESSAGE - TEXT screen. If you have given a keyword a nickname (keywords), that - nickname is displayed instead of the actual keyword. The - keyword-surrounding-chars option may be used to modify this token - slightly. It is also possible to color keywords in the index using - the Setup/Kolor screen. - - SUBJKEYINIT - This token is the same as the SUBJKEY token except that instead of - prepending a list of keywords to the subject, a list of first - initials of keywords will be prepended instead. For example, if a - message has the keywords _Work_ and _Now_ set (or Work and Now are - the _Alpine_ nicknames of keywords which are set) then the SUBJKEY - token would cause a result like - - {Work Now} actual subject - - whereas the SUBJKEYINIT token would give - - {WN} actual subject - - Only those keywords that you have defined in your Keywords option in - Setup/Config are considered in the list. In other words, keywords - that have been set by some other means, perhaps by another email - program, won't show up unless included in Keywords. The - keyword-surrounding-chars option may be used to modify this token - slightly. It is also possible to color keywords in the index using - the Setup/Kolor screen. - - SUBJECTTEXT - Same as SUBJECT but if there is room in the Subject field for more - text, the opening part of the text of the message is displayed after - the subject. The time needed to fetch the text may cause a - performance problem which can, of course, be avoided by using the - SUBJECT version of the Subject instead. You may color this opening - text differently by using the Index Opening Color option available - from the Setup Kolor screen. You may adjust the characters that are - displayed between the Subject and the opening text with the option - Opening-Text-Separator-Chars. - - SUBJKEYTEXT - Same as SUBJKEY but with the opening message text. - - SUBJKEYINITTEXT - Same as SUBJKEYINIT but with the opening message text. - - OPENINGTEXT - This is similar to SUBJECTTEXT. Instead of combining the Subject and - the opening text in a single field in the index screen this token - allows you to allocate a separate column just for the opening text of - the message. The time needed to fetch this text may cause a - performance problem. You may color this opening text differently by - using the Index Opening Color option available from the Setup Kolor - screen. - - OPENINGTEXTNQ - This is very similar to OPENINGTEXT. The NQ stands for No Quotes. The - only difference is that quoted text (lines beginning with >) is - deleted. For some messages this may be confusing. For example, a - message might have a line preceding some quoted text that reads - something like "On May 8th person A said." That no longer makes sense - after the quoted text is deleted and it will appear that person A - said whatever the text after the quote is, even though that is really - person B talking. - - KEY - This is a space-delimited list of keywords that are set for the - message. Only those keywords that you have defined in your Keywords - option in Setup/Config are considered in the list. In other words, - keywords that have been set by some other means, perhaps by another - email program, won't show up unless included in Keywords. If you have - given a keyword a nickname that nickname is displayed instead of the - actual keyword. It is also possible to color keywords in the index - using the Setup/Kolor screen. This token defaults to an arbitrary - width of 5. You should set it to whatever width suits you using - something like KEY(17) in the Index-Format. - - KEYINIT - This is a list of keyword initials that are set for the message. If - you have given a keyword a nickname the initial of that nickname is - displayed instead of the initial of the actual keyword. It is also - possible to color keyword initials in the index using the Setup/Kolor - screen. This token defaults to an arbitrary width of 2. You should - set it to whatever width suits you using something like KEYINIT(3) in - the Index-Format. - - PRIORITY - The X-Priority header is a non-standard header that is used in a - somewhat standard way by many mail programs. _Alpine_ expects the - value of this header to be a digit with a value from 1 to 5, with 1 - being the highest priority and 5 the lowest priority. Since this - priority is something that the sender sets it is only an indication - of the priority that the sender attaches to the mail and it is - therefore almost totally unreliable for use as a filtering criterion. - This token will display the numeric value of the priority if it is - between 1 and 5. It will be suppressed (blank) if the value is 3, - which is normal priority. It is also possible to set the color of the - PRIORITY field. By default the token is colored the same as the index - line it is part of. You may set it to be another color with the Index - Priority Colors options available from the Setup Kolor screen. - - PRIORITYALPHA - This is a more verbose interpretation of the X-Priority field. Once - again nothing is displayed unless the value of the field is 1, 2, 4, - or 5. The values displayed for those values are: - - 1 Highest - 2 High - 4 Low - 5 Lowest - - You may color this token with the Index Priority Colors options. - - PRIORITY! - This is a one character, non-numeric version of the X-Priority field. - If the value of the X-Priority header is 1 or 2 an exclamation point - is displayed. If the value is 4 or 5 a "v" (think down arrow) is - displayed. You may color this token with the Index Priority Colors - options. - - ATT - This is a one column wide field which represents the number of - attachments a message has. It will be blank if there are no - attachments, a single digit for one to nine attachments, or an - asterisk for more than nine. Note that including this token in the - "Index-Format" could slow down the display a little while _Alpine_ - collects the necessary information. - - FROMORTO - This token represents _either_ the personal name (or email address) - of the person listed in the message's "From:" header field, _or_, if - that address is yours or one of your alternate addresses, the first - person specified in the message's "To:" header field with the prefix - "To: " prepended. If the from address is yours and there is also no - "To" address, _Alpine_ will use the address on the "Cc" line. If - there is no address there, either, _Alpine_ will look for a newsgroup - name from the "Newsgroups" header field and put that after the "To: " - prefix. - - FROMORTONOTNEWS - This is almost the same as _FROMORTO_. The difference is that - newsgroups aren't considered. When a message is from you, doesn't - have a To or Cc, and does have a Newsgroups header; this token will - be your name instead of the name of the newsgroup (like it would be - with FROMORTO). - - TEXT - This is a different sort of token. It allows you to display a label - within each index line. It will be the same fixed text for each line. - It is different from all the other tokens in that there is no space - column displayed after this token. Instead, it is butted up against - the following field. It also has a different syntax. The text to - display is given following a colon after the word "TEXT". For - example, - - TEXT:abc= - - would insert the literal text "abc=" (without the quotes) into the - index display line. You must quote the text if it includes space - characters, like - - TEXT:"abc = " - - HEADER - This allows you to display the text from a particular header line in - the message. The syntax for this token is substantially different - from all the others in order that you might be able to display a - portion of the text following a particular header. The header name - you are interested in is given following a colon after the word - "HEADER". For example, - - HEADER:X-Spam - - would display the text of the X-Spam header, if any. Like for other - index tokens a width field may (and probably should) follow this. - - HEADER:X-Spam(10) - - displays the first ten characters of the X-Spam header. Unlike other - index tokens, the syntax for HEADER is more flexible. An optional - second argument comes after a comma inside the parentheses. It - specifies the "field" number. By default, the field separator is a - space character. No extra space characters are allowed in the - argument list. - - HEADER:X-Spam(10,2) - - would display the second field, left-justified, in a 10 character - wide field. The second field would consist of all the text after the - first space up to the next space or the end of the header. The - default field number is zero, which stands for the entire line. There - is also an optional third argument which is a list of field - separators. It defaults to a space character. The example - - HEADER:X-Spam(10,2,:% ) - - would cause the field separators to be any of colon, percent, or - space (there is a space character between the percent and the right - parenthesis). The first field runs from the start of the header value - up to the first colon, percent, or space; the second goes from there - to the next; and so on. In order to use a comma character as a field - separator you must escape it by preceding it with a backslash (\). - The same is true of the backslash character itself. There is one - further optional argument. It is an R or an L to specify right or - left adjustment of the text within the field. The default is to left - justify, however if you are displaying numbers you might prefer to - right justify. - - Here's an example of a SpamAssassin header. The exact look of the - header will vary, but if your incoming mail contains headers that - look like the following - -X-Spam-Status: Yes, hits=10.6 tagged_above=-999.0 required=7.0 tests=BAYE... - - you might want to display the hits value. The first field starts with - the Y in Yes. To get what you're interested in you might use "=" and - space as the field separators and display the third field, like - - HEADER:X-Spam-Status(4,3,= ) - - or maybe you would break at the dot instead - - HEADER:X-Spam-Status(2,2,=.,R) - - Another example we've seen has headers that look like - - X-Spam: Gauge=IIIIIII, Probability=7%, Report=... - - Because there are two equals and a comma before the 7% and a comma - after it, the token - - HEADER:X-Spam-Status(3,4,=\,,R) - - should display the probability (for example 7% or 83%) right - justified in a 3-wide field. - - ARROW - This gives an alternative way to display the current message in the - MESSAGE INDEX screen. Usually the current message is indicated by the - line being shown in reverse video. Instead, if the ARROW token is - included in your Index-Format, the current line will include an - "arrow" that looks like - - -> - - in the ARROW token's field. For all of the non-current messages, the - ARROW field will be filled with blanks. If you use the fixed-field - width feature the length of the "arrow" may be adjusted. The arrow - will be drawn as width-1 dashes followed by a greater than sign. For - example, if you use ARROW(3) you will get - - --> - - and ARROW(1) will give you just - - > - - It is also possible to set the color of the ARROW field. By default - (and for non-current messages) the arrow is colored the same as the - index line it is part of. You may set it to be another color with the - Index Arrow Color option available from the Setup Kolor screen. - - SCORE - This gives the score of each message. This will be six columns wide - to accomodate the widest possible score. You will probably want to - use the Index-Format fixed-field width feature to limit the width of - the field to the widest score that you use (e.g. SCORE(3) if your - scores are always between 0 and 999). If you have not defined any - score rules the scores will all be zero. If any of your score rules - contain AllText or BodyText patterns then including SCORE in the - Index-Format may slow down the display of the MESSAGE INDEX screen. - - _Tokens Available for all but Index-Format_ - - CURNEWS - This token represents the current newsgroup if there is one. For - example, "comp.mail.pine". - - MSGID - This token represents the message ID of the message. This token does - not work with Filter Rule folder names. - - CURDATE - This token represents the current date. It has the format MMM DD. For - example, "Oct 23". - - CURDATEISO - This token represents the current date. It has the format YYYY-MM-DD. - For example, "1998-10-23". - - CURDATEISOS - This token represents the current date. It has the format YY-MM-DD. - For example, "98-10-23". - - CURPREFDATE - This token represents the current date. It is your operating system's - idea of the preferred date representation for the current locale. - Internally it uses the %x version of the date from the strftime - routine. - - CURPREFTIME - This token represents the current time. It is the preferred time - representation for the current locale. Internally it uses the %X - version of the time from the strftime routine. - - CURPREFDATETIME - This token represents the current date and time. It is the preferred - date and time representation for the current locale. Internally it - uses the %c version of the time from the strftime routine. - - CURTIME24 - This token represents the current time. It has the format HH:MM. For - example, "17:28". - - CURTIME12 - This token represents the current time. This time is for a 12 hour - clock. It has the format HH:MMpm. For example, "5:28pm" or "11:13am". - - CURDAY - This token represents the current day of the month. For example, "23" - or "9". - - CURDAY2DIGIT - This token represents the current day of the month. For example, "23" - or "09". It is always 2 digits. - - CURDAYOFWEEK - This token represents the current day of the week. For example, - "Sunday" or "Wednesday". - - CURDAYOFWEEKABBREV - This token represents the current day of the week. For example, "Sun" - or "Wed". - - CURMONTH - This token represents the current month. For example, "10" or "9". - - CURMONTH2DIGIT - This token represents the current month. For example, "10" or "09". - It is always 2 digits. - - CURMONTHLONG - This token represents the current month. For example, "October". - - CURMONTHABBREV - This token represents the current month. For example, "Oct". - - CURYEAR - This token represents the current year. For example, "1998" or - "2001". - - CURYEAR2DIGIT - This token represents the current year. For example, "98" or "01". It - is always 2 digits. - - LASTMONTH - This token represents last month. For example, if this is November - (the 11th month), it is equal to "10" or if this is October (the 10th - month), it is "9". It is possible that this and the other tokens - beginning with LASTMONTH below could be useful when used with a - Filtering Rule that has the "Beginning of Month" option set. - - LASTMONTH2DIGIT - This token represents last month. For example, if this is November - (the 11th month), it is equal to "10" or if this is October (the 10th - month), it is "09". It is always 2 digits. - - LASTMONTHLONG - This token represents last month. For example, if this is November - the value is "October". - - LASTMONTHABBREV - This token represents last month. For example, if this is November - the value is "Oct". - - LASTMONTHYEAR - This token represents what the year was a month ago. For example, if - this is October, 1998, it is "1998". If this is January, 1998, it is - "1997". - - LASTMONTHYEAR2DIGIT - This token represents what the year was a month ago. For example, if - this is October, 1998, it is "98". If this is January, 1998, it is - "97". - - LASTYEAR - This token represents last year. For example, if this is 1998, it - equals "1997". It is possible that this could be useful when used - with a Filtering Rule that has the "Beginning of Year" option set. - - LASTYEAR2DIGIT - This token represents last year. For example, if this is 1998, it - equals "97". It is always 2 digits. - - ROLENICK - This token represents the nickname of the role currently being used. - If no role is being used, then no text will be printed for this - token. This token does not work with Filter Rule folder names. - - _Token Available Only for Reply-Leadin_ - - See the help for the Reply-Leadin option, to see why you might want to use - this. Since the _Reply-Leadin_ contains free text this token must be - surrounded by underscores when used. - - NEWLINE - This is an end of line marker. - - _Token Available Only for Templates and Signatures_ - - CURSORPOS - This token is different from the others. When it is replaced it is - replaced with nothing, but it sets a _Alpine_ internal variable which - tells the composer to start with the cursor positioned at the - position where this token was. If both the template file and the - signature file contain a "CURSORPOS" token, then the position in the - template file is used. If there is a template file and neither it nor - the signature file contains a "CURSORPOS" token, then the cursor is - positioned after the end of the contents of the template file when - the composer starts up. - -Conditional Inclusion of Text for Reply-Leadin, Signatures, and Templates - - Conditional text inclusion may be used with the Reply-Leadin option, in - signature files, and in template files used in roles. It may _not_ be used - with the _Index-Format_ option. - - There is a limited if-else capability for including text. The if-else - condition is based on whether or not a given token would result in - replacement text you specify. The syntax of this conditional inclusion is - - _token_(match_this, if_matched [ , if_not_matched ] ) - - The left parenthesis must follow the underscore immediately, with no - intervening space. It means the token is expanded and the results of that - expansion are compared against the "match_this" argument. If there is an - exact match, then the "if_matched" text is used as the replacement text. - Otherwise, the "if_not_matched" text is used. One of the most useful values - for the "match_this" argument is the empty string, "". In that case the - expansion is compared against the empty string. - - Here's an example to make it clearer. This text could be included in one of - your template files: - - _NEWS_("", "I'm replying to email","I'm replying to news") - - If that is included in a template file which you are using while replying to - a message (because you chose to use the role it was part of), and that - message has a newsgroup header and a newsgroup in that header, then the text - - I'm replying to news - - will be included in the message you are about to compose. On the other hand, - if the message you are replying to does not have a newsgroup, then the text - - I'm replying to email - - would be included instead. This would also work in signature files and in - the "Reply-Leadin" option. If the "match_this", "if_matched", or - "if_not_matched" arguments contain spaces, parentheses, or commas; they have - to be quoted with double quotation marks (like in the example above). If you - want to include a literal quote in the text you must escape the quote by - preceding it with a backslash character. If you want to include a literal - backslash character you must escape it by preceding it with another - backslash. - - The comma followed by "if_not_matched" is optional. If there is no - "if_not_matched" present then no text is included if the not_matched case is - true. Here's another example: - - _NEWS_("", "", "This msg was seen in group: _NEWS_.") - - Here you can see that tokens may appear in the arguments. The same is true - for tokens with the conditional parentheses. They may appear in arguments, - though you do have to be careful to get the quoting and escaping of nested - double quotes correct. If this was in the signature file being used and you - were replying to a message sent to comp.mail.pine the resulting text would - be: - - This msg was seen in group: comp.mail.pine. - - If you were replying to a message which wasn't sent to any newsgroup the - resulting text would be a single blank line. The reason you'd get a blank - line is because the end of the line is outside of the conditional, so is - always included. If you wanted to get rid of that blank line you could do so - by moving the end of line inside the conditional. In other words, it's ok to - have multi-line "if_matched" or "if_not_matched" arguments. The text just - continues until the next double quotation, even if it's not on the same - line. - - Here's one more (contrived) example illustrating a matching argument which - is not the empty string. - - _SMARTDATE_("Today", _SMARTDATE_, "On _DATE_") _FROM_ wrote: - - If this was the value of your "Reply-Leadin" option and you were replying to - a message which was sent today, then the value of the "Reply-Leadin" would - be - - Today Fred Flintstone wrote: - - But if you were replying to a message sent on Oct. 27 (and that wasn't - today) you would get - - On Oct 27 Fred Flintstone wrote: - -Per Server Directory Configuration - - This is only available if _Alpine_ was built with LDAP support. If that's - the case, there will be a Directory option underneath the Setup command on - the Main Menu. Each server that is defined there has several configuration - variables which control the behavior when using it. - _ldap-server_ - This is the name of the host where an LDAP server is running. - To find out whether your organization has its own LDAP server, - contact its computing support staff. - _search-base_ - This is the search base to be used on this server. It functions as a - filter by restricting your searches in the LDAP server database to - the specified contents of the specified fields. Without it, searches - submitted to this directory server may fail. It might be something - like: - O = <Your Organization Name>, C = US - or it might be blank. (Some LDAP servers actually ignore anything - specified here.) - If in doubt what parameters you should specify here, contact the - maintainers of the LDAP server. - _port_ - This is the TCP port number to be used with this LDAP server. If you - leave this blank port 389 will be used. - _nickname_ - This is a nickname to be used in displays. If you don't supply a - nickname the server name from "ldap-server" will be used instead. - This option is strictly for your convenience. - _use-implicitly-from-composer_ - Set this feature to have lookups done to this server implicitly from - the composer. If an address doesn't look like a fully-qualified - address, it will be looked up in your address books, and if it - doesn't match a nickname there, then it will be looked up on the LDAP - servers which have this feature set. The lookups will also be done - when using the address completion feature (TAB command) in the - composer if any of the serves have this feature set. Also see the - LDAP feature lookup-addrbook-contents and the Setup/Config feature - ldap-result-to-addrbook-add. - _lookup-addrbook-contents_ - Normally implicit LDAP lookups from the composer are done only for - the strings you type in from the composer screen. In other words, you - type in something in the To or CC field and press return, then the - string is looked up. First that string is looked up in your address - books. If a match is found there, then the results of that match are - looked up again. If you place a string in your address book that you - want to have looked up on the LDAP directory server, you need to turn - on this feature. If you set this feature for a server, you almost - always will also want to set the use-implicitly-from-composer - feature. An example might serve to best illustrate this feature. - If an LDAP lookup of "William Clinton" normally returns an entry with - an address of pres@whitehouse.gov, then you might put an entry in - your address book that looks like: - Nickname Address - bill "William Clinton" - Now, when you type "bill" into an address field in the composer - _Alpine_ will find the "bill" entry in your address book. It will - replace "bill" with "William Clinton". It will then search for an - entry with that nickname in your address book and not find one. If - this feature is set, _Alpine_ will then attempt to lookup "William - Clinton" on the LDAP server and find the entry with address - pres@whitehouse.gov. - A better way to accomplish the same thing is probably to use the - feature save-search-criteria-not-result. - _save-search-criteria-not-result_ - Normally when you save the results of an LDAP directory lookup to - your address book the _results_ of the lookup are saved. If this - feature is set and the entry being saved was found on this directory - server, then the search _criteria_ is saved instead of the _results_ - of the search. When this address book entry is used in the future, - instead of copying the results from the address book the directory - lookup will be done again. This could be useful if the copied result - might become stale because the data on the directory server changes - (for example, the entry's email address changes). You probably don't - want to set this feature if the server is at all slow or unreliable. - The way this actually works is that instead of saving the email - address in your address book, _Alpine_ saves enough information to - look up the same directory entry again. In particular, it saves the - server name and the distinguished name of the entry. It's possible - that the server administrators might change the format of - distinguished names on the server, or that the entry might be removed - from the server. If _Alpine_ notices this, you will be warned and a - backup copy of the email address will be used. You may want to create - a new entry in this case, since you will get the annoying warning - every time you use the old entry. You may do that by Saving the entry - to a new nickname in the same address book. You will be asked whether - or not you want to use the backup email address. - A related feature in the Setup/Config screen is - ldap-result-to-addrbook-add. - _disable-ad-hoc-space-substitution_ - Spaces in your input are normally handled specially. Each space - character is replaced by - * <SPACE> - in the search query (but not by "* <SPACE> *"). The reason this is - done is so the input string - Greg Donald - (which is converted to "Greg* Donald") will match the names "Greg - Donald", "Gregory Donald", "Greg F. Donald", and "Gregory F Donald"; - but it won't match "Greg McDonald". If the "Search-Rule" you were - using was "begins-with", then it would also match the name "Greg - Donaldson". - Turning on this feature will disable this substitution. - _search-type_ - This affects the way that LDAP searches are done. In particular, this - tells the server where to look for the string to be matched. If set - to "name" then the string that is being searched for will be compared - with the string in the "Name" field on the server (technically, it is - the "commonname" field on the server). "Surname" means we're looking - for a match in the "Surname" field on the server (actually the "sn" - field). "Givenname" really is "givenname" and "email" is the - electronic mail address (this is actually the field called "mail" or - "electronicmail" on the server). The other three types are - combinations of the types listed so far. "Name-or-email" means the - string should appear in either the "name" field OR the "email" field. - Likewise, "surname-or-givenname" means "surname" OR "givenname" and - "sur-or-given-or-name-or-email" means the obvious thing. - This search _type_ is combined with the search rule to form the - actual search query. - The usual default value for this option is - "sur-or-given-or-name-or-email". This type of search may be slow on - some servers. Try "name-or-email", which is often faster, or just - "name" if the performance seems to be a problem. - Some servers have been configured with different attribute names for - these four fields. In other words, instead of using the attribute - name "mail" for the email address field, the server might be - configured to use something else, for example, "rfc822mail" or - "internetemailaddress". _Alpine_ can be configured to use these - different attribute names by using the four per-server configuration - options: - + email-attribute - + name-attribute - + surname-attribute - + givenname-attribute - _search-rule_ - This affects the way that LDAP searches are done. If set to "equals" - then only exact matches count. "Contains" means that the string you - type in is a substring of what you are matching against. - "Begins-with" and "ends-with" mean that the string starts or ends - with the string you type in. - Spaces in your input are normally handled specially, but you can turn - that special handling off with the disable-ad-hoc-space-substitution - feature. - The usual default value for this option is _begins-with_. - _email-attribute_ - This is the name of the attribute which is searched for when looking - for an email address. The default value for this option is "mail" or - "electronicmail". If the server you are using uses a different - attribute name for the email address, put that attribute name here. - This will affect the search filter used if your Search-Type is one - that contains a search for "email". It will also cause the attribute - value matching this attribute name to be used as the email address - when you look up an entry from the composer. - _name-attribute_ - This is the name of the attribute which is searched for when looking - for the name of the entry. The default value for this option is "cn", - which stands for common name. If the server you are using uses a - different attribute name for the name, put that attribute name here. - This will affect the search filter used if your Search-Type is one - that contains a search for "name". - _surname-attribute_ - This is the name of the attribute which is searched for when looking - for the surname of the entry. The default value for this option is - "sn". If the server you are using uses a different attribute name for - the surname, put that attribute name here. This will affect the - search filter used if your Search-Type is one that contains a search - for "surname". - _givenname-attribute_ - This is the name of the attribute which is searched for when looking - for the given name of the entry. The default value for this option is - "givenname". If the server you are using uses a different attribute - name for the given name, put that attribute name here. This will - affect the search filter used if your Search-Type is one that - contains a search for "givenname". - _timelimit_ - This places a limit on the number of seconds the LDAP search will - continue. The default is 30 seconds. A value of 0 means no limit. - Note that some servers may place limits of their own on searches. - _sizelimit_ - This places a limit on the number of entries returned by the LDAP - server. A value of 0 means no limit. The default is 0. Note that some - servers may place limits of their own on searches. - _custom-search-filter_ - This one is for advanced users only! If you define this, then the - search-type and search-rule defined are both ignored. However, the - feature disable-ad-hoc-space-substitution is still in effect. That - is, the space substitution will take place even in a custom filter - unless you disable it. - If your LDAP service stops working and you suspect it might be - because of your custom filter, just delete this filter and try using - the _search-type_ and _search-rule_ instead. Another option that - sometimes causes trouble is the search-base option. - This variable may be set to the string representation of an LDAP - search filter (see RFC1960). In the places where you want the address - string to be substituted in, put a '%s' in this filter string. Here - are some examples: - A "Search-Type" of "name" with "Search-Rule" of "begins-with" is - equivalent to the "custom-search-filter" - (cn=%s*) - When you try to match against the string "string" the program - replaces the "%s" with "string" (without the quotes). You may have - multiple "%s"'s and they will all be replaced with the string. There - is a limit of 10 "%s"'s. - A "Search-Type" of "name-or-email" with "Search-Rule" of "contains" - is equivalent to - (|(cn=*%s*)(mail=*%s*)) - If your server uses a different attribute _name_ than _Alpine_ uses - by default, (for example, it uses "rfc822mail" instead of "mail"), - then you may be able to use one or more of the four attribute - configuration options instead of defining a custom filter: - + email-attribute - + name-attribute - + surname-attribute - + givenname-attribute - -Color Configuration - - If the terminal or terminal emulator you are using is capable of using color - (see color-style option), or if you are using _PC-Alpine_, then it is - possible to set up _Alpine_ so that various parts of the display will be - shown in colors you configure. This is done using the Setup Color screen. - The Setup Color screen is divided into five broad sections: Options, General - Colors, Index Colors, Header Colors, and Keyword Colors. In addition to - these five categories you may also color lines in the MESSAGE INDEX screen - by configuring the Index Line Color. - - Each color is defined as a foreground color (the color of the actual text) - and a background color (the color of the area behind the text). - - Color Options - - _current-indexline-style_ - This option affects the colors used to display the current line in - the MESSAGE INDEX screen. If you do not have Index Line Colors - defined, then this option will have no effect in the index. Those - Rules may be defined by going to the Setup/Rules/Indexcolor screen. - - If the option enable-incoming-folders-checking is turned on and the - Incoming Unseen Color is set to something other than the default, - then this option also affects the color used to display the current - folder in the Incoming FOLDER LIST screen. - - The available options include: - - flip-colors - This is the default. If an index line is colored because it - matches one of your Index Color Rules, then its colors will be - reversed when it is the currently highlighted line. For - example, if the line is normally red text on a blue background, - then when it is the current line it will be drawn as blue text - on a red background. - - The rest of the option values all revert to this flip-colors - behavior if there is no Reverse Color defined. - - reverse - With this option the Reverse color is always used to highlight - the current line. - - reverse-fg - The foreground part of the Reverse Color is used to highlight - the current line. If this would cause the text to be unreadable - (because the foreground and background colors are the same) or - if it would cause no change in the color of the index line, - then the colors are flipped instead. - - Some people think this works particularly well if you use - different background colors to emphasize "interesting" lines, - but always with the same Normal foreground color, and you use a - different foreground color for the Reverse Color. - - reverse-fg-no-ambiguity - With the "reverse-fg" rule above, it is possible that the - resulting color will be exactly the same as the regular Reverse - Color. That can lead to some possible confusion because an - "interesting" line which is the current line will be displayed - exactly the same as a non-interesting line which is current. - You can't tell whether the line is just a regular current line - or if it is an "interesting" current line by looking at the - color. Setting the option to this value removes that ambiguity. - It is the same as the "reverse-fg" setting unless the resulting - interesting current line would look just like a non-interesting - current line. In that case, the interesting line's colors are - simply flipped (like in the default behavior). - - As an alternative way to preserve the line's interestingness in - this case, you may find that using both a different foreground - and a different background color for the interesting line will - help. - - reverse-bg - The background part of the Reverse Color is used to highlight - the current line. If this would cause the text to be unreadable - (because the foreground and background colors are the same) or - if it would cause no change in the color of the index line, - then the colors are flipped instead. - - Some people think this works particularly well if you use - different foreground colors to emphasize "interesting" lines, - but always with the same Normal background color, and you use a - different background color for the Reverse Color. - - reverse-bg-no-ambiguity - As with the "reverse-fg" case, the "reverse-bg" rule may also - result in a color which is exactly the same as the regular - Reverse Color. Setting the option to this value removes that - ambiguity. It is the same as the "reverse-bg" setting unless - the resulting current line has the same color as the Reverse - Color. In that case, the interesting line's colors are simply - flipped (like in the default behavior). - - _titlebar-color-style_ - This option affects the colors used to display the titlebar (the top - line on the screen) when viewing a message. - - The available options include: - - default - The color of the titlebar will be the color you set for the - Title Color. The Title Color may be set by using the - - indexline - The color of the titlebar will be the same as the color of the - index line corresponding to the message being viewed. The rules - which determine what color the index line will be may be set up - by going to the Setup/Rules/Indexcolor screen. If the index - line for a message is not colored explicitly by the Indexcolor - rules, then the titlebar will be colored the same as for the - "default" option above (which is not the same color that the - index line itself will have). - - reverse-indexline - This is similar to the "indexline" option except the foreground - and background colors from the corresponding index line will be - reversed. For example, if the index line color is red letters - on a white background, then the titlebar will be white letters - on a red background. If the index line for a message is not - colored explicitly by the Indexcolor rules, then the titlebar - will be colored the same as for the "default" option above - (which is not the same color that the index line itself will - have). - - General Colors - - _Normal Color_ - This is the color which most of the screen is painted in. By default - this color is black characters on a white background. - _Reverse Color_ - The color _Alpine_ uses for reverse video characters. Actually, the - name is misleading. This used to be reverse video and so the name - remains. It is still used to highlight certain parts of the screen - but the color may be set to whatever you'd like. - _Title Color_ - The color _Alpine_ uses for the titlebar (the top line on the - screen). By default, the Title Color is black characters on a yellow - background. The actual titlebar color may be different from the Title - Color if the option titlebar-color-style is set to some value other - than the default. It may also be different if the current folder is - closed and the Title Closed Color is set to something different from - the Title Color. - _Title-closed Color_ - The color _Alpine_ uses for the titlebar (the top line on the screen) - when the current folder is closed. By default, the Title Color Closed - Color is white characters on a red background. - _Status Color_ - The color _Alpine_ uses for messages written to the status message - line near the bottom of the screen. By default, the Status Color is - the same as the Reverse Color. - _KeyLabel Color_ - The color _Alpine_ uses for the labels of the commands in the - two-line menu at the bottom of the screen. The label is the long - name, for example, "PrevMsg". By default, the KeyLabel Color is the - same as the Normal Color. - WARNING: Some terminal emulators have the property that the screen - will scroll down one line whenever a character is written to the - character cell in the lower right corner of the screen. _Alpine_ can - usually avoid writing a character in that corner of the screen. - However, if you have defined a KeyLabel Color then _Alpine_ does have - to write a character in that cell in order to color the cell - correctly. If you find that your display sometimes scrolls up a line - this could be the problem. The most obvious symptom is probably that - the titlebar at the top of the screen scrolls off the screen. Try - setting KeyLabel Color to Default to see if that fixes the problem. - _KeyName Color_ - The color _Alpine_ uses for the names of the commands in the two-line - menu at the bottom of the screen. The KeyName is the shorter name in - the menu. For example, the "W" before the "WhereIs". By default, the - KeyName Color is the same as the Normal Color. - _Selectable-item Color_ - The color _Alpine_ uses for displaying selectable items, such as - URLs. By default, the Selectable-item Color is the same as the Normal - Color, except it is also Bold. - _Meta-message Color_ - The color _Alpine_ uses in the MESSAGE TEXT screen for messages to - you that aren't part of the message itself. By default, the - Meta-Message Color is black characters on a yellow background. - _Quote Colors_ - The colors _Alpine_ uses for coloring quoted text in the MESSAGE TEXT - screen. If a line begins with a > character (or space followed by >) - it is considered a quote. That line will be given the Quote1 Color - (first level quote). If there is a second level of quoting then the - Quote2 Color will be used. _Alpine_ considers there to be a second - level of quoting if that first > is followed by another > (or space - followed by >). If there are characters other than whitespace and > - signs, then it isn't considered another level of quoting. Similarly, - if there is a third level of quoting the Quote3 Color will be used. - If there are more levels after that the Quote Colors are reused. If - you define all three colors then it would repeat like Color1, Color2, - Color3, Color1, Color2, Color3, ... If you only define the first two - it would be Color1, Color2, Color1, Color2, ... If you define only - the Quote1 Color, then the entire quote would be that color - regardless of the quoting levels. By default, the Quote1 Color is - black characters on a greenish-blue background; the Quote2 Color is - black characters on a dull yellow background; and the Quote3 Color is - black characters on a green background. - _Incoming Unseen Color_ - If the option enable-incoming-folders-checking is turned on it is - possible to highlight the folders that contain unseen messages by - coloring them with this color. By default, this is the same as the - Normal Color and no highlighting is done. - Usually the "current" folder (the folder the cursor is on) is - highlighted using reverse video. If the current folder is colored - because it contains unseen messages then the color used to show that - it is also the current folder is controlled by the - current-indexline-style feature at the top of the SETUP COLOR screen. - _Signature Color_ - The color _Alpine_ uses for coloring the signature in the MESSAGE - TEXT screen. According to USENET conventions, the signature is - defined as the paragraph following the "sigdashes", that is, the - special line consisting of the three characters "-- " (i.e., dash, - dash, and space). _Alpine_ allows for one empty line right after the - sigdashes to be considered as part of the signature. By default, the - Signature Color is blue characters on a white background. - _Prompt Color_ - The color _Alpine_ uses for confirmation prompts and questions which - appear in the status message line near the bottom of the screen. By - default, the Prompt Color is the same as the Reverse Color. - - Index Colors - - You may add color to the single character symbols which give the status of - each message in the MESSAGE INDEX. By default the characters "+", "*", "D", - "A", and "N" show up near the left hand side of the screen, depending on - whether the message is addressed to you, and whether the message is marked - Important, is Deleted, is Answered, or is New. You may set the color of - those symbols. By default, all of these symbols are drawn with the same - color as the rest of the index line they are a part of. - - Besides coloring the message status symbols, you may also color the entire - index line. This is done by using the Index Line Color configuration screen. - It is also possible to color (keywords in the index using the Setup/Kolor - screen (Keyword Colors); the ARROW cursor; the Subject using Index Subject - Color; the From using Index From Color; and the Index Opening text. - - _Index-to-me Symbol Color_ - The color used for drawing the "+" symbol which signifies a message - is addressed directly to you. - _Index-important Symbol Color_ - The color used for drawing the "*" symbol which signifies a message - has been flagged Important. - _Index-deleted Symbol Color_ - The color used for drawing the "D" symbol which signifies a message - has been marked Deleted. - _Index-answered Symbol Color_ - The color used for drawing the "A" symbol which signifies a message - has been answered. - _Index-new Symbol Color_ - The color used for drawing the "N" symbol which signifies a message - is New. - _Index-recent Symbol Color_ - The color used for drawing the "R" symbol which signifies a message - is Recent (only visible if the "IMAPSTATUS" or "SHORTIMAPSTATUS" - token is part of the index-format option). - _Index-unseen Symbol Color_ - The color used for drawing the "U" symbol which signifies a message - is Unseen (only visible if the "IMAPSTATUS" or "SHORTIMAPSTATUS" - token is part of the Index-Format option). - _Index-priority Symbol Colors_ - The colors used for drawing the tokens "PRIORITY", "PRIORITYALPHA", - and "PRIORITY!" when these are configured as part of the Index-Format - option. You may set the color used to draw these tokens by use of the - colors Index High Priority Symbol Color and Index Low Priority Symbol - Color. This coloring takes place for all but the current index line, - and the Priority Color appears to be in front of any color from an - Index Color Rule. If the priority has a value of 1 or 2 the High - Priority color will be used, and if the value is 4 or 5 the Low - Priority color will be used. - If you don't set these colors the index line will be colored in the - same color as the bulk of the index line. - _Index-arrow Symbol Color_ - The color used for drawing the "ARROW" token when it is configured as - part of the Index-Format option. - _Index-subject Symbol Color_ - You may set the color used to draw the Subject part of the index - line. This coloring takes place for all but the current index line, - and the Subject Color appears to be in front of any color from an - Index Color Rule. - If you don't set this color it will be colored in the same color as - the bulk of the index line. - _Index-from Symbol Color_ - You may set the color used to draw the From part of the index line. - This coloring takes place for all but the current index line, and the - From Color appears to be in front of any color from an Index Color - Rule. - If you don't set this color it will be colored in the same color as - the bulk of the index line. - _Index-opening Symbol Color_ - It is possible to configure the Index-Format option so that it - includes the subject followed by the "opening" text of the message if - there is enough space. This is done by using one of the tokens - SUBJECTTEXT, SUBJKEYTEXT, or SUBJKEYINITTEXT. The color used for - drawing this opening text is given by this option. The coloring - happens for all but the current index line, and this opening color - appears to be in front of any color from an Index Color Rule. - By default the Index Opening Color is gray characters on a white - background. - - The default colors for these symbols are: - - Index-to-me black on cyan - Index-important white on bright red - Index-deleted same as Normal Color - Index-answered bright red on yellow - Index-new white on magenta - Index-recent same as Normal Color - Index-unseen same as Normal Color - - Header Colors - - You may add color to the header fields in the MESSAGE TEXT screen. The - - _Header-general Color_ - may be used to color all of the headers of the message. - - It is also possible to set the colors for specific header fields, for - example for the Subject or From fields, using the viewer-hdr-colors option. - - For Header Colors, there is an additional line on the configuration screen - labeled "Pattern to match". If you leave that blank, then the whole field - for that header will always be colored. However, if you give a pattern to - match, the coloring will only take place if there is a match for that - pattern in the value of the field. For example, if you are working on a - color for the Subject header and you fill in a pattern of "important", then - only Subjects which contain the word "important" will be colored. For - address fields like From or To, a pattern match will cause only the - addresses which match the pattern to be colored. - - If the pattern you enter is a comma-separated list of patterns, then - coloring happens if any of those patterns matches. - - Keyword Colors - - Sets the colors _Alpine_ uses for Keyword fields in the MESSAGE INDEX - screen. Keywords may be displayed as part of the Subject of a message by - using the "SUBJKEY" or "SUBJKEYINIT" tokens in the Index-Format option. - Keywords may also be displayed in a column of their own in the MESSAGE INDEX - screen by using the "KEY" or "KEYINIT" tokens. - - For example, you might have set up a Keyword "Work" using the Keywords - option in the Setup/Config screen. You could cause that Keyword to show up - as a special color by setting up the Keyword Color using this option, and - then including it in the MESSAGE INDEX screen using one of the tokens listed - above in the Index-Format. - - Index Line Colors - - You may color whole index lines by using roles. This isn't configured in the - Setup Colors screen, but is configured in the Setup Rules IndexColor screen. - -Index Line Color Configuration - - Index Line Color causes lines in the MESSAGE INDEX screen to be colored. - This action is only available if your terminal is capable of displaying - color and color display has been enabled with the Color-Style option. (In - PC-Alpine, color is always enabled so there is no option to turn on.) - - Each rule has a "Pattern", which is used to decide which of the rules is - used; and the color which is used if the Pattern matches a particular - message. - - Rule Patterns - - In order to determine whether or not a message matches a rule the message is - compared with the rule's Pattern. These Patterns are the same for use with - Roles, Filtering, Index Coloring, Scoring, Other Rules, and Search Rules, so - are described in only one place, "here". - - Index Line Color - - This is the color that index lines are colored when there is a matching - Pattern. This colors the whole index line, except possibly the status - letters which may be colored separately using the Setup Kolor screen. - -Role Configuration - - You may play different roles depending on who you are replying to. For - example, if you are replying to a message addressed to _help-desk_ you may - be acting as a Help Desk Worker. That role may require that you use a - different return address and/or a different signature. - - Roles are optional. If you set up roles they work like this: Each role has a - set of "Uses", which indicate whether or not a role is eligible to be - considered for a particular use; a "Pattern", which is used to decide which - of the eligible roles is used; and a set of "Actions", which are taken when - that role is used. When you reply to a message, the message you are replying - to is compared with the Patterns of the roles marked as eligible for use - when replying. The comparisons start with the first eligible role and keep - going until there is a match. If a match is found, the matching role's - Actions are taken. - - It is also possible to set a default role and to change that role during - your _Alpine_ session. When you start _Alpine_ no default role will be set. - You may set or change the current default role by using the "D" command in - the role selection screen. You'll see that screen while composing a message - and being asked to select a role. An easy way to get to that screen is to - use the Role Command to compose a message. You may find a default role - useful if you normally perform the duties of one of your roles for a while, - then you switch to another role and stay in the new role for another period - of time. It may be easier than using the Role Command to select the role - each time you compose a message. - - Role Uses - - There are three types of use to be configured; one for Replying, one for - Forwarding, and one for Composing. These indicate whether or not you want a - role to be considered when you type the Reply, Forward, or Compose commands. - (The Role command is an alternate form of the Compose command, and it is not - affected by these settings.) Each of these Use types has three possible - values. The value "Never" means that the role will never be considered as a - candidate for use with the corresponding command. For example, if you set a - role's Reply Use to Never, then when you Reply to a message, the role won't - even be considered. (That isn't quite true. If the message you are replying - to matches some other role which requires confirmation, then there will be a - ^T command available which allows you to select a role from all of your - roles, not just the reply-eligible roles.) - - The options "With confirmation" and "Without confirmation" both mean that - you do want to consider this role when using the corresponding command. For - either of these settings the role's Pattern will be checked to see if it - matches the message. For Reply Use, the message used to compare the Patterns - with is the message being replied to. For Forward Use, the message used to - compare the Pattern with is the message being forwarded. For Compose Use, - there is no message, so the parts of the Pattern which depend on a message - (everything other than Current Folder Type) are ignored. In all cases, the - Current Folder is checked if defined. If there is a match then this role - will either be used without confirmation or will be the default when - confirmation is asked for, depending on which of the two options is - selected. If confirmation is requested, you will have a chance to choose No - Role instead of the offered role, or to change the role to any one of your - other roles (with the ^T command). - - Role Patterns - - In order to determine whether or not a message matches a role the message is - compared with the Role Pattern. These Patterns are the same for use with - Roles, Filtering, Index Coloring, Scoring, Other Rules, and Search Rules, so - are described in only one place, "here". - - Since header patterns, AllText patterns, and BodyText patterns which are - unset are ignored, a role which has all header patterns unset, the AllText - pattern unset, the BodyText pattern unset, the Score Interval unset, and the - Current Folder Type set to "Any" may be used as a default role. It should be - put last in the list of roles since the matching starts at the beginning and - proceeds until one of the roles is a match. If no roles at all match, then - _Alpine_ will use its regular methods of defining the role. If you wanted to, - you could define a different "default" role for Replying, Forwarding, and - Composing by setting the "Use" fields appropriately. - - Role Actions - - Once a role match is found, the role's Actions are taken. For each role - there are several possible actions that may be defined. They are actions to - set the From address, the Reply-To address, the Fcc, the Signature file, and - the Template file. - - Initialize Settings Using Role - - This is a power user feature. You will usually want to leave this field - empty. The value of this field is the nickname of another one of your roles. - The Action values from that other role are used as the initial values of the - Action items for this role. If you put something in any of the action fields - for this role, that will override whatever was in the corresponding field of - the initializer role. - - You might use this field if the "Action" part of one of your roles is - something you want to use in more than one role. Instead of filling in those - action values again for each role, you may give the nickname of the role - where the values are filled in. It's just a shortcut way to define Role - Actions. - - Here's an example to help explain how this works. Suppose you have a role - with nickname "role1" and role1 has (among other things) - - Set Reply-To = The Pres <president@example.com> - - set. If in "role2" you set "Initialize settings using role" to "role1", then - role2 will inherit the Set Reply-To value from role1 by default (and any of - the other inheritable action values that are set). So if role2 had - - Set Reply-To = <No Value Set> - - defined, the Reply-To used with role2 would be "The Pres - <president@example.com>" However, if role2 had - - Set Reply-To = VP <vicepresident@example.com> - - defined, then the Reply-To used with role2 would be "VP - <vicepresident@example.com>" instead. - - If you wish, you may choose a nickname from your list of roles by using the - "T" command. If the role you are using to initialize also has a role it - initializes from, then that initialization happens first. That is, - inheritance works as expected with the grandparent and great-grandparent - (and so on) roles having the expected effect. - - Set From - - This field consists of a single address which will be used as the From - address on the message you are sending. This should be a fully-qualified - address like - - Full Name <user@domain> - - or just - - user@domain - - If this is left blank, then the normal From address will be used. - - Set Reply-To - - The Reply-To address is the address used on the Reply-To line of the message - you are sending. You don't need a Reply-To address unless it is different - from the From address. This should be a fully-qualified address like - - Full Name <user@domain> - - or just - - user@domain - - If this is left blank, then there won't be a Reply-To address unless you - have configured one specially with the customized-hdrs configuration option. - - Set Other-Hdrs - - This field gives you a way to set values for headers besides "From" and - "Reply-To". If you want to set either of those, use the specific "Set From" - and "Set Reply-To" settings. - - This field is similar to the customized-hdrs option. Each header you specify - here must include the header tag ("To:", "Approved:", etc.) and may - optionally include a value for that header. In order to see these headers - when you compose using this role you must use the rich header command. - Here's an example which shows how you might set the To address. - - Set Other Hdrs = To: Full Name <user@domain> - - Headers set in this way are different from headers set with the - customized-hdrs option in that the value you give for a header here will - replace any value that already exists. For example, if you are Replying to a - message there will already be at least one address in the To header (the - address you are Replying to). However, if you Reply using a role which sets - the To header, that role's To header value will be used instead. The - customized-hdrs headers are defaults. - - Limitation: Because commas are used to separate the list of Other Headers, - it is not possible to have the value of a header contain a comma; nor is - there currently an "escape" mechanism provided to make this work. - - Set Fcc - - This field consists of a single folder name which will be used in the Fcc - field of the message you are sending. You may put anything here that you - would normally type into the Fcc field from the composer. - - In addition, an fcc of "" (two double quotation marks) means no Fcc. - - A blank field here means that _Alpine_ will use its normal rules for - deciding the default value of the Fcc field. For many roles, perhaps most, - it may make more sense for you to use the other _Alpine_ facilities for - setting the Fcc. In particular, if you want the Fcc to depend on who you are - sending the message to then the fcc-name-rule is probably more useful. In - that case, you would want to leave the Fcc field here blank. However, if you - have a role that depends on who the message you are replying to was From, or - what address that message was sent to; then it might make sense to set the - Fcc for that role here. - - Set LiteralSig - - This field contains the actual text for your signature, as opposed to the - name of a file containing your signature. If this is defined it takes - precedence over any value set in the _Set Signature_ field. - - This is simply a different way to store the signature. The signature is - stored inside your Alpine configuration file instead of in a separate - signature file. Tokens work the same way they do with _Set Signature_. - - The two character sequence \n (backslash followed by the character n) will - be used to signify a line-break in your signature. You don't have to enter - the \n, but it will be visible in the CHANGE THIS ROLE RULE window after you - are done editing the signature. - - Set Signature - - The Signature is the name of a file to be used as the signature file when - this role is being used. 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 - _Alpine_, but the rest of the processing works as if the contents came from a - file. - - Signature files may be stored remotely on an IMAP server. In order to do - that you just give the file a remote name. This works just like the regular - signature-file option which is configured from the Setup/Configuration - screen. A remote signature file name might look like: - - {myimaphost.myschool.k12.wa.us}mail/sig3 - - or, if you have an SSL-capable version of _Alpine_, you might try - - {myimaphost.myschool.k12.wa.us/user=loginname/ssl}mail/sig3 - - Once you have named the remote signature file you create its contents by - using the "F" "editFile" command when the cursor is on the "Set Signature" - line of the role editor. - - Besides containing regular text, a signature file may also contain (or a - signature program may produce) tokens which are replaced with text which - depends on the message you are replying to or forwarding. The tokens all - look like _word_ (a word surrounded by underscores). For example, if the - token - - _DATE_ - - is included in the text of the signature file, then when you reply to or - forward a message, the token will be replaced with the actual date the - message you are replying to or forwarding was sent. - - If you use a role which has a signature file for a plain composition (that - is, not a reply or forward) then there is no original message, so any tokens - which depend on the message will be replaced with nothing. So if you want a - signature file to be useful for new compositions it shouldn't include any of - the tokens which depend on the message being replied to or forwarded. - - The list of available tokens is here. - - Actually, 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. - - In the very unlikely event that you want to include a literal token in a - signature file, you must precede it with a backslash character. For example, - to include the literal text _DATE_ you must actually use \_DATE_. It is not - possible to have a literal backslash followed by an expanded token. - - A blank field here means that _Alpine_ will use its normal rules for - deciding which file (if any) to use for the signature file. - - Set Template - - A Template is the name of a file to be included in the message when this - role is being used. The template file is a file which is included at the top - of the message you are composing. - - 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 _Alpine_, but the rest of - the processing works as if the contents came from a file. - - Template files may be stored remotely on an IMAP server. In order to do that - you just give the file a remote name. This works just like the regular - signature-file option which is configured from the Setup/Configuration - screen. A remote template file name might look like: - - {myimaphost.myschool.k12.wa.us}mail/templ3 - - or, if you have an SSL-capable version of _Alpine_, you might try - - {myimaphost.myschool.k12.wa.us/user=loginname/ssl}mail/templ3 - - Once you have named the remote template file you create its contents by - using the "F" "editFile" command when the cursor is on the "Set Template" - line of the role editor. - - Besides containing regular text, a template file may also contain (or a - template file program may produce) tokens which are replaced with text which - depends on the message you are replying to or forwarding. The tokens all - look like _word_ (a word surrounded by underscores). For example, if the - token - - _DATE_ - - is included in the text of the template file, then when you reply to or - forward a message, the token will be replaced with the actual date the - message you are replying to or forwarding was sent. - - If you use a role which has a template file for a plain composition (that - is, not a reply or forward) then there is no original message, so any tokens - which depend on the message will be replaced with nothing. So if you want a - template file to be useful for new compositions it shouldn't include any of - the tokens which depend on the message being replied to or forwarded. - - The list of available tokens is here. - - Actually, 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. - - In the very unlikely event that you want to include a literal token in a - template file, you must precede it with a backslash character. For example, - to include the literal text _DATE_ you must actually use \_DATE_. It is not - possible to have a literal backslash followed by an expanded token. - - A blank field here means that _Alpine_ will not use a template file when - this role is being used. - - Use SMTP Server - - If this field has a value, then it will be used as the SMTP server to send - mail when this role is being used (unless the SMTP server variable is set in - the system-wide fixed configuration file). It has the same semantics as the - smtp-server variable in the Setup/Config screen. When you postpone the - composition this SMTP server list will be saved with the postponed - composition and it cannot be changed later. Because of that, you may want to - make this a list of SMTP servers with the preferred server at the front of - the list and alternate servers later in the list. - - If any of the actions are left unset, then the action depends on what is - present in the "Initialize settings using role" field. If you've listed the - nickname of another one of your roles there, then the corresponding action - from that role will be used here. If that action is also blank, or if there - is no nickname specified, then _Alpine_ will do whatever it normally does to - set these actions. This depends on other configuration options and features - you've set. - -Filtering Configuration - - The software which actually delivers mail (the stuff that happens before - _Alpine_ is involved) for you is in a better position to do mail filtering - than _Alpine_ itself. If possible, you may want to look into using that sort - of mail filtering to deliver mail to different folders, delete it, or - forward it. However, if you'd like _Alpine_ to help with this, _Alpine_'s - filtering is for you. - - Filtering is a way to automatically move certain messages from one folder to - another or to delete messages. It can also be used to set message status - bits (Important, Deleted, New, Answered). _Alpine_ doesn't have the ability - to forward mail to another address. - - Each filtering rule has a "Pattern" and a "Filter Action". When a folder is - opened, when new mail arrives in an open folder, or when mail is Expunged - from a folder; each message is compared with the Patterns of your filtering - rules. The comparisons start with the first rule and keep going until there - is a match. If a match is found, the message may be deleted or moved, - depending on the setting of the Filter Action. If the message is not - deleted, it may have its status altered. - - For efficiency, each message is usually only checked once. When new mail - arrives, the new messages are checked but not the old. There are some - exceptions to this rule. The expunge command will cause all messages to be - rechecked, as will editing of the filtering rules. - - _NOTE:_ When setting up a Pattern used to delete messages, it is recommended - that you test the Pattern first with a "Move" folder specified in case - unintended matches occur. Messages that are deleted will be removed from the - folder and _unrecoverable_ from within _Alpine_ after the next Expunge - command or once the folder being filtered has been closed. - - Filter Patterns - - In order to determine whether or not a message matches a filter the message - is compared with the Filter's Pattern. These Patterns are the same for use - with Roles, Filtering, Index Coloring, Scoring, Other Rules, and Search - Rules, so are described in only one place, "here". - - Since filtering is a potentially destructive action, if you have a filtering - Pattern with nothing other than Current Folder Type set, that filtering rule - is ignored. - - Filter Actions - - Once a filter match is found for a particular message, there are some - actions which may be taken. First, the message may have its status changed. - This is the same message status that you can manipulate manually using the - Flag Command. There are four elements of message status that you can - control. You can set or clear the Important status, the New status, the - Deleted status, and the Answered status. Of course, if the filter is going - to delete the message, then there is no point in setting message status. You - may also set or clear user-defined keywords for a message. - - Second, the filter may delete or move the message. Deleting the message - marks it Deleted and removes it from view. It is effectively gone forever - (though it technically is still there until the next expunge command, which - may happen implicitly). Moving the message moves it from the open folder - into the folder listed on the "Folder List" line of the filter - configuration. If you list more than one folder name (separated by commas) - then the message will be copied to each of those folders. In any case, if - "Delete" or "Move" is set then the message is removed from the current - folder. If you just want to set the messages status without deleting it from - the folder, then set the filter action to "Just Set Message Status". - - (There is no way to do a Copy instead of a Move, due to the difficulties - involved in keeping track of whether or not a message has already been - copied by a previous _Alpine_ session.) - - Move-only-if-not-deleted option - - If you have specified a Move to Folder to filter messages into, then this - option has an effect. If this option is set then messages will only be moved - into the specified folder if they aren't already marked deleted. This might - be useful if you have more than one _Alpine_ session running simultaneously - and you don't want messages to be filtered into a folder more than once. - This method is not foolproof. There may be cases where a message gets marked - deleted and so it is never filtered into the folder. For example, if you - deleted it in another _Alpine_ or another mail program that didn't know - about the filtering rule. - - This option has no effect if the Filter Action is not set to Move. - - Dont-quit-even-if-rule-matches option - - If this option is set then this is a non-terminating rule. Usually, for each - message, _Alpine_ searches through the filter rules until a match is found - and then it performs the action associated with that rule. Rules following - the match are not considered. If this option is set then the search for - matches will continue at the next rule. - - If a non-terminating rule matches then the actions associated with that - rule, except for any implied deletion of the message, are performed before - the match for the next rule is checked. For example, if the non-terminating - rule sets the Important status, then that status will be set when the next - rule is considered. However, if the non-terminating rule Moves the message, - the message will actually be copied instead of copied and deleted so that it - is still there for the next rule. A moved message is deleted after all the - relevant rules have been checked. The name of the "Move" action is confusing - in this case because a single message can be moved to more than one folder. - It turns the Move into a Copy instead, but it is still followed by a - deletion at the end. - - This option may be useful if you want to have a single message filtered to - two different folders because it matches two different Patterns. For - example, suppose you normally filter messages to a particular mailing list - into one folder, and messages addressed directly to you into a second - folder. If a message is sent to both you and the list (and you can tell that - by looking at the headers of the message) this option may give you a - convenient way to capture a copy to each folder. (It may also cause you to - capture two copies to each folder, depending on whether your mail system - delivers one or two copies of the message to you and on how the list works.) - -Scoring Configuration - - Most people will not use scores at all, but if you do use them, here's how - they work in Alpine. Using this screen, you may define Scoring rules. The - score for a message is calculated by looking at every Score rule defined and - adding up the Score Values for the ones which match the message. If there - are no matches for a message, it has a score of zero. Message scores may be - used a couple of ways in Alpine. - - Sorting by Score - - One of the methods you may use to sort message indexes is to sort by score. - The scores of all the messages in a folder will be calculated and then the - index will be ordered by placing the messages in order of ascending or - descending score. - - Scores for use in Patterns - - The Patterns used for Roles, Index Line Coloring, and Filtering have a - category labeled "Score Interval". When a message is being compared with a - Pattern to check for a match, if the Score Interval is set only messages - which have a score somewhere in the interval are a match. - - Scoring Rule Patterns - - In order to determine whether or not a message matches a scoring rule the - message is compared with the rule's Pattern. These Patterns are the same for - use with Roles, Filtering, Index Coloring, Scoring, Other Rules, and Search - Rules, so are described in only one place, "here". - - Actually, Scoring rule Patterns are slightly different from the other types - of Patterns because Scoring rule Patterns don't contain a Score Interval. In - other words, when calculating the score for a message, which is done by - looking at the Scoring rule Patterns, scores aren't used. - - Score Value - - This is the value that will be added to the score for a message if the - rule's Pattern is a match. Each individual Score Value is an integer between - -100 and 100, and the values from matching rules are added together to get a - message's score. There is also a way to extract the value from a particular - header of each message. See the help text for Score Value for further - information. - -Other Rules Configuration - - Using this screen, you may define configuration Rules which don't fit nicely - into the other Rules categories. - - Other Rule Patterns - - Other Rules are a little different from the rest of the Rules because they - depend only on the current folder, and not on a particular message. In order - to determine whether or not a rule's actions should be applied the current - folder is compared with the rule's Pattern, which consists of only the - Current Folder Type. Current Folder Type works the same for Other Rules as - it does for Roles, Filtering, Index Coloring, and Scoring. Keep in mind that - the only part of the Pattern which applies to Other Rules is the Current - Folder Type when looking at the description of Patterns given "here". - - Other Rule Actions - - Once a pattern match is found, the rule's Actions are taken. Neither of the - following two rule's depends on a message for its match. That means that all - the parts of the Pattern which depend on matching an attribute of a message - are ignored. So the only part of the Pattern that matters for these Actions - is the Current Folder Type. - - Set Sort Order - - When you enter a new folder, these rules will be checked to see if you have - set a sort order which is different from your default sort order. The - default is set in the Setup/Config screen with the Sort-Key option. If the - Sort Order action is set, then the folder will be displayed sorted in that - sort order instead of in the default order. - - A possible point of confusion arises when you change the configuration of - the Sort Order for the currently open folder. The folder will normally be - re-sorted when you go back to viewing the index. However, if you have - manually sorted the folder with the Sort command, it will not be re-sorted. - - Set Index Format - - When you enter a new folder, these rules will be checked to see if you have - set an Index Format which is different from your default Index Format, which - is set with the Index-Format option. If so, the index will be displayed with - this format instead of the default. - - Set Startup Rule - - When you enter a new folder, these rules will be checked to see if you have - set a startup rule which is different from the default startup rule. The - default for incoming folders is set in the Setup/Config screen with the - "incoming-startup-rule" option. The default for folders other than INBOX - that are not part of your incoming collection (see enable-incoming-folders - feature) is to start with the last message in the folder. If the Startup - Rule is set to something other than "default", then the rule will determine - which message will be the current message when the folder is first opened. - - The various startup rule possibilities work the same here as they do in the - incoming collection, except that the folder can be any specific folder or - any folder type. - -Search Rules Configuration - - One of the commands that becomes available when that feature is turned on is - the "; Select" command, which is used in the MESSAGE INDEX screen to select - a set of messages. One way of selecting messages is to use a Rule. All of - the messages which match (or don't match if you wish) a Rule's Pattern will - be selected. - - Any of your Rules may be used for this purpose. You might already have Rules - set up for filtering, index line color, scores, or roles; and you may use - any of those Rules with the Select command. However, you might find it more - convenient to set up a separate set of Rules just for this purpose without - having to worry about what other effects they may cause. That is the purpose - of these Select Rules. - - Rule Patterns - - In order to determine whether or not a message is selected by a rule the - message is compared with the rule's Pattern. These Patterns are the same for - use with Roles, Filtering, Index Coloring, Scoring, Other Rules, and Search - Rules, so are described in only one place, "here". - - There is no action associated with these Search Rules. Only their Patterns - are used. - -Patterns - - Patterns are used with Roles, Filtering, Index Coloring, Scoring, Other - Rules, and Search Rules. Patterns are compared with a message to see if - there is a match. For Filtering, the messages being checked are all the - messages in the folder, one at a time. For Index Line Coloring, each message - that is visible on the screen is checked for matches with the Index Coloring - Patterns. Roles are used with the Reply, Forward, and Compose commands. For - Reply, the message used to compare the Pattern with is the message being - replied to; for Forward, the message used to compare the Pattern with is the - message being forwarded; and for Compose, there is no message, so the parts - of the Pattern which depend on a message (everything other than Current - Folder Type and the Beginning of Month and Year) are not used. Only the - Current Folder Type matters for Compose (plus the Beginning of Month or - Year, which you wouldn't usually use for a Role). For Scoring, the message - being scored is compared with all of the Score Patterns, and the Score - Values from the ones that match are added together to get the message's - score. For Other Rules, there is no message. Only the Current Folder Type is - checked for Other Rules. - - Each Pattern has several possible parts, all of which are optional. In order - for there to be a match, _ALL_ of the _defined_ parts of the Pattern must - match the message. If a part is not defined it is considered a match. For - example, if the To pattern is not defined it will be displayed as - - To pattern = <No Value Set> - - That is considered a match because it is not defined. This means that the - Pattern with nothing defined is a match if the Current Folder Type matches, - but there is an exception. Because filtering is a potentially destructive - action, filtering Patterns with nothing other than Current Folder Type - defined are ignored. If you really want a filtering Pattern to match all - messages (subject to Current Folder Type) the best way to do it is to define - a Score interval which includes all possible scores. This would be the score - interval (-INF,INF). This can be used even if you haven't defined any rules - to Set Scores. - - There are six predefined header patterns called the To, From, Sender, Cc, - News, and Subject patterns. Besides those six predefined header patterns, - you may add additional header patterns with header fieldnames of your - choosing. You add an extra header pattern by placing the cursor on one of - the patterns while in the role editor and using the "eXtraHdr" command. The - Recip pattern is a header pattern which stands for Recipient (To OR Cc) and - the Partic pattern is a header pattern which stands for Participant (From OR - To OR Cc). (Defining the Recip pattern does not have the same effect as - defining both the To and Cc patterns. Recip is To _OR_ Cc, not To _AND_ Cc.) - Similar to the header patterns are the AllText pattern and the BodyText - pattern. Instead of comparing this pattern's text against only the contents - of a particular header field, the text for the AllText pattern is compared - with text anywhere in the message's header or body, and the text for the - BodyText pattern is compared with text anywhere in the message's body. - - Any of the header patterns, the AllText pattern, or the BodyText pattern may - be negated with the "!" "toggle NOT" command. You can tell that _NOT_ has - been turned on by looking for the character "!" at the beginning of the - pattern line. When the "!" is present, it reverses the meaning of the match. - That is, if the pattern matches then it is considered to NOT be a match, and - if it does not match it is considered to be a match. - - Don't make the mistake of putting the "!" in the data field for a pattern. - For example, if you type the characters "!urgent" into the Subject pattern, - the pattern will look like: - - Subject pattern = !urgent - - This means you want to match the 7 character sequence "!urgent". In order to - match messages which do not have "urgent" in their Subject field, first type - the characters "urgent" followed by carriage return for the value of the - Subject pattern, then negate it by typing the "!" command. It should look - like - - ! Subject pattern = urgent - - The contents of each of these header patterns (or the AllText or BodyText - patterns) may be a complete email address, part of an address, or a random - set of characters to match against. It may also be a list of such patterns, - which means you are looking for a match against the first pattern in the - list _OR_ the second pattern _OR_ the third and so on. For example, a - Subject pattern equal to - - Subject pattern = urgent - emergency - alert - - would match all messages with a subject which contained at least one of - those words. It would also match subjects containing the words "alerts" or - "Urgently". - - The same example with "NOT" turned on would be - - ! Subject pattern = urgent - emergency - alert - - which would match all messages with a subject which did NOT contain any of - those words. You can use the "Add Value" command to add new words to the - list, or you can enter them as a comma-separated list. - - (It is not possible to specify two patterns which must _BOTH_ be present for - a match. It is only possible to specify that _EITHER_ pattern1 _OR_ pattern2 - must be present, and that is exactly what using a list does.) - - The "Current Folder Type" and the "Score Interval" are also part of the - Pattern, although the "Score Interval" is not used when checking for matches - for Scoring. There are five similar settings which relate to the status of - the message. These settings rely on the message being New or not, Deleted or - not, Answered or not, Important or not, and Recent or not. There are also - some other miscellaneous settings. The first is the Age of the message in - days. Another is the Size of the message in bytes. The third is a setting - which detects whether or not the Subject of a message contains raw 8-bit - characters (unencoded characters with the most significant bit set). There - is a setting which detects whether or not this is the first time _Alpine_ - has been run this month (doesn't depend on individual messages), and another - which detects whether or not this is the first time _Alpine_ has been run - this year. Other parts of the Pattern detect whether or not the From address - of a message appears in your address book, whether or not certain keywords - are set for a message, and whether or not certain character sets are used in - a message. - - Parts of a Pattern - - Header patterns - - A header pattern is simply text which is searched for in the corresponding - header field. For example, if a Pattern has a From header pattern with the - value "@company.com", then only messages which have a From header which - contains the text "@company.com" will be possible matches. Matches don't - have to be exact. For example, if the relevant field of a message contains - the text "mailbox@domain" somewhere in it, then header patterns of "box", or - "x@d", or "mailbox@domain" are all matches. - - All parts of the Pattern must match so, for example, if a message matches a - defined From pattern, it still must be checked against the other parts of - the Pattern which have been defined. The To header pattern is a slightly - special case. If the message being checked has a Resent-To header and the - feature Use-Resent-To-in-Rules is turned on, the addresses there are used in - place of the addresses in the To header. This is only true for the To - header. Resent-cc and Resent-From headers are never used unless you add them - with the eXtraHdrs command. - - The meaning of a header pattern may be negated with the "!" "toggle NOT" - command. You can tell that _NOT_ has been turned on by looking for the - character "!" at the beginning of the pattern line. It would look something - like - - ! From pattern = susan@example.com - - When the "!" is present, it reverses the meaning of the match. - - If you want to check for the presence of a header field but don't care about - its value, then the empty pattern which you get by entering a pair of double - quotes ("") should match any message which has the corresponding header - field. - - AllText patterns - - AllText patterns are just like header patterns except that the text is - searched for anywhere in the message's headers or body, not just in the - contents of a particular header field. - - BodyText patterns - - BodyText patterns are just like header patterns except that the text is - searched for anywhere in the message's body, not just in the contents of a - particular header field. - - If there is more than one header pattern or AllText pattern or BodyText - pattern for which you want to take the same action there is a shorthand - notation which may be used. Any of these patterns may be a list of patterns - instead of just a single pattern. If any one of the patterns in the list - matches the message then it is considered a match. For example, if - "company1" and "company2" both required you to use the same role when - replying to messages, you might have a To pattern which looks like - - To pattern = company1.com - company2.com - - This means that if the mail you are replying to was addressed to either - "anything@company1.com" or "anything@company2.com", then this Pattern is a - match and the same actions will be taken. - - The meaning of an AllText or BodyText pattern may be negated with the "!" - "toggle NOT" command. You can tell that _NOT_ has been turned on by looking - for the character "!" at the beginning of the pattern line. When the "!" is - present, it reverses the meaning of the match. - - A technicality: Since comma is the character used to separate multiple - values in any of the fields which may have multiple values (such as header - patterns, AllText patterns, BodyText patterns, keywords, folder lists, and - so on), you must escape comma with a backslash (\) if you want to include a - literal comma in one of those fields. In other words, if you type a - backslash followed by a comma it will be interpreted as a comma by _Alpine_, - instead of as a separator between pattern values. All other backslashes - (those not followed by a comma) are literal backslashes and should not be - escaped. It's unlikely you'll ever need to enter a literal comma or - backslash in any of the patterns. - - Current Folder Type - - The "Current Folder Type" may be set to one of four different values: "Any", - "News", "Email", or "Specific". If the value is set to "News", then the - Pattern will only match if the currently open folder is a newsgroup. The - value "Email" only matches if the current folder is not news and the value - "Any" causes any folder to match. If the value of "Current Folder Type" is - set to "Specific", then you must fill in a value for "Folder", which is on - the line below the "Specific" line. In this case you will only get a match - if the currently open folder is the specific folder you list. You may give a - list of folders instead of just a single folder name, in which case the - Pattern will match if the open folder is any one of the folders in the list. - The name of each folder in the list may be either "INBOX", the technical - specification of the folder (like what appears in your configuration file) - or, if the folder is one of your incoming folders, it may be the nickname - you've given the folder. Here are some samples of specific folder names: - - {monet.art.example.com}mail/art-class - - {news.example.com/nntp}#news.comp.mail.pine - - mail/local-folder - - The easiest way to fill in the "Folder" field is to use the "T" command - which is available when the "Folder" line is hilighted, or to use the "Take" - command with the configuration feature "enable-rules-under-take" turned on. - - When reading a newsgroup, there may be a performance penalty incurred when - collecting the information necessary to check whether or not a Pattern - matches a message. For this reason, the default Current Folder Type is set - to "Email". If you have Patterns with a Current Folder Type of either "Any" - or "News" and those Patterns are used for Index Line Coloring or Scoring, - you may experience slower screen redrawing in the MESSAGE INDEX screen when - in a newsgroup. - - Age Interval - - The "Age Interval" may be set to an interval of message ages which should be - considered a match. Like the other parts of the Pattern, if it is unset it - will be ignored. The Age Interval looks like - - (min_age,max_age) - - where "min_age" and "max_age" are integers greater than or equal to zero. - The special value "INF" may be used for the max value. It represents - infinity. - - Actually, this option may be defined as a list of intervals instead of just - a single interval. The list is separated by commas. It can look like - - (min_age1,max_age1),(min_age2,max_age2),... - - When there is an Age Interval defined, it is a match if the age, in days, of - the message is contained in any of the intervals. The intervals include both - endpoints. - - Even though this option is called Age, it isn't actually the _age_ of the - message. Instead, it is how many days ago the message arrived in one of your - folders. If the current time is a little past midnight, then a message that - arrived just before midnight arrived yesterday, even though the message is - only a few minutes old. By default, the date being used is not the date in - the Date header of the message. It is the date that the message arrived in - one of your folders. When you Save a message from one folder to another that - arrival date is preserved. If you would like to use the date in the Date - header that is possible. Turn on the option _use-date-header-for-age_ near - the bottom of the rule definition. - - A value of 0 is today, 1 is yesterday, 2 is the day before yesterday, and so - on. - - Size Interval - - The "Size Interval" may be set to an interval of message sizes which should - be considered a match. Like the other parts of the Pattern, if it is unset - it will be ignored. The Size Interval looks like - - (min_size,max_size) - - where "min_size" and "max_size" are integers greater than or equal to zero. - The special value "INF" may be used for the max value. It represents - infinity. - - Actually, this option may be defined as a list of intervals instead of just - a single interval. The list is separated by commas. It can look like - - (min_size1,max_size1),(min_size2,max_size2),... - - When there is a Size Interval defined, it is a match if the size, in bytes, - of the message is contained in any of the intervals. The intervals include - both endpoints. - - Score Interval - - The "Score Interval" may be set to an interval of message scores which - should be considered a match. Like the other parts of the Pattern, if it is - unset it will be ignored. The Score Interval looks like - - (min_score,max_score) - - where "min_score" and "max_score" are integers between -32000 and 32000. The - special values "-INF" and "INF" may be used for the min and max values to - represent negative and positive infinity. - - Actually, a list of intervals may be used if you wish. A list would look - like - - (min_score1,max_score1),(min_score2,max_score2),... - - When there is a Score Interval defined, it is a match if the score for the - message is contained in any of the intervals in the list. The intervals - include the endpoints. The score for a message is calculated by looking at - every Score rule defined and adding up the Score Values for the ones which - match the message. When deciding whether or not a Pattern matches a message - for purposes of calculating the score, the Score Interval is ignored. - - Message Status - - There are five separate message status settings. By default, all five are - set to the value "Don't care", which will match any message. The value "Yes" - means that the particular status must be true for a match, and the value - "No" means that the particular status must not be true for a match. For - example, one of the five Message Status settings is whether a message is - marked Important or not. A "Yes" means that the message must be Important to - be considered a match and "No" means that the message must not be Important - to be considered a match. The same is true of the other four message status - settings which depend on whether or not the message is New; whether the - message has been Answered or not; whether the message has been Deleted or - not, and whether the message is Recent or not. - - The nomenclature for New and Recent is a bit confusing: - - New means that the message is Unseen. It could have been in your mailbox for - a long time but if you haven't looked at it, it is still considered New. - That matches the default _Alpine_ index display that shows an N for such a - message. - - Recent means that the message was added to this folder since the last time - you opened the folder. _Alpine_ also shows an N by default for these types - of messages. If you were to run two copies of _Alpine_ that opened a folder - one right after the other, a message would only show up as Recent in (at - most) the first _Alpine_ session. - - Message Keywords - - Keywords are similar to Message Status, but they are chosen by the user. - Provided the mail server allows for it, you may add a set of possible - keywords to a folder and then you may set those keywords or not for each - message in the folder. The syntax of this part of the Pattern is similar to - the header patterns. It is a list of keywords. The Keyword part of the - Pattern is a match if the message has any of the keywords in the list set. - Like other parts of the Pattern, if this is unset it will be ignored. - - Message Character Set - - A message may use one or more character sets. This part of the Pattern - matches messages which make use of one or more of the character sets - specified in the pattern. It will be considered a match if a message uses - any of the character sets in the list you give here. The syntax of this part - of the Pattern is similar to the header patterns and the Message Keywords - pattern. It is a list of character sets. - - Besides actual character set names (for example, ISO-8859-7, KOI8-R, or - GB2312) you may also use some shorthand names that _Alpine_ provides. These - names are more understandable shorthand names for sets of character set - names. Two examples are "Cyrillic" and "Greek". Selecting one of these - shorthand names is equivalent to selecting all of the character sets that - make up the set. You can see all of these shorthand names and the lists of - character sets they stand for by typing the "T" command with the Character - Set pattern highlighted. The Character Set part of the Pattern is a match if - the message uses any of the character sets in the list. Like other parts of - the Pattern, if this is unset it will be ignored. - - Raw 8-bit in Subject - - It seems that lots of unwanted email contains unencoded 8-bit characters in - the Subject. Normally, characters with the 8th bit set are not allowed in - the Subject header unless they are MIME-encoded. This option gives you a way - to match messages which have Subjects which contain unencoded 8-bit - characters. Setting this option will affect performance in large folders - because the subject of each message in the folder has to be checked. - - Beginning of Month - - This option gives you a way to take some action once per month. The value - "Yes" means that this must be the first time _Alpine_ has been run this - month in order to count as a match, - - Beginning of Year - - This option gives you a way to take some action once per year. The value - "Yes" means that this must be the first time _Alpine_ has been run this year - in order to count as a match, - - From or Reply-To address in Address Books - - This option gives you a way to match messages which have a From or a - Reply-To address which is in one of your address books. Only the simple - entries in your address books are searched. Address book distribution lists - are ignored! Setting this option will affect performance in large folders - because the From and Reply-To of each message in the folder have to be - checked. - - Categorizer Command - - This is a command that is run with its standard input set to the message - being checked and its standard output discarded. The full directory path - should be specified. The command will be run and then its exit status will - be checked against the Exit Status Interval, which defaults to just the - value zero. If the exit status of the command falls in the interval, it is - considered a match, otherwise it is not a match. - - This option may actually be a list of commands. The first one that exists - and is executable is used. That makes it possible to use the same - configuration with Unix _Alpine_ and _PC-Alpine_. - - If none of the commands in the list exists and is executable then the rule - is _not_ a match. If it is possible that the command may not exist, you - should be careful to structure your rules so that nothing destructive - happens when the command does not exist. For example, you might have a - filter that filters away spam when there is a match but does nothing when - there is not a match. That would continue to work correctly if the command - didn't exist. However, if you have a filter which filters away spam when - there is not a match and keeps it when there is a match, that would filter - everything if the categorizer command didn't exist. - - Help Configuring Pattern Fields - - _Nickname_ - This is a nickname to help you. You should have a different nickname - for each role you define. The nickname will be used in the SETUP ROLE - RULES screen to allow you to pick a role to edit. It will also be - used when you send a message to let you know you are sending with a - different role than you use by default, and it will be useful for - choosing a role when composing with the Role command or when - composing with one of the Role Uses set to With Confirmation. This - field is not used in the outgoing message. - _Comment_ - This is a comment to help you. This comment does not play any - functional role, it is simply an optional comment to help you - remember what the rule is for. - _To pattern_ - If this pattern is non-blank, then for this role to be considered a - match, at least one of the recipients from the To line of the message - being replied to or forwarded must match this pattern. In the case of - the Compose command, this pattern and the other header patterns are - ignored. If this pattern is a list of patterns, then at least one of - the recipients must match at least one of the patterns. (Any other - non-blank parts of the Pattern must match, too.) If the message being - replied to or forwarded has a Resent-To header line, then that is - used in place of the To line. (Note that this special Resent rule - only applies to the To header. The Resent-From, Resent-Subject, and - so on are not consulted.) - It is possible to add a _NOT_ to the To Pattern meaning with the "!" - "toggle NOT" command. This changes the meaning of the To pattern so - that it has the opposite meaning. It will be considered a match if - there are no matches between the addresses in the To: line and the - list of To patterns. - Don't make the mistake of putting the "!" in the data field for the - pattern. For example, if you type the characters "!frizzle" into the - To pattern, the pattern will look like: - To pattern = !frizzle - This means you want to match the 8 character sequence "!frizzle". In - order to match messages which do not have "frizzle" in their To - field, first type the characters "frizzle" followed by carriage - return for the value of the To pattern, then negate it by typing the - "!" command. It should end up looking like - ! To pattern = frizzle - _From pattern_ - This is just like the To pattern except that it is compared with the - address from the From header of the message being replied to or - forwarded instead of the addresses from the To header. - _Sender pattern_ - This is just like the To pattern except that it is compared with the - address from the Sender header of the message being replied to or - forwarded instead of the addresses from the To header. If there is no - Sender header, then the From header is used instead. - _Cc pattern_ - This is just like the To pattern except that it is compared with the - address from the CC header of the message being replied to or - forwarded instead of the addresses from the To header. - _News pattern_ - If this pattern is non-blank, then for this role to be considered a - match, at least one of the newsgroups from the Newsgroups line of the - message must match this pattern. If this pattern is a list of - patterns, then at least one of the newsgroups must match at least one - of the patterns. (Any other non-blank parts of the Pattern must - match, too.) - _Subject pattern_ - This is similar to the other header patterns. It is compared with the - contents from the Subject of the message being replied to or - forwarded. - If you enter non-ascii characters in this field then the search will - be done using the character set you have defined with the - Character-Set configuration variable. (The truly sophisticated may - use an alternate character set for a search by entering the MIME - encoding of the header string here.) - _Extra header patterns_ - There isn't actually a field called Extra header patterns, but you - may add extra header patterns by moving the cursor to one of the - header patterns and using the "eXtraHdr" command to add a new header - pattern. You would do this if the six predefined header patterns - don't cover the header you want to use for pattern matching. Once - you've added an extra header pattern, you use it just like the - Subject pattern. Of course, it is compared with the contents from the - particular header field of the message being replied to or forwarded - rather than the contents from the subject field. To remove an extra - header pattern from a role, use the "RemoveHdr" command on the - highlighted extra header. - If you enter non-ascii characters in this field then the search will - be done using the character set you have defined with the - Character-Set configuration variable. (The truly sophisticated may - use an alternate character set for a search by entering the MIME - encoding of the header string here.) - _Recipient pattern_ - This is just like the To pattern except that it is compared with the - addresses from both the To header and the Cc header instead of just - the addresses from the To header. It's equivalent to having two - different rules; one with a To pattern and the other with the same Cc - pattern. - _Participant pattern_ - This is just like the To pattern except that it is compared with the - addresses from the To header, the Cc header, and the From header - instead of just the addresses from the To header. It's equivalent to - having three different rules; one with a To pattern, another with the - same Cc pattern, and another with the same From pattern. - _AllText pattern_ - This is similar to the header patterns. Instead of comparing with - text in a particular header field it is compared with all of the text - in the message header and body. - If you enter non-ascii characters in this field then the search will - be done using the character set you have defined with the - Character-Set configuration variable. (The truly sophisticated may - use an alternate character set for a search by entering the MIME - encoding of the header string here.) - _BodyText pattern_ - Just like AllText, except it is compared only with the body of the - message, not the body and header. - If you enter non-ascii characters in this field then the search will - be done using the character set you have defined with the - Character-Set configuration variable. (The truly sophisticated may - use an alternate character set for a search by entering the MIME - encoding of the header string here.) - _Age Interval_ - The Age Interval, if defined, is part of the Pattern. If you use - this, it should be set to something like: - - (min_age,max_age) - where "min_age" and "max_age" are non-negative integers. The special - value "INF" may be used for the max value. It represents infinity. - In rare cases it may be useful to use the more general form of the - value, which is a comma-separated list of intervals. It would look - something like: - - (min_age1,max_age1),(min_age2,max_age2),... - When there is an Age Interval defined, it is a match if the age, in - days, of the message is contained in the interval. The interval - includes both endpoints. If the option is set to a list of intervals - then it is a match if the age of the message is contained in any of - the intervals. - Even though this option is called Age, it isn't actually the _age_ of - the message. Instead, it is how many days ago the message arrived in - one of your folders. If the current time is a little past midnight, - then a message that arrived just before midnight arrived yesterday, - even though the message is only a few minutes old. By default, the - date being used is not the date in the Date header of the message. It - is the date that the message arrived in one of your folders. When you - Save a message from one folder to another that arrival date is - preserved. If you would like to use the date in the Date header that - is possible. Turn on the option _use-date-header-for-age_ near the - bottom of the rule definition. - A value of 0 is today, 1 is yesterday, 2 is the day before yesterday, - and so on. The age interval - - (2,2) - matches all messages that arrived on the day before yesterday. The - interval - - (180,INF) - matches all messages that arrived at least 180 days before today. The - interval - - (0,1) - matches all messages that arrived today or yesterday. - _Score Interval_ - The Score Interval, if defined, is part of the Pattern. If you use - this, it should be set to something like: - - (min_score,max_score) - where "min_score" and "max_score" are integers between -32000 and - 32000. The special values "-INF" and "INF" can be used for the min - and max values. These represent negative and positive infinity. - Actually, the value may be a list of intervals rather than just a - single interval if that is useful. The elements of the list are - separated by commas like: - - (min_score1,max_score1),(min_score2,max_score2),... - When there is a Score Interval defined, it is a match if the score - for the message is contained in any of the intervals. The intervals - include both endpoints. The score for a message is calculated by - looking at every scoring rule defined and adding up the Score Values - for the rules which match the message. - _Keyword pattern_ - A folder may have user-defined keywords. 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 picked by the user. You may add new - keywords by defining them in the Keywords option in the Setup/Config - screen. After you have added a potential keyword with the Keywords - option, the Flag command may be used to set or clear the keyword on - individual messages. If you have given a keyword a nickname when - configuring it, that nickname may be used instead of the actual - keyword. - When filling in a value for this field, it may be easiest to use the - "T" command, which presents you with a list of the keywords you have - defined to choose from. - This part of the Pattern matches messages with certain keywords set. - It will be considered a match if a message has any of the keywords in - the list set. - It is possible to add a _NOT_ to the Keyword Pattern meaning with the - "!" "toggle NOT" command. This changes the meaning of the Keyword - pattern so that it has the opposite meaning. It will be considered a - match if none of the keywords in the list are set for a message. - Don't make the mistake of putting the "!" in the data field for the - pattern. For example, if you type the characters "!frizzle" into the - Keyword pattern, the pattern will look like: - Keyword pattern = !frizzle - This means you want to match the 8 character sequence "!frizzle". In - order to match messages which do not have the keyword "frizzle" set, - first type the characters "frizzle" followed by carriage return for - the value of the Keyword pattern, then negate it by typing the "!" - command. It should end up looking like - ! Keyword pattern = frizzle - _Character Set pattern_ - A message may use one or more character sets. This part of the - Pattern matches messages which make use of certain specified - character sets. It will be considered a match if a message uses any - of the character sets in the list you give here. - When filling in a value for this field, you may use the "T" command, - which presents you with a large list of possible character sets to - choose from. You may also just type in the name of a character set, - and it need not be one that Alpine knows about. - Besides actual character set names (for example, ISO-8859-7, KOI8-R, - or GB2312) you may also use some shorthand names that Alpine - provides. These names are more understandable shorthand names for - sets of character set names. Two examples are "Cyrillic" and "Greek". - Selecting one of these shorthand names is equivalent to selecting all - of the character sets that make up the set. You can see all of these - shorthand names and the lists of character sets they stand for by - typing the "T" command. - For the purposes of this Pattern, _Alpine_ will search through a - message for all of the text parts and collect the character sets - declared for each part. It will also look in the Subject line for a - character set used there. _Alpine_ does not actually look at the text - of the message or the text of the Subject to determine if a declared - character set is actually used, it looks only at the declarations - themselves in the MIME part headers and in the Subject. - It is possible to add a _NOT_ to the Character Set Pattern meaning - with the "!" "toggle NOT" command. This changes the meaning of the - Character Set pattern so that it has the opposite meaning. It will be - considered a match if none of the character sets in the list are used - in a message. - Don't make the mistake of putting the "!" in the data field for the - pattern. For example, if you type the characters "!GB2312" into the - Character Set pattern, the pattern will look like: - Charset pattern = !GB2312 - This means you want to match the 7 character sequence "!GB2312". In - order to match messages which do not have the character set "GB2312" - set, first type the characters "GB2312" followed by carriage return - for the value of the Character Set pattern, then negate it by typing - the "!" command. It should end up looking like - ! Charset pattern = GB2312 - A technicality: Since comma is the character used to separate - multiple values in a pattern field, you have to escape comma with a - backslash (\) if you want to include a literal comma in the field. In - other words, if you type a backslash followed by a comma it will be - interpreted as a comma by _Alpine_, instead of as a separator between - pattern values. All other backslashes are literal backslashes and - should not be escaped. - _Current Folder Type_ - The Current Folder Type is part of the Pattern. It refers to the type - of the currently open folder, which is the folder you were last - looking at from the MESSAGE INDEX or MESSAGE TEXT screen. In order - for a pattern to be considered a match, the current folder must be of - the type you set here. The three types "Any", "News", and "Email" are - all what you might think. - If the Current Folder Type for a Pattern is set to "News", for - example, then that will only be a match if the current folder is a - newsgroup and the rest of the Pattern matches. The value "Specific" - may be used when you want to limit the match to a specific folder - (not just a specific type of folder), or to a list of specific - folders. In order to match a specific folder you must Select the - "Specific" button _AND_ you must fill in the name (or list of names) - of the folder in the "Folder" field. If the current folder is any of - the folders in the list, that is considered a match. The name of each - folder in the list may be either "INBOX", the technical specification - of the folder (like what appears in your configuration file) or, if - the folder is one of your incoming folders, it may be the nickname - you've given the folder. Here are a couple samples of specific folder - names: - - {monet.art.example.com}mail/art-class - - {news.example.com/nntp}#news.comp.mail.pine - The easiest way to fill in the "Folder" field is to use the T command - which is available when the "Folder" line is hilighted. Note that you - won't be able to edit the "Folder" line unless the Current Folder - Type is set to "Specific", and any value that "Folder" has is ignored - unless the type is set to "Specific". - When reading a newsgroup, there may be a performance penalty incurred - when collecting the information necessary to check a Pattern. For - this reason, the default Current Folder Type is set to "Email". For - example, a role with a non-Normal Index Line Color and a Current - Folder Type of "Any" or "News" may cause the MESSAGE INDEX screen to - draw more slowly when in a newsgroup. - _Message Status Important_ - This part of the Pattern may have one of three possible values. The - default value is "Don't care", which matches any message. The other - two values are "Yes", which means the message must be flagged - "Important" in order to be a match; or "No", which means the message - must _not_ be flagged "Important" in order to be considered a match. - _Message Status New_ - This part of the Pattern may have one of three possible values. The - default value is "Don't care", which matches any message. The other - two values are "Yes", which means the message must be "New" in order - to be a match; or "No", which means the message must _not_ be "New" - in order to be a match. "New" is the same as _Unseen_ and not "New" - is the same as _Seen_. - The nomenclature for New and Recent is a bit confusing: - New means that the message is Unseen. It could have been in your - mailbox for a long time but if you haven't looked at it, it is still - considered New. That matches the default _Alpine_ index display that - shows an N for such a message. - Recent means that the message was added to this folder since the last - time you opened the folder. _Alpine_ also shows an N by default for - these types of messages. If you were to run two copies of _Alpine_ - that opened a folder one right after the other, a message would only - show up as Recent in (at most) the first _Alpine_ session. - _Message Status Recent_ - This part of the Pattern may have one of three possible values. The - default value is "Don't care", which matches any message. The other - two values are "Yes", which means the message must be "Recent" in - order to be a match; or "No", which means the message must _not_ be - "Recent" in order to be a match. "Recent" means that the message was - added to the folder since the last time the folder was opened. If - more than one mail client has the folder opened, the message will - appear to be "Recent" to only one of the clients. - The nomenclature for New and Recent is a bit confusing: - New means that the message is Unseen. It could have been in your - mailbox for a long time but if you haven't looked at it, it is still - considered New. That matches the default _Alpine_ index display that - shows an N for such a message. - Recent means that the message was added to this folder since the last - time you opened the folder. _Alpine_ also shows an N by default for - these types of messages. If you were to run two copies of _Alpine_ - that opened a folder one right after the other, a message would only - show up as Recent in (at most) the first _Alpine_ session. - _Message Status Deleted_ - This part of the Pattern may have one of three possible values. The - default value is "Don't care", which matches any message. The other - two values are "Yes", which means the message must be marked - "Deleted" in order to be a match; or "No", which means the message - must _not_ be marked "Deleted" in order to be a match. - If you are thinking of using this part of the Pattern as a way to - prevent messages from being filtered more than once in a Filter - Pattern, take a look at the Filter Option "move-only-if-not-deleted" - instead. It should work better than using this field since it will - hide the filtered messages even if they are already Deleted. - _Message Status Answered_ - This part of the Pattern may have one of three possible values. The - default value is "Don't care", which matches any message. The other - two values are "Yes", which means the message must be marked - "Answered" in order to be a match; or "No", which means the message - must _not_ be marked "Answered" in order to be a match. - _Subject Contains Raw 8-bit_ - This part of the Pattern may have one of three possible values. The - default value is "Don't care", which matches any message. The other - two values are "Yes", which means the Subject of the message must - contain unencoded 8-bit characters (characters with the most - significant bit set) in order to be a match; or "No", which means the - Subject must _not_ contain unencoded 8-bit characters in order to be - a match. - _Beginning of Month_ - This part of the Pattern may have one of three possible values. The - default value is "Don't care", which matches any message. The other - two values are "Yes", which means this is the first time _Alpine_ has - been run this month; or "No", which means this is _not_ the first - time _Alpine_ has been run this month. The way that _Alpine_ decides - if it is the beginning of the month or not is to compare today's date - with the date stored in the Last-Time-Prune-Questioned variable in - the config file. If the month of today's date is later than the month - stored in the variable, then this is considered to be the first time - you have run Alpine this month, and that turns the Beginning of the - Month option on. - _Beginning of Year_ - This part of the Pattern may have one of three possible values. The - default value is "Don't care", which matches any message. The other - two values are "Yes", which means this is the first time _Alpine_ has - been run this year; or "No", which means this is _not_ the first time - _Alpine_ has been run this year. The way that _Alpine_ decides if it - is the beginning of the year or not is to compare today's date with - the date stored in the Last-Time-Prune-Questioned variable in the - config file. If the year of today's date is later than the year - stored in the variable, then this is considered to be the first time - you have run Alpine this year, and that turns the Beginning of the - Year option on. - _From or Reply-To in Address Book_ - This part of the Pattern may have one of five possible values. The - default value is "Don't care", which matches any message. The value - "Yes, in any address book" means either the From address or the - Reply-To address of the message must be in at least one of your - address books in order to be a match. The value "No, not in any - address book" means neither the From nor the Reply-To addresses may - be in any of your address books in order to be a match. - The values "Yes, in specific address books" and "No, not in any of - specific address books" are similar but instead of depending on all - address books you are allowed to give a list of address books to look - in. Usually this would be a single address book but it may be a list - of address books as well. For each of these "specific" address book - options you Select which of the Specific options you want (Yes or No) - _AND_ fill in the name (or list of names) of the address book in the - "Abook List" field. The names to be used are those that appear in the - ADDRESS BOOK LIST screen. The easiest way to fill in the Abook List - field it to use the "T" command which is available when the "Abook - List" line is highlighted. Note that you won't be able to edit the - "Abook List" line unless the option is set to one of the two - "Specific", values. - _Categorizer Command_ - This is a command that is run with its standard input set to the - message being checked and its standard output discarded. The full - directory path should be specified. The command will be run and then - its exit status will be checked against the _Exit Status Interval_, - which defaults to just the value zero. If the exit status of the - command falls in the interval, it is considered a match, otherwise it - is not a match. - This option may actually be a list of commands. The first one that - exists and is executable is used. That makes it possible to use the - same configuration with Unix _Alpine_ and _PC-Alpine_. - If none of the commands in the list exists and is executable then the - rule is _not_ a match. If it is possible that the command may not - exist, you should be careful to structure your rules so that nothing - destructive happens when the command does not exist. For example, you - might have a filter that filters away spam when there is a match but - does nothing when there is not a match. That would continue to work - correctly if the command didn't exist. However, if you have a filter - which filters away spam when there is not a match and keeps it when - there is a match, that would filter everything if the categorizer - command didn't exist. - The categorizer command is run and the result is the exit status of - that command. If that exit status falls in the _Exit Status Interval_ - then it is considered a match, otherwise it is not a match. Of course - for the entire rule to match, it must also be checked against the - other defined parts of the Pattern. - The _Exit Status Interval_ defaults to the single value 0 (zero). If - you define it, it should be set to something like: - - (min_exit_value,max_exit_value) - where "min_exit_value" and "max_exit_value" are integers. The special - values "INF" and "-INF" may be used for large positive and negative - integers. - Actually, a list of intervals may be used if you wish. A list would - look like - - (min_exit_value1,max_exit_value1),(min_exit_value2,max_exit_value2),... - When there is an _Exit Status Interval_ defined, it is a match if the - exit status of the categorizer command is contained in any of the - intervals. The intervals include both endpoints. - The default interval is - - (0,0) - and it matches only if the command exits with exit status equal to - zero. - It is also possible to set a _Character Limit_ for the categorizer - command. Setting this option makes it possible to limit how much of - the message is made available to the categorizer command as input. - The default value (-1) means that the entire message is fed to the - command. A value of 0 (zero) means that only the headers of the - message are made available. A positive integer means that the headers - plus that many characters from the body of the message are passed to - the categorizer. - -Configuring News - - _Alpine_ can access news folders in any one of three different ways: - - REMOTE NNTP - Using the Network News Transport Protocol (NNTP) to access news on a - remote news server. In this case the newsrc file is stored on the - machine where _Alpine_ is running. - - To specify a remote news-collection accessed via NNTP use the - SETUP/collectionList screen's "Add" command. Set the Server: value to - the NNTP server's hostname appended with the communication method - "/service=NNTP", and set the Path: value to the "#news." namespace - (without the quotes). - - Instead of specifying a news-collection, you may simply set the - nntp-server option, which will cause _Alpine_ to create a default - news-collection for you. Another NNTP option which may be of interest - is nntp-range. - - REMOTE IMAP - Using the Internet Message Access Protocol (IMAP) to access news on a - remote news server. In this case, your newsrc file is stored on the - news server, in your home directory, so you must have an account on - the news server, but you would be running _Alpine_ on a different - machine. The news server must be running an IMAPd server process. - - To specify a remote news-collection accessed via IMAP use the - SETUP/collectionList screen's "Add" command. Set the Server: value to - the IMAP server's hostname, and set the Path: value to the "#news." - namespace (without the quotes). - - LOCAL - Using local file access to the news database. In this case, your - newsrc file is stored on the news server, in your home directory, so - you must have an account on the news server, and you would be running - _Alpine_ on the same machine. - - To specify a local news-collection use the SETUP/collectionList - screen's "Add" command. Leave the Server: value blank, and set the - Path: value to the "#news." namespace (without the quotes). - - NOTE: Should no news-collection be defined as above, _Alpine_ will - automatically create one using the Setup/Config screen's "nntp-server" - variable's value if defined. The collection will be created as a "Remote - NNTP" as described above. - - If you are a _PC-Alpine_ user, either option 1 (NNTP) or option 2 (IMAP) is - possible. If you don't have an account on the news server, or if the news - server is not running an IMAP daemon, then you must use NNTP. (If you are - not sure, ask your service provider, university, or company for help.) In - this case, your Unix .newsrc file can be transferred to your PC. A good - place to put it would be in the same directory as your PINERC file, under - the name NEWSRC, but you can specify a different location. - - Other configuration features related to news are Enable-8bit-Nntp-Posting. - Compose-Sets-Newsgroup-Without-Confirm, News-Approximates-New-Status, - News-Deletes-Across-Groups, News-Offers-Catchup-On-Close, - News-Post-Without-Validation, News-Read-in-Newsrc-Order, and - Quell-Extra-Post-Prompt. - _________________________________________________________________ - - Notes on Configuration and Preferences - -Alpine in Function Key Mode - - The standard _Alpine_ uses alphabetic keys for most commands, and control - keys in the composer. Despite possible appearances, the current bindings are - the result of much discussion and thought. All the commands in the composer - are single control characters. This keeps things very neat and simple for - users. Two character commands in the composer are a possibility, but we're - trying to avoid them because of the added complexity for the user. - - _Alpine_ can also operate in a function-key mode. To go into this mode - invoke _alpine -k_ or (on some UNIX systems) _alpinef._ On a UNIX system, - you can link or copy the _Alpine_ executable to _alpinef_ to install - _alpinef._ Alternatively, users and systems administrators can set the - _use-function-keys_ feature in the personal or system-wide _Alpine_ - configuration file. The command menus at the bottom of the screen will show - _F1-F12 _instead of the alphabetic commands. In addition, the help screens - will be written in terms of function keys and not alphabetic keys. - - One of the results of using _Alpine_ in function-key mode is that users can - only choose from twelve commands at any given time. In alphabetic-key mode, - a user can press a key for a command (say, q to quit) and that command can - be fulfilled. In function-key mode, the command must be visible on the - bottom key-menu in order to be used. There are some screens where four - screens of commands are operational; function-key users can get to all of - them, just not all at once. - _________________________________________________________________ - -Domain Settings - - _Alpine_ uses the default domain for a few different tasks. First, it is - tacked onto the user-id for outgoing email. Second, it is tacked onto all - "local" (unqualified) addresses in the "To:" or "Cc:" fields of messages - being composed (unless they are found in the address book or on an LDAP - server). The domain name is also used to generate message-id lines for each - outgoing message and to allow _Alpine_ to check if an address is that of the - current _Alpine_ user. - - _Alpine_ determines the domain name according to whichever of these it - finds. The list here is in decreasing order of precedence. - 1. Value of the variable user-domain in the system fixed configuration file - 2. Value of the variable _user-domain_ in the personal configuration file - 3. Value of the variable _user-domain_ in the system-wide configuration - file - 4. Value from an external database (DNS, /etc/hosts, NIS) as modified by a - system fixed configuration file if use-only-domain-name set to _yes_ - 5. Value from an external database (DNS, /etc/hosts, NIS) as modified by a - personal configuration file if _use-only-domain-name_ set to _yes_ - 6. Value from an external database (DNS, /etc/hosts, NIS) as modified by a - system configuration file if _use-only-domain-name_ set to _yes_ - 7. Unmodified value (host name) from an external database - - The easiest way for this system to work is for _PC-Alpine_ users and UNIX - _Alpine_ system administrators to set the _user-domain_ variable. The - variable _use-only-domain-name_ is helpful if your site supports/requires - hostless addressing, but for some reason you don't want to use the - _user-domain_ variable. - _________________________________________________________________ - -Syntax for Collections - - In many environments, it is quite common to have collections of archived - mail on various hosts around the network. Using the folder collections - facility in _Alpine_, access to these archives is just as simple as access - to folders on _Alpine_'s local disk. - - "Collection" is the word we use in _Alpine_ to describe a set of folders. A - collection corresponds loosely to a "directory" containing mail folders. - Folders within a defined collection can be manipulated (opened, saved-to, - etc) using just their simple name. Any number of folder collections can be - defined, and _Alpine_ will adjust its menus and prompts to help navigate - them. - - The way collections are defined in _Alpine_ is with the folder-collections - variable in the _Alpine_ configuration file. _Folder-collections_ takes a - list of one or more collections, each (optionally) preceded by a - user-defined logical name (label). Once collections are defined, _Alpine_ - adjusts its menus and behavior to allow choosing files by their simple name - within the collection. - - Consider the following: - folder-collections= Local-Mail C:\MAIL\[], - Remote-Mail {imap.u.example.edu}mail/[] - - The example shows two collections defined (a comma separated list; newlines - in the list are OK if there's one or more spaces before the next entry), one - local and one remote. Each collection is a space-delimited pair of - elements-first an optional logical-name and second the collection specifier. - The logical-name can have spaces if it has quotes around it (but keeping the - logical name short and descriptive works best). _Alpine_ will use the - logical-name (if provided) to reference all folders in the collection, so - the user never has to see the ugliness of the collection specifier. - - The collection specifier can be thought of as an extended IMAP format (see - the Remote Folders section for a description of IMAP format names). - Basically, a pair of square-brackets are placed in the fully qualified IMAP - path where the simple folder name (the part without the host name and path) - would appear. Like IMAP, the path can be either fully qualified (i.e., with - a leading '/') or relative to your home directory. - - An advanced feature of this notation is that a pattern within the square - brackets allows the user to define a collection to be a subset of a - directory. For example, a collection defined with the specifier: - M-Mail C:MAIL/[m*] - - will provide a view in the folder lister of all folders in the PC's "C:MAIL" - directory that start with the letter 'm' (case insensitive under DOS, of - course). Further, the wildcard matching will honor characters trailing the - '*' in the pattern. - - From within _Alpine_, the "Folder List" display will be adjusted to allow - browsing of the folders in any defined collection. Even more, you'll notice - in the _Goto_ and _Save_ commands a pair of sub-commands to rotate through - the list of logical collection names, so only a simple name need be input in - order to operate on a folder in any collection. - - The first collection specified in the _folder-collections_ has special - significance. That folder is the "default collection for saves". By default, - in cases where the user does not specify which collection should be used to - _Save_ a message, the default collection for saves will be used. Also, if the - default-fcc is a relative file name, then it is relative to the default - collection for saves. (See also saved-msg-name-rule. - - The notion of collections encompasses both email folders and news reading. - The variable news-collections uses nearly the same format as - _folder-collections_. Newsgroups can be defined for convenient access via - either IMAP or NNTP. There are advantages and disadvantages to both access - methods. In the IMAP case, your news environment state is maintained on the - server and, thus, will be seen by any client. The downside is that, at the - moment, you must have an account on the server. In the NNTP case, server - access is mostly anonymous and no state/accounting need be maintained on it. - The downside is that each client, for now, must individually maintain news - environment state. - - An example pinerc entry might be: - news-collections= Remote-State {news.u.example.edu}#news.[], - Local-State {news.u.example.edu/nntp}#news.[] - - Only newsgroups to which you are subscribed are included in the collection. - - The pattern matching facility can be applied so as to define a news - collection which is a subset of all the newsgroups you subscribe to. For - example, this could be a valid collection: - Newsfeed-News {news.u.example.edu/nntp}#news.[clari.* -] - - Collection handling is a tough problem to solve in a general way, and the - explanation of the syntax is a bit ugly. The upside is, hopefully, that for - a little complexity in the _Alpine_ configuration file you get simple - management of multiple folders in diverse locations. - - Collection setup is handled by the _Setup/collectionList_ screen. - _________________________________________________________________ - -Syntax for Folder Names - - Remote folders are distinguished from local folders by a leading host name - bracketed by '{' and '}'. The path and folder name immediately following the - closing bracket, '}', is interpreted by the remote server and is in a form - compatible with that server (i.e., path delimiters and naming syntax - relative to that server). - - The full syntax for a _Alpine_ folder name looks like - - [{<remote-specification>}][#<namespace>]<namespace-specific-part> - - The square brackets ([]) mean that the part is optional. - - If there is no remote-specification, then the folder name is interpreted - locally on the computer running _Alpine_. Local folder names depend on the - operating system used by the computer running _Alpine_, as well as the - configuration of that system. For example, "C:\ALPINE\FOLDERS\OCT-94" might - exist on a PC, and "~/mail/september-1994" might be a reasonable folder name - on a system running Unix. - - _Alpine_ users have the option of using folders which are stored on some - other computer. _Alpine_ accesses remote folders via IMAP (the Internet - Message Access Protocol), or in the case of news, via NNTP (the Network News - Transport Protocol). To be able to access remote folders in _Alpine_, the - remote host must be running the appropriate server software (imapd or nntpd) - and you must correctly specify the name of the folder to _Alpine_, including - the domain name of the remote machine. For example, - - {monet.art.example.com}INBOX - - could be a remote folder specification, and so could - - {unixhost.art.example.com}~/mail/september-1994 - - and - - {winhost.art.example.com}\mymail\SEP-94 - - Note that in the case of remote folders, the directory/file path in the - specification is determined by the operating system of the remote computer, - _not_ by the operating system of the computer on which you are running - _Alpine_. - - As you can tell, the name of the computer is in {} brackets followed - immediately by the name of the folder. (In each of these cases the optional - namespace is missing.) If, as in these examples, there is no remote access - protocol specified, then IMAP is assumed. Check Server Name Syntax for a - more detailed look at what options can be placed between the brackets. If - there are no brackets at all, then the folder name is interpreted locally on - the computer on which you are running _Alpine_. - - To the right of the brackets when a server name is present, or at the start - of the foldername if no server is present, the sharp sign, "#", holds - special meaning. It indicates a folder name outside the area reserved for - your personal folders. In fact, it's used to indicate both the name of the - folder, and a special phrase telling _Alpine_ how to interpret the name that - follows. - - So, for example, _Alpine_ can be used to access a newsgroup that might be - available on your computer using: - - #news.comp.mail.pine - - The sharp sign indicates the folder name is outside your personal folder - area. The "news." phrase after it tells _Alpine_ to interpret the remainder - of the name as a newsgroup. - - Similarly, to access a newsgroup on your IMAP server, you might use - something like: - - {wharhol.art.example.com}#news.comp.mail.misc - - There are a number of such special phrases (or "namespaces") available. For - a more detailed explanation read about Namespaces. - - Note that "INBOX" has special meaning in both local and remote folder names. - The name INBOX refers to your "principal incoming message folder" and will - be mapped to the actual file name used for your INBOX on any given host. - Therefore, a name like "{xxx.art.example.com}INBOX" refers to whatever file - is used to store incoming mail for you on that particular host. - _________________________________________________________________ - -Server Name Syntax - - This section describes the syntax which may be used for server names which - may be associated with remote folders or SMTP servers. - - A server name is the hostname of the server. It's a good idea to use the - host's fully-qualified network name. - - foo.example.com - - However, IP addresses are allowed if surrounded with square-brackets. - - [127.0.0.1] - - An optional network port number may be supplied by appending a colon (:) - followed by the port number to the server name. By default, the IMAP port - number, 143, is used. - - foo.example.com:port - - Besides server name and optional port number, various other optional - parameters may be supplied that alter _Alpine_'s interaction with the - server. A parameter is supplied by appending a slash (/) character followed - by the parameter's name and, depending on the particular parameter, the - value assigned to that name, to the server name (and optional port number). - Parameter names are _not_ case sensitive. Currently supported parameters - include: - - User - This parameter requires an associated value, and is intended to - provide the username identifier with which to establish the server - connection. If your SMTP server offers SMTP AUTH authentication, - adding this parameter to the SMTP-Server option will cause _Alpine_ - to attempt to authenticate to the server using the supplied username. - Similarly, if your NNTP server offers NNTP "AUTHINFO SASL" or - "AUTHINFO USER" authentication, adding this parameter to the - NNTP-Server option (or to the server name for any folder collection - using NNTP) will cause _Alpine_ to attempt to authenticate to the - server using the supplied username. An example might be: - - /user=katie - - TLS - Normally, when a new connection is made an attempt is made to - negotiate a secure (encrypted) session using Transport Layer Security - (TLS). If that fails then a non-encrypted connection will be - attempted instead. This is a unary parameter indicating communication - with the server must take place over a TLS connection. If the attempt - to use TLS fails then this parameter will cause the connection to - fail instead of falling back to an unsecure connection. - - /tls - - SSL - This is a unary parameter indicating communication with the server - should take place over a Secure Socket Layer connection. The server - must support this method, and be prepared to accept connections on - the appropriate port (993 by default). _Alpine_ must be linked with - an SSL library for this option to be operational. - - /ssl - - NoValidate-Cert - Do not validate certificates (for TLS or SSL connections) from the - server. This is needed if the server uses self-signed certificates or - if _Alpine_ cannot validate the certificate for some other known - reason. - - Anonymous - This is a unary parameter (that means it does not have a value) - indicating that the connection be logged in as "anonymous" rather - than a specific user. Not all servers offer anonymous access; those - which do generally only offer read-only access to certain "public" - folders. - - /anonymous - - Secure - This is a unary parameter indicating that the connection use the most - secure authentication method mutually supported by _Alpine_ and the - server. _Alpine_ is capable of authenticating connections to the - server using several methods. By default, _Alpine_ will attempt each - method until either a connection is established or the list of - methods is exhausted. This parameter causes _Alpine_ to instead fail - the connection if the first (generally most "secure") method fails. - - /secure - - Submit - This is a unary parameter for use with the "SMTP-Server" option. It - indicates that the connection should be made to the Submit server - (RFC 3676) (port 587) instead of the SMTP port (25). At the time this - help was written the submit option was equivalent to specifying port - 587. - - /submit - - or - - host:587 - - Debug - This is a unary parameter indicating that the connection be - established in a verbose mode. Basically, it causes _Alpine_ to log - the communication with the server in _Alpine_'s debug file. Normally, - the alpine -d command-line flag would be used instead. - - NoRsh - By default, _Alpine_ attempts to login using "rsh", the UNIX remote - shell program. Including "NoRsh" will cause connections to this - server to skip the "rsh" attempt. This might be useful to avoid long - timeouts caused by rsh firewalls, for example. - - Service - This parameter requires an associated value. The default value is - "IMAP" which indicates communication with the server based on the - IMAP4rev1 protocol (defined in RFC 3501 -- see - http://www.imap.org/docs/rfc3501.html). Other service values include: - - NNTP - This value indicates communication with the server takes place - via the Network News Transfer Protocol. Use this to define a - collection of newsgroups on a remote news server. So - - /service=NNTP - - or just - - /NNTP - - is the way to specify NNTP access. - - POP3 - This value indicates communication with the server takes place - via the Post Office Protocol 3 protocol. - - /service=POP3 - - or just - - /POP3 - - Note that there are several important issues to consider when - selecting this option: - - 1. POP3 provides access to only your INBOX. In other words, - secondary folders such as your "saved-messages" are - inaccessible. - 2. _Alpine_'s implementation of POP3 does not follow the - traditional POP model and will leave your mail on the server. - Refer to the Mail Drop functionality for a possible way around - this problem. - 3. See the discussion about new-mail checking in - Folder-Reopen-Rule. - - Note that it is possible to include more than one parameter in a server - specification by concatenating the parameters. For example: - - foo.example.com:port/user=katie/novalidate-cert/debug - _________________________________________________________________ - -Folder Namespaces - - A _Alpine_ folder name looks like - - [{<remote-specification>}][#<namespace>][<namespace-specific-part>] - - The local part of a folder name has an optional "Namespace" which tells - _Alpine_ how to interpret the rest of the name. - - By default the folder name is interpreted as defining a section of your - personal folder area. This area and how you specify it are defined by the - server, if one is specified, or, typically, the home directory, if no server - is defined. - - If a namespace is specified, it begins with the sharp, "#", character - followed by the name of the namespace and then the namespace's - path-element-delimiter. Aside from the path's format, namespaces can also - imply access rights, content policy, audience, location, and, occasionally, - access methods. - - Each server exports its own set (possibly of size one) of namespaces. Hence, - it's likely communication with your server's administrator will be required - for specific configurations. Some of the more common namespaces, however, - include: - - #news. - This specifies a set of folders in the newsgroup namespace. Newsgroup - names are hierarchically defined with each level delimited by a - period. - - #news.comp.mail.pine - - #public/ - This specifies a folder area that the server may export to the - general public. - - #shared/ - This specifies a folder area that the folder may export to groups of - users. - - #ftp/ - This specifies a folder area that is the same as that it may have - exported via the "File Transfer Protocol". - - #mh/ - This specifies the personal folder area associated with folders and - directories that were created using the MH message handling system. - - #move/ - This namespace is interpreted locally by _Alpine_. It has an unusual - interpretation and format. - - #move<DELIM><MailDropFolder><DELIM><DestinationFolder> - - The #move namespace is followed by two folder names separated by a - delimiter character. The delimiter character may be any character - which does not appear in the MailDropFolder name. The meaning of - #move is that mail will be copied from the MailDropFolder to the - DestinationFolder and then deleted (if possible) from the - MailDropFolder. Periodic checks at frequency Mail-Check-Interval, but - with a minimum time between checks set by MailDrop-Check-Minimum, are - made for new mail arriving in the MailDropFolder. An example which - copies mail from a POP inbox to a local folder follows - - #move+{popserver.example.com/pop3/ssl}inbox+local folder - - To you it appears that mail is being delivered to the local folder - when it is copied from the MailDropFolder, and you read mail from the - local folder. - - Note that if the DestinationFolder does not exist then the messages - are not copied from the MailDropFolder. A #move folder may only be - used as an Incoming folder or an Inbox. When you are in the FOLDER - LIST of Incoming Message Folders (after turning on the - enable-incoming-folders option) the Add command has a subcommand "Use - Mail Drop" which may be helpful for defining the folder in your - _Alpine_ configuration. The same is true when you edit the Inbox-Path - option in Setup/Config. Each of these configuration methods will also - create the DestinationFolder if it doesn't already exist. If you are - having problems, make sure the DestinationFolder exists. - - In addition, the server may support access to other user's folders, provided - you have suitable permissions. Common methods use a prefix of either - "~user/", or "/user/" to indicate the root of the other user's folder area. - _________________________________________________________________ - -What is a Mail Drop? - - In some situaions it may make sense to have your mail delivered to one - folder (the Mail Drop) and then when you want to read mail that has been - delivered to the Mail Drop folder _Alpine_ will move it to another - destination folder. Often the Mail Drop will be a remote folder and messages - will be moved from there to a local destination folder. - - One example where this might make sense is if the Mail Drop folder is - accessible only with the POP protocol. You could designate your POP inbox as - the Mail Drop folder and have _Alpine_ move mail from there to a local (on - the same machine _Alpine_ is running on) destination folder, where you'll - read it. - - A Mail Drop may only be used as your Inbox or as an Incoming folder. - - There is no attempt to synchronize the contents of the destination folder - with the contents of the Mail Drop folder. All that happens is that all of - the messages in the Mail Drop folder are copied to the destination folder - and then they are deleted and expunged (if possible) from the Mail Drop - folder. The next time a check for new mail is made, any messages in the Mail - Drop folder are once again copied to the destination folder and deleted and - expunged from the Mail Drop folder. (If the Mail Drop folder is a news - group, then the messages can't be expunged from the newsgroup. Instead, only - Recent messages are copied from the newsgroup to the destination folder.) - - Configuration of a Mail Drop is a little different from configuration of a - folder which does not use a Mail Drop because you have to specify two folder - names instead of one. The two folders may be any types of folders that - _Alpine_ can normally use. They don't have to be a remote folder and a local - folder, that is simply the most common usage. When you use a Mail Drop - folder _Alpine_ will periodically re-open the Mail Drop to check for new - mail. The new-mail checks will happen at the frequency set with the - Mail-Check-Interval option, but with a minimum time (MailDrop-Check-Minimum) - between 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. If - the user initiates the check by typing ^L (Ctrl-L) or the Next command when - at the end of the folder index, then the check will happen, regardless of - how long it has been since the previous check. - - If there is new mail, that mail will be copied to the destination folder and - then will be deleted from the Mail Drop. Note that using a Mail Drop with a - local destination folder does not make sense if you read mail from more than - one machine, because the mail is downloaded to the destination folder (which - is accessible from only one machine) and deleted from the Mail Drop. - - The feature Maildrops-Preserve-State modifies the operation of Mail Drops. - - The actual syntax used by _Alpine_ for a folder that uses a Mail Drop is: - - #move<DELIM><MailDropFolder><DELIM><DestinationFolder> - - The brackets are not literal. - - <DELIM> - - is a single character which does not appear in the MailDropFolder name. If - the name doesn't contain spaces then it can be a space character. The two - folder names are full technical folder names as used by _Alpine_. Here are a - couple examples to give you an idea what is being talked about: - - #move {popserver.example.com/pop3}inbox localfolder - - #move+{nntpserver.example.com/nntp}#news.comp.mail.pine+local folder - - A #move folder may only be used as an Incoming folder or an Inbox. When you - are in the FOLDER LIST of Incoming Message Folders (after turning on the - Enable-Incoming-Folders option) the Add command has a subcommand "Use Mail - Drop" which may be helpful for defining the folder in your _Alpine_ - configuration. The same is true when you edit the Inbox-Path option in - Setup/Config. - if it doesn't already exist. If you are having problems, make sure the - DestinationFolder exists. - _________________________________________________________________ - -Sorting a Folder - - The mail index may be sorted by arrival, date, subject, from, size, score, - to, or cc order. Each sort order can also be reversed. The _$_ command will - prompt the user for the sort order. The sort order can also be specified on - the command line with the _-sort_ flag or (equivalently) with the sort-key - variable in the _pinerc_ file. When a user changes folders, the sort order - will go back to the original sort order. The command line (_-sort_) or - configuration file sort specification (_sort-key_) changes the original sort - order. - - When a folder is sorted and new mail arrives in the folder it will be - inserted in its properly sorted place. This can be a little odd when the - folder is sorted by something like the subject. It can also be a little slow - if you are viewing a large, sorted _INBOX_, since the _INBOX_ will have to - be re-sorted whenever new mail arrives. - - The sorts are all independent of case and ignore leading or trailing white - space. There are actually two forms of subject sort. One called _Subject_ - and the other called _OrderedSubj_. They both ignore "Re:" at the beginning - and "(fwd)" at the end of the subjects. _Subject_ sorts all the subjects - alphabetically. _OrderedSubj_ sorts by subjects alphabetically, groups - messages with the same subject (pseudo-threads), then sorts the groups by - the date of the first message of the group. Sorting by _Thread_ was added - after _OrderedSubj_ and is usually a better method. Thread sorting uses - information in the message headers References, Message-ID, and Subject. It - is possible the sort will be slightly slower with a Thread sort than with an - OrderedSubj sort. The sort by sender sorts by the user-id (part before the - "@"), not the full name. The arrival sort is no sort at all and the date - sort depends on the format of the date. Some dates are in strange formats - and are unparsable. The time zone is also taken into account. - - Sorting large mail folders can be very slow since it requires fetching all - the headers of the mail messages. With UNIX _Alpine_, only the first sort is - slow since _Alpine_ keeps a copy of all the headers. One exception is - sorting in reverse arrival order. This is fast because no headers have to be - examined. _Alpine_ will show progress as it is sorting. - _________________________________________________________________ - -Alternate Editor - - In the _Alpine_ composer you can use any text editor, such as _vi_ or - _emacs,_ for composing the message text. The addresses and subject still must - be edited using the standard _Alpine_ composer. If you include the feature - enable-alternate-editor-cmd in your _pinerc_ you can type _^__ while in the - body of the message in the composer and be prompted for the editor. If you - also set the editor variable in your _pinerc_ then _^__ will invoke the - configured editor when you type it. - - Turning on the feature enable-alternate-editor-implicitly will automatically - invoke the editor you have defined with the _editor_ variable whenever you - enter the body of a message you are composing. For example, when you move - out of the last header line and into the body of the message, the alternate - editor will be automatically invoked. - - We know that many people would like to use the alternate editor to edit the - mail header as well. We considered several designs for this and didn't come - up with one that we liked and that was easy to implement. One of the main - problems is that you lose access to the address book. - _________________________________________________________________ - -Signatures and Signature Placement - - If the file _~/.signature_ (UNIX) or _<PINERC_directory>\PINE.SIG (PC) - exists, it will be included in all outgoing messages. It is included before - composition starts so that the user has a chance to edit it out if he or she - likes. The file name for the signature can be changed by setting the - signature-file variable in the _pinerc_. If the feature enable-sigdashes is - turned on then the line consisting of the three characters "-- " is - prepended to the signature file. When Replying or Forwarding a message - different signatures my be automatically included by configuring them in the - Roles setup screen. It's easy to include different signatures by hand, by - having multiple signature files (_.sig1, .sig2, .sig3, etc_) and choosing to - include (^R in the composer) the correct one for the message being sent. - - _Alpine_'s default behavior encourages a user to put his or her contribution - before the inclusion of the original text of the message being forwarded or - replied to, This is contrary to some conventions, but makes the conversation - more readable when a long original message is included in a reply for - context. The reader doesn't have to scroll through the original text that he - or she has probably already seen to find the new text. If the reader wishes - to see the old message(s), the reader can scroll further into the message. - Users who prefer to add their input at the end of a message should set the - signature-at-bottom feature. The signature will then be appended to the end - of the message after any included text. This feature applies when - _Reply_ing, not when _Forward_ing. - _________________________________________________________________ - -Feature List Variable - - _Alpine_ used to have _feature levels_ for users with different amounts of - experience. We found that this was too restrictive. _Alpine_ now has a - feature-list instead. Each user may pick and choose which features they - would like enabled (simple to do in the _Setup/Config_ screen). There is a - short description of each in Configuration Features. There is also a short - on-line help explaining the effect of each of the features in the - _Setup/Config_ screen. When the cursor is highlighting a feature, the _?_ - command will show the help text for that feature. Features don't have - values, they are just turned on or off. They are all off by default. - - The _feature-list_ variable is different from all other configuration - variables in that its value is additive. That is, the system-wide - configuration file can have some features turned on by default. The user can - select other features in their personal configuration file and those - features will be _added_ to the set of features turned on in the system-wide - configuration file. (With all other configuration variables, the user's - values _replace_ the system-wide values.) Likewise, additional features may - be set on the command-line with the argument "-feature-list=". These will be - added to the others. - - The treatment of _feature-list_ in the system-wide _fixed_ configuration - file is also different from other variables. The system management can fix - the value of individual features by placing them in the fixed configuration - file. Users will not be able to alter those features, but will still be able - to set the other non-restricted features the way they like. - - Because _feature-list_ is additive, there is a way to turn features off as - well as on. Prepending the prefix "no-" to any feature sets it to off. This - is useful for over-riding the system-wide default in the personal - configuration file or for over-riding the system-wide default or the - personal configuration value on the command line. For example, if the - system-wide default configuration has the _quit-without-confirm_ feature - set, the user can over-ride that (and turn it off) by including - _no-quit-without-confirm_ in the personal configuration file or by giving the - command line argument _-feature-list=no-quit-without-confirm._ More features - (options) will no doubt continue to be added. - _________________________________________________________________ - -Configuration Inheritance - - We start with an explanation of how configuration works in hopes of making - it easier to describe how inheritance works. - - _Alpine_ uses a hierarchy of configuration values from different locations. - There are five ways in which each configuration option (configuration - variable) can be set. In increasing order of precedence they are: - - 1. the system-wide configuration file. - 2. the personal configuration file - 3. the personal exceptions file - 4. a command line argument - 5. the system-wide _fixed_ configuration file (Unix _Alpine_ only) - - The fixed configuration file is normally /usr/local/lib/pine.conf.fixed. - - The system-wide configuration file is normally /usr/local/lib/pine.conf for - Unix _Alpine_ and is normally not set for _PC-Alpine_. For _PC-Alpine_, if - the environment variable _$PINECONF_ is set, that is used for the - system-wide configuration. This location can be set or changed on the - command line with the -P flag. The system-wide configuration file can be - either a local file or a remote configuration folder. - - For Unix _Alpine_, the personal configuration file is normally the file - .pinerc in the user's home directory. This can be changed with the -p - command line flag. For _PC-Alpine_, the personal configuration file is in - $PINERC or <PineRC registry value> or ${HOME}\ALPINE\PINERC or <ALPINE.EXE - dir>\PINERC. This can be changed with the -p command line flag. If -p or - $PINERC is used, the configuration data may be in a local file or a remote - config folder. - - For Unix _Alpine_, the personal exceptions configuration file is specified - with the "-x exceptions_config" command line argument. "Exceptions_config" - may be either a local file or a remote configuration folder. If there is no - "-x" command line option, _Alpine_ 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 _Alpine_ looks in the home directory - for ".pinercex". - - For _PC-Alpine_, the personal exceptions configuration file is specified - with the "-x exceptions_config" command line argument. If there is no "-x" - command line argument the environment variable $PINERCEX may be set to the - name of the "exceptions_config" instead. "Exceptions_config" may be either a - local file or a remote configuration folder. If there is no "-x" command - line option and $PINERCEX is not set, _PC-Alpine_ 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 _PC-Alpine_ looks in - the local directory specified by the "-aux local_directory" command line - argument, or the directory ${HOME}\ALPINE, or in <ALPINE.EXE directory> for - a file named "PINERCEX". - - To reiterate, the value of a configuration option is taken from the last - location in the list above in which it is set. Or, thinking about it - slightly differently, a default value for an option is established in the - system-wide configuration file (or in the source code if there is no value - in the system-wide file). That default remains in effect until and unless it - is overridden by a value in a location further down the list, in which case - a new "default" value is established. As we continue down the list of - locations we either retain the value at each step or establish a new value. - The value that is still set after going through the whole list of - configuration locations is the one that is used. - - So, for example, if an option is set in the system-wide configuration file - and in the personal configuration file, but is not set in the exceptions, on - the command line, or in the fixed file; then the value from the personal - configuration file is the one that is used. Or, if it is set in the - system-wide config, in the personal config, not in the exceptions, but is - set on the command line; then the value on the command line is used. - - Finally we get to inheritance. For configuration options which are lists, - like "smtp-server" or "incoming-folders", the inheritance mechanism makes it - possible to _combine_ the values from different locations instead of - _replacing_ the value. This is true of all configuration lists other than the - "feature-list", for which you may already set whatever you want at any - configuration location (by using the "no-" prefix if necessary). - - To use inheritance, set the first item in a configuration list to the token - "INHERIT". If the first item is "INHERIT", then instead of replacing the - default value established so far, the rest of the list is appended to the - default value established so far and that is the new value. - - Here is an example which may make it clearer. Suppose we have: - - System-wide config : smtp-server = smtp1.corp.com, smtp2.corp.com - Personal config : smtp-server = INHERIT, mysmtp.home - Exceptions config : smtp-server = <No Value Set> - Command line : smtp-server = <No Value Set> - Fixed config : smtp-server = <No Value Set> - - This would result in an effective smtp-server option of - - smtp-server = smtp1.corp.com, smtp2.corp.com, mysmtp.home - - The "INHERIT" token can be used in any of the configuration files and the - effect cascades. For example, if we change the above example to: - - System-wide config : smtp-server = smtp1.corp.com, smtp2.corp.com - Personal config : smtp-server = INHERIT, mysmtp.home - Exceptions config : smtp-server = INHERIT, yoursmtp.org - Command line : smtp-server = <No Value Set> - Fixed config : smtp-server = <No Value Set> - - This would result in: - - smtp-server = smtp1.corp.com, smtp2.corp.com, mysmtp.home, yoursmtp.org - - Unset variables are skipped over (the default value is carried forward) so - that, for example: - - System-wide config : smtp-server = smtp1.corp.com, smtp2.corp.com - Personal config : smtp-server = <No Value Set> - Exceptions config : smtp-server = INHERIT, yoursmtp.org - Command line : smtp-server = <No Value Set> - Fixed config : smtp-server = <No Value Set> - - produces: - - smtp-server = smtp1.corp.com, smtp2.corp.com, yoursmtp.org - - If any later configuration location has a value set (for a particular list - option) which does _not_ begin with "INHERIT", then that value replaces - whatever value has been defined up to that point. In other words, that - cancels out any previous inheritance. - - System-wide config : smtp-server = smtp1.corp.com, smtp2.corp.com - Personal config : smtp-server = INHERIT, mysmtp.org - Exceptions config : smtp-server = yoursmtp.org - Command line : smtp-server = <No Value Set> - Fixed config : smtp-server = <No Value Set> - - results in: - - smtp-server = yoursmtp.org - - For some configuration options, like "viewer-hdr-colors" or - "patterns-roles", it is difficult to insert the value "INHERIT" into the - list of values for the option using the normal Setup tools. In other words, - the color setting screen (for example) does not provide a way to input the - text "INHERIT" as the first item in the viewer-hdr-colors option. The way to - do this is to either edit the pinerc file directly and manually insert it, - or turn on the "expose-hidden-config" feature and insert it using the - Setup/Config screen. - _________________________________________________________________ - -Using Environment Variables - - The values of _Alpine_ configuration options may include environment - variables which are replaced by the value of the variable at the time - _Alpine_ is run (and also at the time the config option is changed). The - syntax to use environment variables is a subset of the common Unix shell - dollar-syntax. For example, if - - $VAR - - appears in the value of a _Alpine_ configuration option it is looked up in - the environent (using getenv("VAR")) and its looked-up value replaces the - $VAR part of the option value. To include a literal dollar sign you may - precede the dollar sign with another dollar sign. In other words, if the - text - - $$text - - is the value of a configuration option, it will be expanded to - - $text - - and no environment lookup will be done. For Unix _Alpine_ it will also work - to use a backslash character to escape the special meaning of the dollar - sign, but $$ is preferable since it works for both _PC-Alpine_ and Unix - _Alpine_, allowing the configuration option to be in a shared configuration - file. - - This all sounds more complicated than it actually is. An example may make it - clearer. Unfortunately, the way in which environment variables are set is - OS-dependent and command shell-dependent. In some Unix command shells you - may use - - PERSNAME="Fred Flintstone" - - export PERSNAME - - Now, if you use _Alpine_'s Setup/Config screen to set - - personal-name=$PERSNAME - - the $PERSNAME would be replaced by Fred Flintstone so that this would be - equivalent to - - personal-name=Fred Flintstone - - Note, environment variable substitution happens after configuration options - which are lists are split into the separate elements of the list, so a - single environment variable can't contain a list of values. - - The environment variable doesn't have to be the only thing after the equal - sign. However, if the name of the variable is not at the end of the line or - followed by a space (so that you can tell where the variable name ends), it - must be enclosed in curly braces like - - ${VAR} - - It is always ok to use the braces even if you don't need to. - - It is also possible to set a default value for an environment variable. This - default value will be used if the environment variable is not set (that is, - if getenv("VAR") returns NULL). The syntax used to set a default value is - - ${VAR:-default value} - - If the config file contains - - personal-name=${VAR:-Fred Flintstone} - - then when _Alpine_ is run VAR will be looked up in the environment. If VAR - is found then personal-name will have the value that VAR was set to, - otherwise, personal-name will be set to Fred Flintstone, the default value. - - An example where an environment variable might be useful is the variable - inbox-path in the global configuration file. Suppose most users used the - server - - imapserver.example.com - - but that there were some exceptions who used - - altimapserver.example.com - - In this case, the system manager might include the following line in the - systemwide default _Alpine_ configuration file - - inbox-path=${IMAPSERVER:-imapserver.example.com} - - For the exceptional users adding - - IMAPSERVER=altimapserver.example.com - - to their environment should work. - - Another example might be the case where a user has to use a different SMTP - server from work and from home. The setup might be something as simple as - - smtp-server=$SMTP - - or perhaps a default value could be given. Note that, as mentioned above, - the variable SMTP cannot contain a list of SMTP servers. - _________________________________________________________________ - -SMTP Servers - - It is sometimes desirable to set smtp-server=localhost instead of setting - sendmail-path to overcome the inability to negotiate ESMTP options when - _sendmail_ is invoked with the _-t_ option. Sendmail can also be subject to - unacceptable delays due to slow DNS lookups and other problems. - - It is sometimes desirable to configure an SMTP server on a port other than - the default port 25. This may be used to provide an alternate service that - is optimized for a particular environment or provides different features - from the port 25 server. An example would be a program that negotiates ESMTP - options and queues a message, but does not attempt to deliver messages. This - would avoid delays frequently encountered when invoking _sendmail_ directly. - - A typical configuration would consist of - * A program that implements the SMTP or ESMTP protocol via stdio. - * An entry in /etc/services for the alternate service. - * An entry in /etc/inetd.conf for the alternate service. - * An entry in /usr/local/lib/pine.conf, /usr/local/lib/pine.conf.fixed or - ~/.pinerc. - _________________________________________________________________ - -MIME.Types file - - _Alpine_'s MIME-TYPE support is based on code contributed by Hans Drexler - <drexler@mpi.nl>. _Alpine_ assigns MIME Content-Types according to - file name extensions found in the system-wide files - /usr/local/lib/mime.types and /etc/mime.types, and a user specific - ~/.mime.types file. - - In Windows, _Alpine_ looks in the same directory as the PINERC file and the - same dir as ALPINE.EXE. This is similar to the UNIX situation with personal - config info coming before potentially shared config data. An alternate - search path can be specified by setting the mimetype-search-path variable in - the user or system-wide configuration or by setting the MIMETYPES - environment variable. - - These files specify file extensions that will be connected to a mime type. - Lines beginning with a '#' character are treated as comments and ignored. - All other lines are treated as a mime type definition. The first word is a - _type/subtype_ specification. All following words are file _extensions_ - belonging to that type/subtype. Words are separated by whitespace - characters. If a file extension occurs more than once, then the first - definition determines the file type and subtype. A couple sample lines from - a mime.types file follow: - -image/gif gif -text/html html htm -video/mpeg mpeg mpg mpe - _________________________________________________________________ - -Color Details - - UNIX _Alpine_ may display color if the terminal or terminal emulator you are - using is capable of displaying colors. If the terminal supports ANSI color - escape sequences you will be able to turn color on using the color-style - option and setting it to the value _force-ansi-8color_ or - _force-ansi-16color_. If instead you'd like _Alpine_ to automatically detect - whether or not you are on a color terminal, set _color-style_ to - _use-termdef_ _and_ configure the termcap entry to describe your terminal's - color capabilities. - - If the _color-style_ option is set to _use-termdef_, _Alpine_ looks in the - terminal capabilities database, TERMINFO or TERMCAP, depending on how - _Alpine_ was compiled, to decide whether or not your terminal is capable of - color. For TERMINFO compiled _Alpine_s, the capabilities that are used for - color are "colors", "setaf", "setab", "op", and "bce". If you have a - terminal with color capabilities described by the "scp" capability, _Alpine_ - does not support it. The capabilities "setf" and "setb" may be used instead - of "setaf" and "setab". The capability "bce" is optional and is used as an - optimization, the other capabilities are required. For TERMCAP compiled - _Alpine_s, the capabilities that are used for color are "Co", "AF", "AB", - "op", and "ut". The capabilities "Sf" and "Sb" may be used instead of "AF" - and "AB", though this isn't a useful feature. - - Here are some short descriptions of the capabilities listed above. The - TERMINFO name is listed, followed by the TERMCAP name in parentheses. - _colors_ (_Co_) - The number of different colors. - _setaf_ (_AF_) - Set ANSI foreground color. - _setab_ (_AB_) - Set ANSI background color. - _setf_ (_Sf_) - Set foreground color. Alternate form of _setaf_. - _setb_ (_Sb_) - Set background color. Alternate form of _setab_. - _op_ (_op_) - Set default pair to its original value. - _bce_ (_ut_) - Screen is erased with current background color instead of default - background. - - A standard ANSI terminal which supports color will have a TERMINFO entry - which contains: - colors#8 - setaf=\E[3%p1%dm - setab=\E[4%p1%dm - op=\E[39;49m - bce - - or the TERMCAP equivalent: - Co#8 - AF=\E[3%dm - AB=\E[4%dm - op=\E[39;49m - ut - - If there are eight colors, the program uses colors 0, 1, ..., 7. For an ANSI - terminal, the foreground color is set by sending the escape sequence "Escape - LeftBracket 3 color_number m" to the terminal. The background color is set - by sending the sequence "Escape LeftBracket 4 color_number m". ANSI colors - zero through seven are defined to be "black", "red", "green", "yellow", - "blue", "magenta", "cyan", and "white". Some terminal emulators will swap - blue and red and swap yellow and cyan. The capabilities "setf" and "setb" - are usually designed for those terminals so that they will flip the color - numbers 1 and 4 and the numbers 3 and 6 to compensate for this. _Alpine_ - will use the ANSI versions of the capabilities if they exist, and will use - the non-ANSI versions (setf and setb) if the ANSI versions don't exist. - Here's a version which does the flipping. This can only be used with - TERMINFO _Alpine_s, because of the arithmetic, which is not supported by - TERMCAP. - colors#8 - setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m - setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m - op=\E[39;49m - bce - - Some terminal emulators are capable of displaying eight more colors when the - foreground colors 30-37 are replaced with 90-97 and the background colors - 40-47 are replaced with 100-107. These terminals require a fancy termcap - entry which can take foreground colors 0, 1, ..., 15 and map that into 30, - 31, ..., 37, 90, 91, ..., 97, and similarly for the background colors. Here - is a terminfo entry which will do just that: - colors#16 - setaf=%p1%{8}%/%{6}%*%{3}%+\E[%d%p1%{8}%m%dm - setab=%p1%{8}%/%{6}%*%{4}%+\E[%d%p1%{8}%m%dm - op=\E[39;49m - bce - - and here is the termcap equivalent: - Co#16 - AF=\E[%i%i%>\001\034%>\045\064%dm - AB=\E[%i%i%>\001\046%>\057\064%dm - op=\E[39;49m - ut - - This is a terminfo entry for 16 colors that also does the color flipping: - colors#16 - setf=%p1%{8}%/%{6}%*%{3}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga% -{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m - setb=%p1%{8}%/%{6}%*%{4}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga% -{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m - op=\E[39;49m - bce - - If you are always using the same display it probably won't matter to you if - the color pairs red/blue and cyan/yellow are flipped, since you'll always be - seeing them flipped. You will get different defaults than on a display with - them not flipped, but that's about all. If you are trying to use the same - pinerc file from displays with different color characteristics, or from - _Alpine_ and _PC-Alpine_, you will have to be more careful. The colors - numbered 0 through 7 may be used portably between different systems if you - are careful to make them correspond to the ANSI order mentioned above. You - can check this by looking at a color configuration screen for one of the - colors. The first eight colors should be in the order above. If they aren't, - you could fix that by modifying your termcap entry on the UNIX system. This - is not possible if your system uses TERMCAP instead of TERMINFO. - _________________________________________________________________ - -S/MIME Overview - - UNIX _Alpine_ only. - - S/MIME is a standard for the public key encryption and signing of email. - UNIX _Alpine_ contains a basic implementation of S/MIME based on the OpenSSL - libraries. - - Some limitations: - * There is no _PC-Alpine_ implementation. - * There is no provision for checking for CRLs (Certificate Revocation - Lists) in _Alpine_. - * This built-in S/MIME implementation is not compatible with and does not - help with PGP. - * There is no mechanism available for feeding either an entire incoming or - an entire outgoing message to an external filter and using that external - filter to do S/MIME or PGP processing. - * Because the implementation currently uses OpenSSL, there is only a very - limited integration with the Mac OS Keychain (the storing and access of - public certificates). - * There is no way to view or manipulate the lists of certificates from - within _Alpine_. - - The S/MIME configuration screen is reached by going to the Main Menu and - typing the "S Setup" command followed by "M S/MIME". - - S/MIME BASICS - - In order to digitally sign messages you send you must have a public/private - key-pair. This may be obtained from a public Certificate Authority (CA) such - as Thawte, Verisign, Comodo, or GoDaddy; or from a smaller CA such as a - university which provides certificates for its users or a company which - provides certificates for its workers. These certificates are bound to an - email address, so the identity being verified is the email address not a - person's name. - - Mail is signed by using the sender's private key, which only the owner of - the private key has access to. The signature is verified using the signer's - public key, which anyone can have access to. With _Alpine_, the first time - you receive a signed message the public key of the sender will be stored for - future use. - - Mail is encrypted using the recipient's public key and decrypted by the - recipient with their private key. - - You need a key of your own in order to sign outgoing messages and to have - others encrypt messages sent to you. You do not need a key of your own to - verify signed messages sent by others or to encrypt messages sent to others. - - ALPINE S/MIME CERTIFICATE STORAGE - - By default UNIX _Alpine_ stores the certificates it uses in a directory in - your home directory. The directory name is - - .alpine-smime - - Within that directory are three subdirectories. Each of the three - subdirectories contains files with PEM-encoded contents, the default format - for OpenSSL. The "public" directory contains public certificates. The files - within that directory have names that are email addresses with the suffix - ".crt" appended. An example filename is - - user@example.com.crt - - The "private" directory contains private keys, probably just one for your - private key. These are also email addresses but with the suffix ".key" - instead. The third directory is "ca" and it contains certificates for any - Certificate Authorities that you want to trust but that aren't contained in - the set of system CAs. Those files may have arbitrary names as long as they - end with the suffix ".crt". - - HOW TO SIGN AND ENCRYPT - - If you have a certificate you may sign outgoing messages. After typing the - Ctrl-X command to send a message you will see the prompt - - Send message? - - Available subcommands include "G Sign" and "E Encrypt". Typing the "G" - command will change the prompt to - - Send message (Signed)? - - Typing the "E" command will change the prompt to - - Send message (Encrypted)? - - You may even type both to get - - Send message (Encrypted, Signed)? - - HOW TO READ SIGNED OR ENCRYPTED MESSAGES - - The reading of a signed message should not require any special action on - your part. There should be an editorial addition at the start of the message - which says either - - This message was cryptographically signed. - - or - - This message was cryptographically signed but the signature could not be - verified. - - If an encrypted message is sent to you the encrypted text will not be shown. - You will have to type the "Ctrl-D Decrypt" command (from the screen where - you are viewing the message) and supply your passphrase when asked. - - For a signed or encrypted message there is also a "Ctrl-E Security" command - which gives you some information about the certificate used to sign or - encrypt the message. - - MISCELLANEOUS - - You may have access to a private certificate in the PKCS12 format, which - would sometimes be in a file with a ".p12" suffix. The UNIX shell command - - openssl pkcs12 -in file.p12 -out file.pem - - may work to convert that from the PKCS12 format to the PEM format. Then that - file could be placed in the "private" directory with a filename of your - email address followed by the suffix ".key". - _________________________________________________________________ - -Additional Notes on PC-Alpine - - Below are a few odds and ends worth mentioning about _PC-Alpine_. They have - to do with DOS-specific behavior that is either necessary or useful (and - sometimes both!). - - As _PC-Alpine_ runs in an environment with limited access control, - accounting or auditing, an additional line is automatically inserted into - the header of mail messages generated by _PC-Alpine_: - X-Sender: <userid>@<imap.host> - - By popular demand of system administrators, _PC-Alpine_ has been modified to - prevent sending messages until the user has successfully logged into a - remote mail server. Even though _PC-Alpine_ cannot prevent users from - changing the apparent identity of the sender of a message, the IMAP server - login name and host name included in the _X-Sender_ line provide some level - of traceability by the recipient. However, this should not be considered a - rigorous form of authentication. It is extremely lightweight, and is not a - replacement for true authentication. - - Hand in hand with authentication and accounting is user information. Since - _PC-Alpine_ has no user database to consult for _user-id_, _personal-name_, - etc., necessary information must be provided by the user/installer before - _PC-Alpine_ can properly construct the "From" address required for outbound - messages. _PC-Alpine_ will, by default, prompt for the requisite pieces as - they are needed. This information corresponds to the _PINERC_ variables - user-id, personal-name, user-domain, and smtp-server. - - The user is then asked whether or not this information should automatically - be saved to the _PINERC_. This is useful behavior in general, but can lead - to problems in a lab or other shared environment. Hence, these prompts and - automatic saving of configuration can be turned off on an entry by entry - basis by setting any of the above values in the _PINERC_ to the null string - (i.e., a pair of double quotes). This means that the user will be prompted - for the information once during each _Alpine_ session, and no opportunity to - save them in the _PINERC_ will be offered. - - Another feature of DOS is the lack of standard scratch area for temporary - files. During the course of a session, _PC-Alpine_ may require numerous - temporary files (large message texts, various caches, etc.). Where to create - them can be a problem, particularly when running under certain network - operating systems. _PC-Alpine_ observes the _TMPDIR_, _TMP_, and _TEMP_ - environment variables, and creates temporary files in the directory - specified by either. In their absence, _PC-Alpine_ creates these files in - the root of the current working drive. Some temporary files have to be - created in the same directory as the file they are a temporary copy of. For - example, a pinerc file or a address book file. - - Behind the Scenes - - Many people ask how certain _Alpine_ features are implemented. This section - outlines some of the details. - -Address Books - - There are two types of address book storage. There are _local_ address - books, which are the address books that are stored in a local file; and - there are _remote_ address books, which are stored on an IMAP server. - - Information About Remote Address Books - - NOTE: The remote address book capability does not allow you to access an - existing local address book from a remote system! That is, you can't set - the remote address book to something like {remote.host}.addressbook and - expect to access the existing .addressbook _file_ on remote.host. Instead, - you need to create a new remote address book in a new, previously unused - remote mail _folder_. Then you can use the _Select_ and _Apply Save_ - commands in the address book screen to _Save_ all of the entries from an - existing local address book to the new remote address book. - - A remote address book is stored in a mail folder on an IMAP server. An - _Alpine_ remote address book is just like an _Alpine_ local address book in - that it is not interoperable with other email clients. The folder is a - regular folder containing mail messages but those messages are special. The - first message must be an alpine remote address book header message which - contains the header _x-pine-addrbook_. The last message in the folder - contains the address book data. In between the first and the last message - are old versions of the address book data. The address book data is simply - stored in the message as it would be on disk, with no MIME encoding. When it - is used the data from the last message in the folder is copied to a local - file and then that file is used exactly like a local address book file is - used. When a change is made the modified local file is appended to the - remote folder in a new message. In other words, the local file is just a - cache copy of the data in the remote folder. Each client which uses the - remote address book will have its own cache copy of the data. Whenever a - copy is done the entire address book is copied, not just the entries which - have changed. - - _Alpine_ can tell that the remote data has changed by one of several - methods. If the date contained in the Date header of the last message has - changed then it knows it has changed. If the UID of the last message has - changed, or the number of messages in the folder has changed, it knows that - it has changed. When _Alpine_ discovers the folder has changed it gets a new - copy and puts it in the local cache file. - - There is a configuration file variable for remote address books called - remote-abook-metafile. The variable is the name of a file in which - information about remote address books is stored. There is one line in the - metafile for each remote address book. The information stored there is the - name of the cache file and information to help figure out when the remote - folder was last changed. If the metafile or any of the cache files is - deleted then _Alpine_ will rebuild them the next time it runs. - - Remote address books have names that look just like regular remote mail - folder names. For example: - - {host.domain}foldername - - _Alpine_ decides whether or not an address book is remote simply by looking - at the first character of the address book name and comparing it to '{'. - - Information About All Address Books - - The address book is named, by default, .addressbook in the user's Unix home - directory, or in the case of _PC-Alpine_, ADDRBOOK, in the same directory as - the PINERC file. There may be more than one address book, and the default - name can be overridden via an entry in any of the _Alpine_ configuration - files. The two configuration variables address-book and global-address-book - are used to specify the names of the address books. Each of these variables - is a list variable. The total set of address books for a user is the - combination of all the address books specified in these two lists. Each - entry in the list is an optional nickname followed by an address book name. - The nickname is everything up to the last space before the file name. The - _global-address-book_ list will typically be configured in the system-wide - configuration file, though a user may override it like most other variables. - Address books which are listed in the _global-address-book_ variable are - forced read-only, and are typically shared among multiple users. - - Local address books (or local cache files for remote address books) are - simple text files with lines in the format: - - <nickname>TAB<fullname>TAB<address>TAB<fcc>TAB<comments> - - The last two fields are optional. A "line" may be made up of multiple actual - lines in the file by using continuation lines, which are lines beginning - with SPACE characters. The line breaks may be after TABs or in between - addresses in a distribution list. Each _actual_ line in the file must be - less than 1000 characters in length. - - Nicknames (the first field) are short names that the user types instead of - typing in the full address. There are several characters which aren't - allowed in nicknames in order to avoid ambiguity when parsing the address - (SPACE, COMMA, @, ", ;, :, (, ), [, ], <, >, \). Nicknames aren't required. - In fact, none of the fields is required. - - The _fullname_ field is usually stored as Last_name, First_name, in order - that a sort on the fullname field comes out sorted by Last_name. If there is - an unquoted comma in the fullname, _Alpine_ will flip the first and last - name around and get rid of the comma when using the entry in a composition. - It isn't required that there be a comma, that's only useful if the user - wants the entries to sort on last names. - - The _address_ field takes one of two forms, depending on whether the entry - is a single (simple) address or a distribution list. For a simple entry, the - address field is an RFC 2822 address. This could be either the email-address - part of the address, i.e., the part that goes inside the brackets (<>), or - it could be a full RFC 2822 address. The phrase part of the address (the - fullname) is used unless there is a fullname present in the fullname field - of the address book entry. In that case, the fullname of the address book - entry replaces the fullname of the address. For a distribution list, the - <address> is in the format: - - "(" <address>, <address>, <address>, ... ")" - - The only purpose for the parentheses around the list of addresses is to make - it easier for the parsing routines to tell that it is a simple entry instead - of a list. The two are displayed differently and treated slightly - differently in some cases, though most of the distinction has disappeared. - Each of the addresses in a list can be a full RFC 2822 address with fullname - included, or it may be just the simple email-address part of the address. - This allows the user to have a list which includes the fullnames of all the - list members. In both the simple and list cases, addresses may also be other - nicknames which appear in this address book or in one of the other address - books. (Those nicknames are searched for by looking through the address - books in the order they appear in the address book screen, with the first - match winning.) Lists may be nested. If addresses refer to each other in a - loop (for example, list A includes list B which includes list A again) this - is detected and flagged. In that case, the address will be changed to "**** - address loop ****". - - The optional _fcc_ field is a folder name, just like the fcc field in the - composer headers. If the first address in the To field of a composition - comes from an address book entry with an fcc field, then that fcc is placed - in the fcc header in the composer. - - The _comments_ field is just a free text field for storing comments about an - entry. By default, neither the fcc nor the comments field is shown on the - screen in the address book screen. You may make those fields visible by - configuring the variable addressbook-formats. They are also searched when - you use the _WhereIs_ command in the address book screen and are visible - when you _View_ or _Update_ an entry. - - The address book is displayed in the order that it is stored. When the user - chooses a different sorting criterion, the data is actually sorted and - stored, as opposed to showing a sorted view of the data. - - When the address book is written out, it is first written to a temporary - file and if that write is successful it is renamed. This guards against - errors writing the file that might destroy the whole address book. The - address book is re-written after each change. If the address book is a - remote address book, the file is then appended to the remote mail folder - using IMAP. - - The end-of-line character(s) in the address book file are those native to - the system writing it. So it is <LF> on Unix and <CR><LF> on PC's. However, - both Unix and PC versions of _Alpine_ can read either format, so it should - be possible to share a read-only address book among the two populations - (using NFS, for example). - _________________________________________________________________ - - Address Book Lookup File - - _Pine_ used an additional file for each address book, called the LookUp - file. It had the same name as the address book file with the suffix ".lu" - appended. _Alpine_ no longer uses a lookup file. - - Validity Checking of Address Books - - There is no file locking done on _Alpine_ address books, however, there is - considerable validity checking done to make sure that the address book - hasn't changed unexpectedly. Whenever the address book is about to be - changed, a check is made to see if the file is newer than when we read it or - the remote address book folder has changed since we last copied it. If - either of these is true, the change is aborted. - - There is an automatic, behind-the-scene check that happens every so often, - also. For example, if someone else changes one of the address books that you - have configured, your _Alpine_'s copy of the address book will usually be - updated automatically without you noticing. This checking happens at the - same time as new mail checking takes place, unless you are actively using - the address book, in which case it happens more frequently. - _________________________________________________________________ - -Remote Configuration - - Configuration information may be stored remotely. Remote configuration - information is stored in a folder on an IMAP server. This should be a folder - which is used only for storing the configuration information. In other - words, it should be a folder which didn't exist before. - - Remote configuration folders are very similar to remote address book - folders. They both consist of a header message, which serves to identify the - type of folder; the last message, which contains the data; and intermediate - messages, which contain old versions of the data. The first message must - contain the header _x-pine-pinerc_. - - When a remote configuration is being used, the folder is checked to make - sure it is a remote configuration folder, then the data contained in the - last message is copied to a temporary file. That file is treated just like - any regular local configuration file from that point on. Whenever a - configuration change is made, the entire file is copied back to the IMAP - server and is appended to the folder as a new message. - - Because remote configuration folders are so similar to remote address books, - the configuration variable remote-abook-metafile is used by both. - - Remote configuration folders have names that look just like regular remote - mail folder names. For example: - - {host.domain}mypinerc - - _Alpine_ decides whether or not a configuration file is remote simply by - looking at the first character of the name and comparing it to '{'. - _________________________________________________________________ - -Checkpointing - - Periodically _Alpine_ will save the whole mail folder to disk to prevent - loss of any mail or mail status in the case that it gets interrupted, - disconnected, or crashes. The period of time _Alpine_ waits to do the - checkpoint is calculated to be minimally intrusive. The timing can be - changed (but usually isn't) at compile time. Folder checkpointing happens - for both local folders and those being accessed with IMAP. The delays are - divided into three categories: - - The exact algorithm given below is no longer correct. It has gotten more - complicated over time. However, this gives the general idea _Alpine_ uses - when deciding whether or not to do a checkpoint. - - Good Time: - This occurs when _Alpine_ has been idle for more than 30 seconds. In - this case _Alpine_ will checkpoint if 12 changes to the file have - been made or at least one change has been made and a checkpoint - hasn't been done for five minutes. - Bad Time: - This occurs just after _Alpine_ has executed some command. _Alpine_ - will checkpoint if there are 36 outstanding changes to the mail file - or at least one change and no checkpoint for ten minutes. - Very Bad Time: - Done when composing a message. In this case, _Alpine_ will only - checkpoint if at least 48 changes have been made or at least one - change has been made in the last twenty minutes with no checkpoint. - _________________________________________________________________ - -Debug Files - - If UNIX _Alpine_ is compiled with the compiler _DEBUG_ option on (the - default), then _Alpine_ will produce debugging output to a file. This can be - disabled at compile-time with the --disable-debug configure option, or at - run-time with the command line flag -d0. The file is normally .pine-debugX - in the user's home directory where _X_ goes from 1 to 4. Number 1 is always - the most recent session and 4 the oldest. Four are saved because often the - user has gone in and out of _Alpine_ a few times after a problem has - occurred before the expert actually gets to look at it. The amount of output - in the debug files varies with the debug level set when _Alpine_ is compiled - and/or as a command line flag. The default is level 2. This shows very - general things and records errors. Level 9 produces copious amounts of - output for each keystroke. - - Similarly, _PC-Alpine_ creates debug files named pinedebg.txtX in the same - directory as the PINERC file. - _________________________________________________________________ - -INBOX and Special Folders - - The _INBOX_ folder is treated specially. It is normally kept open constantly - so that the arrival of new mail can be detected. The name _INBOX_ refers to - wherever new mail is retrieved on the system. If the inbox-path variable is - set, then _INBOX_ refers to that. IMAP servers understand the concept of - _INBOX_, so specifying the folder _{imap.u.example.edu}INBOX_ is meaningful. - The case of the word _INBOX_ is not important, but _Alpine_ tends to display - it in all capital letters. - - The folders for sent mail and saved messages folders are also somewhat - special. They are automatically created if they are absent and recreated if - they are deleted. - _________________________________________________________________ - -Internal Help Files - - The file pine.hlp in the alpine subdirectory of the distribution contains - all the help text for _Alpine_. It is compiled right into the _Alpine_ - binary as strings. This is done to simplify installation and configuration. - The pine.hlp file is in a special format that is documented at the beginning - of the file. It is divided into sections, each with a name that winds up - being referenced as a global variable. This file is processed during the - build process and turned into a C file that is compiled into _Alpine_. - _________________________________________________________________ - -International Character Sets - - _Alpine_ uses Unicode characters internally and it is a goal for _Alpine_ to - handle email in many different languages. _Alpine_ will properly display - only left-to-right character sets in a fixed-width font. Specifically, - _Alpine_ assumes that a fixed-width font is in use, in the sense that - characters are assumed to take up zero, one, or two character cell widths - from left to right on the screen. This is true even in _PC-Alpine_. - - _Alpine_ recognizes some local character sets which are right-to-left - (Arabic, Hebrew, and Thai) or not representable in a fixed-width font - (Arabic) and properly converts texts in these character sets to/from - Unicode; however, there are known display bugs with these character sets. - - There are three possible configuration character settings and some - environment variable settings which can affect how _Alpine_ handles - international characters. The first two of these are only available in UNIX - _Alpine_. The three configuration options are _display-character-set_, - _keyboard-character-set_, and _posting-character-set_. The - _keyboard-character-set_ defaults to being the same value as the - _display-character-set_, and that is usually correct, because the keyboard - almost always produces characters in the same character set as the display - displays. The _display-character-set_ is the character set that _Alpine_ - will attempt to use when sending characters to the display. - - Besides those variables there is also use-system-translation which can be - used instead of these. That usage is only lightly tested and is not - recommended. - - By default, the _display-character-set_ variable is not set and UNIX _Alpine_ - will attempt to get this information from the environment. In particular, - the nl_langinfo(CODESET) call is used. This usually depends on the setting - of the environment variables LANG or LC_CTYPE. An explicit configuration - setting for _display-character-set_ will, of course, override any default - setting. - - For _PC-Alpine_ the _display-character-set_ and the _keyboard-character-set_ - are always equivalent to UTF-8 and this is not settable. - - It is probably best to use UNIX _Alpine_ in a terminal emulator capable of - displaying UTF-8 characters, since that will allow you to view just about - any received text that is correctly formatted (note, however, the above - comments about known index display bugs with certain character sets). You'll - need to have an emulator which uses a UTF-8 font and you'll need to set up - your environment to use a UTF-8 charmap. For example, on a Linux system you - might include - - setenv LANG en_US.UTF-8 - - or something similar in your UNIX startup files. You'd also have to select a - UTF-8 font in your terminal emulator. - - The types of values that the character set variables may be set to are - UTF-8, ISO-8859-1, or EUC-JP. The ISO-2022 character sets are not supported - for input or for display, but as a special case, ISO-2022-JP is supported - for use only as a _posting-character-set_. In the Setup/Config screen you - may choose from a list of all the character sets _Alpine_ knows about by - using the "T" ToCharsets command. Here is a list of many of the possible - character sets: - - UTF-8 Unicode - US-ASCII 7 bit American English characters - ISO-8859-1 8 bit European "Latin 1" character set - ISO-8859-2 8 bit European "Latin 2" character set - ISO-8859-3 8 bit European "Latin 3" character set - ISO-8859-4 8 bit European "Latin 4" character set - ISO-8859-5 8 bit Latin and Cyrillic - ISO-8859-6 8 bit Latin and Arabic - ISO-8859-7 8 bit Latin and Greek - ISO-8859-8 8 bit Latin and Hebrew - ISO-8859-9 8 bit European "Latin 5" character set - ISO-8859-10 8 bit European "Latin 6" character set - ISO-8859-11 Latin and Thai - ISO-8859-12 Reserved - ISO-8859-13 8 bit European "Latin 7" character set - ISO-8859-14 8 bit European "Latin 8" character set - ISO-8859-15 8 bit European "Latin 9" character set - ISO-8859-16 8 bit European "Latin 10" character set - KOI8-R 8 bit Latin and Russian - KOI8-U 8 bit Latin and Ukranian - WINDOWS-1251 8 bit Latin and Russian - TIS-620 8 bit Latin and Thai - VISCII 8 bit Latin and Vietnamese - GBK Latin and Chinese Simplified - GB2312 Latin and Chinese Simplified - CN-GB Latin and Chinese Simplified - BIG5 Latin and Chinese Traditional - BIG-5 Latin and Chinese Traditional - EUC-JP Latin and Japanese - SHIFT-JIS Latin and Japanese - EUC-KR Latin and Korean - KSC5601 Latin and Korean - - When reading incoming email, _Alpine_ understands many different character - sets and is able to convert the incoming mail into Unicode. The Unicode will - be converted to the _display-character-set_ for display on your terminal. - Characters typed at the keyboard will be converted from the - _keyboard-character-set_ to Unicode for _Alpine_'s internal use. You may find - that you can read some malformed messages that do not contain a character - set label by setting the option unknown-character-set. - - The _posting-character-set_ is used when sending messages. The default - behavior obtained by leaving this variable unset is usually what is wanted. - In that default case, _Alpine_ will attempt to label the message with the - most specific character set from the rather arbitrary set - - US-ASCII, ISO-8859-15, ISO-8859-1, ISO-8859-2, VISCII, KOI8-R, KOI8-U, - ISO-8859-7, ISO-8859-6, ISO-8859-8, TIS-620, ISO-2022-JP, GB2312, BIG5, - EUC-KR, and UTF-8. - - For example, if the message is made up of only US-ASCII characters, it will - be labeled US-ASCII. Otherwise, if it is all ISO-8859-15 characters, that - will be the label. If that doesn't work the same is tried for the remaining - members of the list. - - It might make sense to set _posting-character-set_ to an explicit value - instead. For example, if you usually send messages in Greek, setting this - option to ISO-8859-7 will result in messages being labeled as US-ASCII if - there are no non-ascii characters, ISO-8859-7 if there are only Greek - characters, or UTF-8 if there are some characters which aren't representable - in ISO-8859-7. Another possibility is to set this option explicitly to - UTF-8. In that case _Alpine_ labels only ascii messages as US-ASCII and all - other messages as UTF-8. - _________________________________________________________________ - -Interrupted and Postponed Messages - - If the user is composing mail and is interrupted by being disconnected - (SIGHUP, SIGTERM or end of file on the standard input), _Alpine_ will save - the interrupted composition and allow the user to continue it when he or she - resumes _Alpine_. As the next _Alpine_ session starts, a message will be - given that an interrupted message can be continued. To continue the - interrupted message, simply go into the composer. To get rid of the - interrupted message, go into the composer and then cancel the message with - _^C._ - - Composition of half-done messages may be postponed to a later time by giving - the _^O_ command. Other messages can be composed while postponed messages - wait. All of the postponed messages are kept in a single folder. Postponing - is a good way to quickly reference other messages while composing. - _________________________________________________________________ - -Message Status - - The c-client library allows for several flags or status marks to be set for - each message. _Alpine_ uses four of these flags: UNSEEN, DELETED, ANSWERED, - and FLAGGED. The N in _Alpine_'s FOLDER INDEX means that a message is - unseen-it has not been read from this folder yet. The D means that a message - is marked for deletion. Messages marked with D are removed when the user - _Expunges_ the folder (which usually happens when the folder is closed or the - user quits _Alpine_). The A in _Alpine_'s FOLDER INDEX means that the - message has been replied-to. The * in _Alpine_'s FOLDER INDEX means that the - message has been ``flagged'' as important. That is, the user used the _Flag_ - command to turn the FLAGGED flag on. This flag can mean whatever the user - wants it to mean. It is just a way to mark some messages as being different - from others. It will usually probably be used to mark a message as somehow - being ``important''. For Berkeley format folders, the message status is - written into the email folder itself on the header lines marked Status: and - X-Status. - - It is also possible for a user to define their own flags in addition to the - standard system flags above. In _Alpine_ these user defined flags are called - Keywords. - _________________________________________________________________ - -MIME: Reading a Message - - _Alpine_ should be able to handle just about any MIME message. When a MIME - message is received, _Alpine_ will display a list of all the parts, their - types and sizes. It will display the attachments when possible and - appropriate and allow users to _Save_ all other attachments. - - _Alpine_ honors the "mailcap" configuration system for specifying external - programs for handling attachments. The mailcap file maps MIME attachment - types to the external programs loaded on your system which can display - and/or print the file. A sample mailcap file comes bundled with the _Alpine_ - distribution. It includes comments which explain the syntax you need to use - for mailcap. With the mailcap file, any program (mail readers, newsreaders, - WWW clients) can use the same configuration for handling MIME-encoded data. - - If a MAILCAPS environment variable is defined, _Alpine_ will use that to - look for one or more mailcap files, which are combined. In the absence of - MAILCAPS, Unix _Alpine_ will look for a personal mailcap file in ~/.mailcap - and combine that with a system-wide file in /etc/mailcap. _PC-Alpine_ will - look for a file named MAILCAP in the same directory as the PINERC file, - and/or the directory containing the ALPINE.EXE executable. - - Messages which include _rich text_ or _enriched text_ in the main body will - be displayed in a very limited way (it will show bold and underlining). - - If _Alpine_ sees a MIME message part tagged as type IMAGE, and _Alpine_'s - image-viewer configuration variable is set, _Alpine_ will attempt to send - that attachment to the named image viewing program. In the case of UNIX - _Alpine_, the DISPLAY environment variable is checked to see if an X-terminal - is being used (which can handle the images). If the _image-viewer_ variable - is not set, _Alpine_ uses the _mailcap_ system to determine what to do with - IMAGE types, just as it does for any other non-TEXT type, e.g. type - APPLICATION. For MIME's generic "catch all" type, APPLICATION/OCTET-STREAM, - the _mailcap_ file will probably not specify any action, but _Alpine_ users - may always _Save_ any MIME attachment to a file. - - MIME type "text/plain" is handled a little bit differently than the other - types. If you are viewing the main body part in the MESSAGE TEXT viewing - screen, then _Alpine_ will use its internal viewer to display it. This - happens even if there is a mailcap description which matches this particular - type. However, if you view a part of type "text/plain" from the ATTACHMENT - INDEX screen, then _Alpine_ will check the mailcap database for a matching - entry and use it in preference to its internal viewer. - - Some text attachments, specifically those which are just other email - messages forwarded as MIME messages, are displayed as part of the main body - of the message. This distinction allows easy display when possible (the - forward as MIME case) and use of an attachment viewer when that is desirable - (the plain text file attachment case). - - If the parts of a multipart message are alternate versions of the same thing - _Alpine_ will select and display the one best suited. For parts of type - "message/external-body", the parameters showing the retrieval method will be - displayed, and the retrieval process is automated. Messages of type - "message/partial" are not supported. - _________________________________________________________________ - -MIME: Sending a Message - - There are two important factors when trying to include an attachment in a - message: encoding and labeling. _Alpine_ has rules for both of these which - try to assure that the message goes out in a form that is robust and can be - handled by other MIME mail readers. - - MIME has two ways of encoding data-Quoted-Printable and Base64. - Quoted-Printable leaves the ASCII text alone and only changes 8-bit - characters to "=" followed by the hex digits. For example, "=09" is a tab. - It has the advantage that it is mostly readable and that it allows for end - of line conversions between unlike systems. Base64 encoding is similar to - _uuencode_ or _btoa_ and just encodes a raw bit stream. This encoding is - designed to get text and binary files through even the most improperly - implemented and configured gateways intact, even those that distort - uuencoded data. - - _All_ attachments are encoded using Base64 encoding. This is so that the - attachment will arrive at the other end looking exactly like it did when it - was sent. Since Base64 is completely unreadable except by MIME-capable - mailers or programs, there is an obvious tradeoff being made here. We chose - to ensure absolutely reliable transport of attachments at the cost of - requiring a MIME-capable mailer to read them. If the user doesn't want - absolute integrity he or she may always _include_ text (with the _^R_ - command) in the body of a message instead of attaching it. With this policy, - the only time quoted-printable encoding is used is when the main body of a - message includes special foreign language characters. - - When an attachment is to be sent, _Alpine_ sniffs through it to try to set - the right label (content-type and subtype). An attachment with any lines - longer than 500 characters in it or more than 10% of the characters are - 8-bit it will be considered binary data. _Alpine_ will recognize (and - correctly label) a few special types including GIF, JPEG, PostScript, and - some audio formats. Another method which can be more robust and flexible for - determining the content-type and subtype is to base it on the file - extension. This method uses a MIME.Types File. - - If it is not binary data (has only a small proportion of 8-bit characters in - it,) the attachment is considered 8-bit text. 8-bit text attachments are - labeled "text/plain" with charset set to the value of the user's - _keyboard-character-set_ variable. If an attachment is ASCII (no 8-bit - characters) and contains no control characters then it is considered plain - ASCII text. Such attachments are given the MIME label "text/plain; - charset=US-ASCII", regardless of the setting of the user's - _keyboard-character-set_ variable. - - All other attachments are unrecognized and therefore given the generic MIME - label "application/octet-stream". - _________________________________________________________________ - -New Mail Notification - - _Alpine_ checks for new mail in the _INBOX_ and in the currently open folder - every two and a half minutes by default. This default can be changed in the - system-wide configuration file or at compile-time with the - --with-mailcheck-interval=VALUE configuration option. A user can change it - by changing the option mail-check-interval. A new mail check can be manually - forced by redrawing the screen with a _^L_. - - When there is new mail, the message(s) will appear in the index, the screen - will beep, and a notice showing the sender and subject will be displayed. If - there has been more than one new message since you last issued a command to - _Alpine_, the notice will show the count of new messages and the sender of - the most recent one. - _________________________________________________________________ - -NFS - - It is possible to access mail folders on _NFS_ mounted volumes with - _Alpine_, but there are some drawbacks to doing this, especially in the case - of incoming-message folders that may be concurrently updated by _Alpine_ and - the system's mail delivery agent. One concern is that _Alpine_'s - user-contention locks don't work because _/tmp_ is usually not shared, and - even if it was, _flock()_ doesn't work across _NFS._ - - The implementation of the standard UNIX ".lock" file locking has been - modified to work with _NFS_ as follows. Standard hitching post locking is - used so first a uniquely named file is created, usually something like - _xxxx.host.time.pid._ Then a link to it is created named _xxxx.lock_ where - the folder being locked is _xxxx._ This file constitutes the lock. This is a - standard UNIX locking scheme. After the link returns, a _stat(2)_ is done on - the file. If the file has two links, it is concluded that the lock succeeded - and it is safe to proceed. - - In order to minimize the risks of locking failures via _NFS_, we strongly - recommend using IMAP rather than _NFS_ to access remote incoming message - folders, e.g. your _INBOX_. However, it is generally safe to access personal - saved-message folders via _NFS_ since it is unlikely that more than one - process will be updating those folders at any given time. Still, some - problems may occur when two _Alpine_ sessions try to access the same mail - folder from different hosts without using IMAP. Imagine the scenario: - _Alpine_-A performs a write that changes the folder. _Alpine_-B then attempts - to perform a write on the same folder. _Alpine_-B will get upset that the - file has been changed from underneath it and abort operations on the folder. - _Alpine_-B will continue to display mail from the folder that it has in its - internal cache, but it will not read or write any further data. The only - thing that will be lost out of the _Alpine_-B session when this happens is - the last few status changes. - - If other mail readers besides _Alpine_ are involved, all bets are off. - Typically, mailers don't take any precautions against a user opening a - mailbox more than once and no special precautions are taken to prevent _NFS_ - problems. - _________________________________________________________________ - -Printers and Printing - - UNIX _Alpine_ can print to the standard UNIX line printers or to generic - printers attached to ANSI terminals using the escape sequences to turn the - printer on and off. The user has a choice of three printers in the - configuration. - - The first setting, _attached-to-ansi_, makes use of escape sequences on - ANSI/VT100 terminals. It uses "<ESC>[5i" to begin directing all output sent - to the terminal to the printer and then "<ESC>[4i" to return to normal. - _Alpine_ will send these escape sequences if the printer is set to - _attached-to-ansi._ This works with most ANSI/VT100 emulators on Macs and PCs - such as kermit, NCSA telnet, VersaTerm Pro, and WinQVT. Various terminal - emulators implement the print feature differently. There is also a closely - related method called _attached-to-ansi-no-formfeed_ which is the same - except for the lack of formfeed character at the end of the print job. - - _Attached-to-wyse_ and _attached-to-wyse-no-formfeed_ are very similar to - "attached-to-ansi". The only difference is in the control characters sent to - turn the printer on and off. The Wyse version uses Ctrl-R for on, and Ctrl-T - for off. - - The second selection is the standard UNIX print command. The default is - _lpr_, but it can be changed on a system basis to anything so desired in - /usr/local/lib/pine.conf. - - The third selection is the user's personal choice for a UNIX print command. - The text to be printed is piped into the command. _Enscript_ or _lpr_ with - options are popular choices. The actual command is retained even if one of - the other print selections is used for a while. - - Both the second and third sections are actually lists of possible commands - rather than single commands. - - If you have a PostScript printer attached to a PC or Macintosh, then you - will need to use a utility called _ansiprt_ to get printouts on your - printer. _Ansiprt_ source code and details can be found in the ./contrib - directory of the _Alpine_ distribution. - _________________________________________________________________ - -Save and Export - - _Alpine_ users get two options for moving messages in _Alpine_: _Save_ and - _Export_. _Save_ is used when the message should remain ``in the _Alpine_ - realm.'' Saved messages include the complete header (including header lines - normally hidden by _Alpine_), are placed in a _Alpine_ folder collection and - accumulate in a standard folder format which _Alpine_ can read. In contrast, - the _Export_ command is used to write the contents of a message to a file - for use outside of _Alpine_. Messages which have been exported are placed in - the user's home directory (unless the feature use-current-dir is turned on), - not in a _Alpine_ folder collection. Unless FullHeaderMode is toggled on, - all delivery-oriented headers are stripped from the message. Even with - _Export_, _Alpine_ retains message separators so that multiple messages can - accumulate in a single file and subsequently be accessed as a folder. On - UNIX systems, the _Export_ command pays attention to the standard _umask_ - for the setting of the file permissions. - _________________________________________________________________ - -Sent Mail - - _Alpine_'s default behavior is to keep a copy of each outgoing message in a - special "sent mail" folder. This folder is also called the fcc for "file - carbon copy". The existence, location and name of the sent mail folder are - all configurable. Sent mail archiving can be turned off by setting the - configuration variable default-fcc="". The sent mail folder is assumed to be - in the default collection for _Save_s, which is the first collection named - in folder-collections. The name of the folder can be chosen by entering a - name in _default-fcc_. With _PC-Alpine_, this can be a bit complicated. If - the default collection for _Save_s is local (DOS), then the _default-fcc_ - needs to be SENTMAIL, which is syntax for a DOS file. However, if the - default collection for _Save_s is remote, then the _default-fcc_ needs to be - sent-mail to match the UNIX syntax. - - The configuration variable fcc-name-rule also plays a role in selecting the - folder to save sent mail in. - - A danger here is that the sent mail could grow without bound. For this - reason, we thought it useful to encourage the users to periodically prune - their sent mail folder. The first time _Alpine_ is used each month it will - offer to archive all messages sent from the month before. _Alpine_ also - offers to delete all the sent mail archive folders which are more than 1 - month old. If the user or system has disabled sent mail archiving (by - setting the configuration variable _default-fcc=""_) there will be no - pruning question. - _________________________________________________________________ - -Spell Checker - - Both UNIX _Alpine_ and _PC-Alpine_ depend on the system for their spell - checking and dictionary. _Pico_, the text editor, uses the same spell - checking scheme as _Alpine_. - - Lines beginning with ">" (usually messages included in replies) are not - checked. The message text to be checked is on the standard input and the - incorrect words are expected on the standard output. - - The default spell checker is UNIX _spell_. You can replace this by setting - the speller configuration variable. A common choice for a superior - replacement is _ispell_. - - _PC-Alpine_ relies on the aspell library being installed. Aspell is - independent of Alpine. The Windows version has traditionally been available - at http://aspell.net/win32/. You'll need to download and install both Aspell - and a precompiled dictionary. Aspell is provided in an installer package. - Dictionaries, to be installed after Aspell, are in '.exe' files to download - and run. - _________________________________________________________________ - -Terminal Emulation and Key Mapping - - UNIX _Alpine_ has been designed to require as little as possible from the - terminal. At the minimum, _Alpine_ requires cursor positioning, clear to end - of line, and inverse video. Unfortunately, there are terminals that are - missing some of these such as a vt52. _Alpine_ makes no assumptions as to - whether the terminal wraps or doesn't wrap. If the terminal has other - capabilities it may use some of them. _Alpine_ won't run well on older - terminals that require a space on the screen to change video attributes, - such as the Televideo 925. One can get around this on some terminals by - using "protected field" mode. The terminal can be made to go into protected - mode for reverse video, and then reverse video is assigned to protected - mode. - - _Alpine_ handles screens of most any size and resizing on the fly. It - catches SIGWINCH and does the appropriate thing. - - On the input side of things, _Alpine_ uses all the standard keys, most of - the control keys and (in function-key mode) the function keys. _Alpine_ - avoids certain control keys, specifically ^S, ^Q, ^H, and _^\_ because they - have other meanings outside of _Alpine_ (they control data flow, etc.) _^H_ - is treated the same as the _delete_ key, so the _backspace_ or _delete_ keys - always work regardless of any configuration. There is a feature - _compose-maps-delete-key-to-ctrl-d_ which makes the delete key behave like ^D - rather than ^H (deletes current character instead of previous character). - - Sometimes a communications program or communications server in between you - and the other end will eat certain control characters. There is a - work-around when you need it. If you type two escape characters followed by - a character that will be interpreted as the character with the control key - depressed. For example, _ESC ESC T_ is equivalent to _^T_. - - When a function key is pressed and _Alpine_ is in regular (non-function key) - mode, _Alpine_ traps escape sequences for a number of common function keys - so users don't get an error message or have an unexpected command executed - for each character in the function key's escape sequence. _Alpine_ expects - the following escape sequences from terminals defined as VT100: - - ANSI/VT100 - F1: <ESC>OP - F2: <ESC>OQ - F3: <ESC>OR - F4: <ESC>OS - F5: <ESC>Op - F6: <ESC>Oq - F7: <ESC>Or - F8: <ESC>Os - F9: <ESC>Ot - F10: <ESC>Ou - F11: <ESC>Ov - - Arrow keys are a special case. _Alpine_ has the escape sequences for a - number of conventions for arrow keys hard coded and does not use _termcap_ - to discover them. This is because _termcap_ is sometimes incorrect, and - because many users have PC's running terminal emulators that don't conform - exactly to what they claim to emulate. There is a feature called - termdef-takes-precedence which can be set to cause the _termcap_ or - _terminfo_ definitions to be used instead of the built in definitions. Some - arrow keys on old terminals send single control characters like _^K_ (one - even sends _^\_). These arrow keys will not work with _Alpine_. The most - popular escape sequences for arrow keys are: - - Up: <ESC>[A <ESC>?x <ESC>A <ESC>OA - Down: <ESC>[B <ESC>?r <ESC>B <ESC>OB - Right: <ESC>[C <ESC>?v <ESC>C <ESC>OC - Left: <ESC>[D <ESC>?t <ESC>D <ESC>OD |