# $Id: pine.hlp 1266 2009-07-14 18:39:12Z hubert@u.washington.edu $ # # T H E A L P I N E M E S S A G E S Y S T E M # #/* ======================================================================== # * Copyright 2013-2020 Eduardo Chappa # * Copyright 2006-2008 University of Washington # * # * Licensed under the Apache License, Version 2.0 (the "License"); # * you may not use this file except in compliance with the License. # * You may obtain a copy of the License at # * # * http://www.apache.org/licenses/LICENSE-2.0 # * # * ======================================================================== # */ # Help text for the Alpine mailer This file is in a format created to be turned into text strings in a C program. There are two shell scripts that run on this. Cmplhelp.sh is the first and turns this into a C file (helptext.c) of text strings that are compiled and linked. The other program, cmplhlp2.sh, turns this into a .h file (helptext.h) with extern string definitions of the strings in the .c file. The code that actually processes these files while alpine is running is in help.c The lines with "===== xxxx ====" divide the different help screens. The xxx is the name of the variable that strings will be put in, which are also declared in helptext.h. # is a comment Help text screen text can be either plain text OR HTML. The latter is denoted by the first line starting with "". The former is simply displayed as it's formatted here. HTML is limited to simple formatting ala HTML 2.0. No forms, or tables. In addition a small set of tools are are available to customize the HTML screen's text: 1a) Default and function key bindings are separated like this: Function key bindings here Default key bindings here 1b) A way to distinguish HTML text that is to be displayed when pine is running vs. when the text is served up outside Alpine (someday) can be done via: Text displayed when viewed within a running pine session Text displayed when HTML viewed outside pine (using chtml aware server) 1c) A way to distinguish HTML text that is to be displayed under PC-Alpine vs. not is available via: Text displayed under PC-Alpine Text displayed otherwise WARNING ABOUT CHTML "if-else-endif" CLAUSES: They don't nest. 2a) Several "server side include" commented elements are supported: The file "textfile" will be inserted into the HTML text directly. Alpine does no formatting of the text. At some point we might want to look at the first line for but not today. 2b) Various bits of Alpine's running state can be inserted into the HTML text as well using the special comment: Where "variable" is one of either: ALPINE_VERSION ALPINE_REVISION ALPINE_COMPILE_DATE ALPINE_TODAYS_DATE C_CLIENT_VERSION _LOCAL_FULLNAME_ _LOCAL_ADDRESS_ _BUGS_FULLNAME_ _BUGS_ADDRESS_ CURRENT_DIR HOME_DIR PINE_CONF_PATH PINE_CONF_FIXED_PATH PINE_INFO_PATH MAIL_SPOOL_PATH MAIL_SPOOL_LOCK_PATH VAR_ - where is config variable name FEAT_ - where is config feature name 3) The URL scheme "X-Alpine-Gripe:" is available to insert links to pine's composer such that various debugging data can be attached to the message. Aside from normal email addresses, this can be set to either "_LOCAL_ADDRESS_" for the configured local help address, or "_BUGS_ADDRESS_" for the configured local bug reporting address. Aside from the special tokens above, the default behavior only differs from "mailto:" by the insertion of a special Subject: prefix that consists of a randomly-generated token for tracking purposes. Several optional parameters can be included to control what is attached or offered for attachment to the message: ?config -- Automatically attaches the user's configuration information to the trouble report ?keys -- Automatically attaches the user's most recent keystrokes ?curmsg -- Causes the user to get an offer to attach the current message to the trouble report ?local -- Automatically attaches the result of the script defined by VAR_BUGS_EXTRAS For HTML-format sections, the help screen dividers "===== xxxx ====" must contain one and only one space after the first and before the second set of equal signs. Note to authors of this file: to mark sections that need further revision, please use the text string on the following line consistently so that it is easy to find those places again in this file: *revision needed* NOTE: Several sections of help text which weren't being used were removed at RCS version number 4.122. In particular, there were some placeholders with help text for the config screen and the composer that didn't have any reasonable place to be called from. Dummy change to get revision in pine.hlp ============= h_revision ================= Alpine Commit 493 2020-07-10 00:56:09 ============= h_news ================= RELEASE NOTES for Alpine

Alpine Release Notes

Version ()
(built )

Copyright 2013-2020 Eduardo Chappa
Copyright 2006-2008 University of Washington

Alpine is an "Alternatively Licensed Program for Internet News and Email" produced until 2009 by the University of Washington. It is intended to be an easy-to-use program for sending, receiving, and filing Internet electronic mail messages and bulletin board (Netnews) messages. Alpine is designed to run on a wide variety of Unix® operating systems. A version for Microsoft Windows® is available as is a world wide web based version designed to run under the Apache web server.

Alpine is a free email program. Your use of Alpine is subject to the terms of the Apache License 2.0.

Alpine's privacy policy is a living, online only, document, which can be found at http://alpine.x10host.com/privacy.html. By following the previous link, Alpine will connect to an external server, and will download it and display it for you. Please take some time to read it and understand it. Since the Privacy Policy could be ammended to take into consideration new additions to Alpine, please check it periodically.

This is a development version of Alpine. These enhancements are released after the release of version 2.23. Please report any problems you find with this release.

Additions include:

  • Expansion of the configuration screen for XOAUTH2 to include username, and tenant.
  • If a user has more than one client-id for a service, Alpine tries to asks the user which client-id to use and associates that client-id to the credentials in the XOAUTH2 configuration screen. Learn more.
  • Addition of Yandex.com to the list of services that Alpine can use XOAUTH2 to authenticate for reading and sending email.
  • Addition of a link to the Apache License 2.0 (see above). This is available from the Release Notes as well as the welcome screen.
  • Modifications to protect the privacy of users:
    • Alpine does not generate Sender or X-X-Sender by default by enabling as the default.
    • Alpine does not disclose User Agent by default by enabling by default.
    • Alpine uses the domain in the From: header of a message to generate a message-id and suppresses all information about Alpine, version, revision, and time of generation of the message-id from this header. This information is replaced by a random string.
  • Unix Alpine displays configure options and flags when invoked as "alpine -v". Suggested by Matt Ackeret.
  • Alpine will ding the terminal bell when asking about quitting when new mail arrives. This is consistent with Alpine dinging the bell when new mail arrives. The bell will not ding if it is disabled for status messages. Suggested by Chime Hart.
  • When messages are selected, pressing the ";" command to broaden or narrow a search, now offers the possibility to completely replace the search, and is almost equivalent to being a shortcut to "unselect all messages, and select again". The difference is that cancelling this command will not unselect all currently selected messages. Suggested by Holger Trapp.
  • Alpine will not write debug files unless started with the option -d, so for example "alpine -d 2" will generate a debug file at level 2, but just issuing the alpine command will not write any debug to a file.

Bugs addressed:

  • When Alpine starts a PREAUTH connection, it might still ask the user to login. Reported by Frank Tobin.
  • Invalid signatures created by Alpine, when built with recent releases of the Openssl-1.1.1 series (but not in the Openssl-1.0.1 series). Fix contributed by Bernd Edlinger.
  • After returning from the directory side of a dual-folder, sometimes Alpine would return to the first folder in the parent directory or to the dual-folder. The fix is to return to the original dual-folder as intended. Reported by Holger Trapp.
  • When an attachment is deleted and the original message is saved, Alpine might write only a part of the name of the file deleted. Reported by Holger Trapp.
  • URLs that are surrounded by white space are not cleaned by Alpine before passing them to the browser, resulting in no display of the URL when Alpine tries to open it. Reported by Gregory Heytings.
  • When Alpine is built without smime, password file functionality might fail. Reported by Andres Fehr.
  • Crash in PC-Alpine when using the eXternal command.

Version 2.23 has new additions and addresses bugs found in previous releases.

Additions include:

  • Implementation of XOAUTH2 authentication support for Outlook. Based on documentation suggested by Andrew C Aitchison.
  • Add support for the OAUTHBEARER authentication method in Gmail. Thanks to Alexander Perlis for suggesting it and explaining how the method works.
  • Creation of Alpine's Privacy Policy. This is presented as a link to an online document from the Release Notes (Link at the top of this document.) Upon user request, Alpine downloads and displays this document. Links to the privacy policy are also displayed when a user starts Alpine for the first time, or when a user starts a new version of Alpine. There is no default exit greeting command for these screens, and to exit the user must press "E", instead of the old default, which was the RETURN command. The RETURN command will open the handle on which the cursor is on, which by default is the Privacy Policy.
  • Support for the SASL-IR IMAP extension that avoids a round trip during authentication. Similar support added for the SMTP, NNTP and POP3 protocols. Thanks to Geoffrey Bodwin for a report that lead to this implementation.
  • Alpine can pass an HTML message to an external web browser, by using the "External" command in the ATTACHMENT INDEX screen. Learn more.
  • New configuration variable that controls if Alpine will keep the source link to all the images in the HTML message, or will only pass a link to inline images included in the message. For your privacy and security this feature is enabled by default.
  • When reading an email and a user selects an email address to which to compose a message from the message, the user will be able to select a role to compose that message.
  • New variable system-certs-path that allows users to indicate the location of the directory where certificates are located. In PC-Alpine this must be C:\\libressl\\ssl\\certs. The C: drive can be replaced by the name of the drive where the binary and DLL files are located.
  • New variable system-certs-file that allows users to configure the location of a container of certificate authority (CA) certificates to be used to validate certificates of remote servers.
  • Remove sleep of 5 seconds for mailcap programs that use the terminal to display content. Suggested by Carl Edquist. In addition, remove the configurable process table command and its corresponding sleep time.

Bugs addressed:

  • Security Bug: Alpine can be configured to start a secure connection using /tls on an insecure connection. However, if the connection is PREAUTH, Alpine will not upgrade the connection to a secure connection, because a client must not issue a STARTTLS to a server that supports it in authenticated state. This makes Alpine continue to use an insecure connection with the server, exposing user data. Reported by Damian Poddebniak and Fabian Ising from Münster University of Applied Sciences.
  • Selecting by subject might not copy the subject of the current message to the selection text correctly. Reported by Iosif Fettich.
  • Alpine does not set the return path correctly when using a role while bouncing a message. Reported by Dr. C. Griewatsch.
  • Bug in PC-Alpine that made Alpine go into an infinite loop and consume CPU when it was iconized. Reported by Holger Schieferdecker in comp.mail.pine.
  • Crash in Alpine when attempting to reply to a multipart/alternative message that is malformed, and the option to include attachments in reply is enabled. Reported and patched by Peter Tirsek.
  • Bug that makes Alpine split encoded words in the subject of a message in the middle of a utf-8 character into two encoded words, breaking the encoding. Reported by Jean Chevalier.
  • Alpine would not redraw the screen when a check for new mail in an incoming folder failed due to a failure while validating the server certificate, and the user did not allow the connection to proceed.
  • Crash in Alpine while resizing the screen when using any of the tokens SUBJKEYTEXT, SUBJECTTEXT, or SUBJKEYINITTEXT in the index format, and the screen was resized. Reported by Iggy Mogo.
  • When Alpine is trying to authenticate to Gmail, using the XOAUTH2 method, it does not display the url the user needs to open, in order to authorize Alpine to access Gmail using XOAUTH2 when Alpine still has not created a screen. Reported by Baron Fujimoto.
  • When an html anchor does not quote the link in the href parameter, alpine does not link to it.
  • Attempt to fix a bug that breaks scrolling of a message in Alpine when the screen is resized. Reported in the Debian bug system at https://bugs.debian.org/cgi-bin/bugreport.cgie?bug=956361.

Version 2.22 addresses bugs found in previous releases and has several additions as well.

Additions include:

  • Support for XOAUTH2 authentication method in Gmail.
  • PC-Alpine builds with LibreSSL and supports S/MIME.
  • NTLM authentication support with the ntlm library, in Unix systems. Based on code provided by Maciej W. Rozycki.
  • Add /tls1_3 flag for servers that support it. Read more information in the secure protocols help.
  • To increase user's privacy, remove phone-home code that would prompt users to send an email message upon starting Alpine for the first time for purposes of counting. Your use of Alpine does not disclose information about you or your use of Alpine to the developers of Alpine.
  • New variable that allows users to configure versions of the SSL/TLS protocol that Alpine is restricted to try when establishing a secure connection SSL/TLS to a remote server. The default can be set at compilation time.
  • Add -dict option to PC-Pico, which allows users to choose a dictionary when spelling. Sample usage: -dict "en_US, de_DE, fr_FR".
  • Improvements to the configure stage of compilation. Some of these contributed by Helmut Grohne. See Bug 876164 in Debian.
  • Add "remove password" command to the management screen for the password file encryption key. This allows users to use their password file without entering a master password.
  • Add the "g" option to the select command that works in IMAP servers that implement the X-GM-EXT-1 capability (such as the one offered by Gmail.) This allows users to do selection in Alpine as if they were doing a search in the web interface for Gmail.
  • New variable close-connection-timeout, which tells Alpine to close a connection that is having problems being kept alive after the number of seconds configured in this variable, if the connection has not recovered. The default is 0, which means to keep the connection alive and wait for the connection to recover.
  • When a message is of type multipart/mixed, and its first part is multipart/signed, Alpine will include the text of the original message in a reply message, instead of including a multipart attachment. Suggested by Barry Landy.
  • S/MIME: Some clients do not transform messages to canonical form when signing first and encrypting second, which makes Alpine fail to parse the signed data after encryption. Reported by Holger Trapp.
  • Add /auth=XYZ to the way to define a server. This allows users to select the method to authenticate to an IMAP, SMTP or POP3 server. Examples are /auth=plain, or /auth=gssapi, etc.
  • Add backward search in the index screen. Based on patch by Astyanax Foo, submitted in 2009, but resubmitted by Erich Eckner on 2019.
  • SMIME: When Alpine is set to validate a message using the user's store, and user agrees to save a certificate of another user, use the saved certificate immediately to verify the smime message. Reported by Stefan Mueller.
  • Do not use a delay when printing messages to screen when the initial keystroke sequence of commands is active. Based on a report from Holger Trapp.
  • In PC-Alpine, when the decoded name of an attachment does not agree with its encoded name, Alpine will offer to save the file using the UTF8 encoded name.

Bugs that have been addressed include:

  • Width of characters is not always determined correctly when wcwidth is used. Revert to using code for the Windows operating system. Reported by Andrew Ho.
  • The call realpath(..., NULL) gives an error in Solaris, which means that we need to allocate memory for storing the resolved path. Reported by Fabian Schmidt.
  • Crash when attempting to bounce a message due to lack of space in allocated space for key menu array. Reported by David Sewell.
  • Crash when a CA certificate failed to load, and user attempted to view certificate information of other certificate authorities.
  • Crash in the S/MIME configuration screen when a user turned off S/MIME, and then re-enabled it. Also crash when attempting to enter the S/MIME configuration screen if S/MIME was turned off.
  • Deactivate some color code from Pico (as standalone editor in the windows version) until I find a way to activate it again. This is not critical and it is not something that PC-Pico must have (some of it already exists in other ways, like color support, what does not exist is the more complex code that Unix-Pico has with color codes for specific colors.)
  • When a message is multipart, and the first part is flowed text, then forwarding the message will set the first part to be flowed, and sent that way even when the option Do Not Send Flowed Text is enabled. Reported by Holger Trapp.
  • When a message/rfc822 part of a message is encoded with Content-Transfer-Encoding: QUOTED-PRINTABLE, Alpine will stop processing that message. Later this causes Alpine to crash because when it displays messages, it assumes that both header and body parts are processed. Reported by Mark Crispin in 2010, in the Alpine-info list (message with subject "crash bug in alpine/mailpart.c:format_msg_att()") with no example, and reported now by Holger Trapp, with an example.
  • In addition to the previous report, Alpine encodes message/rfc822 messages as QUOTED-PRINTABLE, in contradiction with RFC 2045, when it receives a report that its encoding is 8bit. We preserve the encoding reported by the IMAP server, and do not encode in QUOTED-PRINTABLE.
  • Update build.bat file to add /DWINVER=0x0501 so that Alpine can build when using Visual Studio 2017. Fix contributed by Ulf-Dietrich Braunmann.
  • When the locale is not set up to UTF-8, alpine might determine the width of a character incorrectly. Reported by Alexandre Fedotov.
  • In some rare cases, when attachments are deleted before saving emails, the filenames will be displayed in RFC1522 representation, instead of in decoded form. Reported and patched by Wang Kang.
  • When colors are edited from the main setup configuration screen, some color settings are not updated until Alpine is restarted. Reported by Andrew Hill.
  • If the first part of a message is multipart/alternative, and the first part of this is also a multipart type, then Alpine might fail to select the first text part when replying to a message. Reported by Lucio Chiappetti.
  • TLS 1.2 works does not work if Alpine is compiled with openssl >= 1.1.0. Reported and patched by Kyle George.
  • If the directory where Alpine saves the certificates is empty, alpine would not create a self-signed certificate to encrypt the password file.
  • S/MIME: The list of public certificates is freed before it is reused when a signature fails to verify. This causes Alpine to crash. Patch submitted by Linus Torvalds.
  • S/MIME: A message could fail to verify its signature even if the certificate was saved when the message was open. Based on a report by David Woodhouse to the RedHat bugzilla system.
  • When there are time changes in the clock, Alpine might go to sleep for big amounts of time while displaying messages in the screen. Reset sleep time to 5 seconds in case it finds it needs to sleep more than 5 seconds or a negative amount of time.
  • Restore recognition of empty directories. It was deleted by mistake when added support for internationalization in folders. Based on a report by Michael Rutter.
  • Alpine stops parsing the mailcap file when it finds an invalid entry. Reported by Matt Roberds to the Debian bug system at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=886370.
  • Crash with error "Lock when already locked" when an attempt to check for new mail on a locked stream that is being used for a save operation. Reported by Carlos E.R.
  • Alpine removes trailing spaces from passwords, making a longin attempt fail. Reported by R. Lyons.
  • Alpine crashes when opening a remote imap folder and computing scores. Reported by Paul DeStefano.
  • When more than one server was given in the server-name configuration option of rldap servers, none of them worked. Reported by Robert Wolf.

Version 2.21 addresses bugs found in previous releases and has several additions as well.

Additions include:

  • PC-Alpine: New configuration option "Aspell Dictionaries" allows a user to choose the dictionary used to spell check, in case the user communicates in more than one language. Examples of values for the variable are "en_US" or "de_DE", etc. Only the first 10 dictionaries are offered.
  • Unix-Alpine: Connect securely to a LDAP server on a secure port. Based on a contribution by Wang Kang.
  • Colors configured in Alpine are inherited in the composer.
  • When Alpine is compiled with password file and SMIME support the password file is encrypted using a private key/public certificate pair. If one such pair cannot be found, one will be created. Learn more.
  • Alpine builds with any version of OpenSSL greater than or equal to 1.0.0c. This includes version 1.1.0. Alpine also builds with LibreSSL.
  • New SHORTSUBJECT, SHORTSUBJKEY and SHORTSUBJKEYINIT token for index format, which removes text in the SUBJECT between "[" and "]".
  • New SMARTTIME24 token for index screen. It is close to SMARTDATETIME but it differns in that it gives the time in which the message was sent for messages that are less than a week old. it uses a 24 hour format.
  • Alpine will include attachments when forwarding some multipart/alternative messages for which it did not use to include attachments.
  • New configuration option which adds more ways to control features and variables when you start to reply to a message.
  • Added support for RFC 2971 - IMAP ID extension.
  • Add configuration that allows users to ignore errors in the computation of the size of a message from defective servers.
  • SMIME: Upgrade the default signature digest from sha1 to sha-256, since clients such as Thunderbird do not validate signatures that use sha1 digest.
  • Add the configuration variable "default-directories", which is called variable saves a list of directories that are readily accessible for save or export of attachments. This makes it easier to save attachments in directories that are hard to navigate to, or that are accessed frequently.
  • When a filename is attached and its name is encoded, the save attachment command will offer to save the file in the encoded form. This might work for some users, but the save command will have a subcommand ^N to decode the file name and save the file with the decoded name.
  • The TAB key allows autocomplete in the Fcc field in the composer headers, as well as autocompletes automatically when only one possibility exists for the ^J attach command.
  • Add support for the "TYPE" and "VALUE" attributes of the html OL tag.
  • Ignore message from smtp server after a successful authentication challenge.
  • When a message is saved in the Form Letter folder, add the ability to save the role being used to compose such message so that settings such as the SMTP server set in the role can be used when sending such form message. Suggested and patched by Frank Doepper.
  • If SSLDIR is defined somehow, do not disable S/MIME if the SSLCERTSDIR is not found.
  • When Alpine sends an attachment, it will set the boundary attribute in lower case, as some SMTP servers, such as those of libero.it reject messages if the boundary attribute is in uppercase.
  • Add the ability to change the private key and certificates used to encrypt a password file in the SMIME setup configuration screen. Learn more
  • SMIME: The ctrl-E command that gives information on the certificate is only available for messages that have a signed or encrypted part.
  • SMIME: If a message contains a RFC822 attachment that is signed/decrypted add the ability to view its SMIME information.
  • SMIME: Certificate information in the S/MIME screen is available for certificates stored in a container.
  • SMIME: Offer the common name of the person, instead of the name of file containing the certificate, as the name to be displayed in the certificate management screen for certificate authorities. Suggested by Matthias Rieber.
  • SMIME: Management of several alternate name (SAN) certificates is improved. When importing a SAN certificate, also import a certificate for the filename, besides for the e-mail addresses in the certificate. Suggested by Matthias Rieber.
  • SMIME: add full year when displaying information about a certificate in the certificate management screen. Suggested by Matthias Rieber.
  • SMIME: sort certificates by some type of alphabetical order in the displayed name.
  • SMIME: Alpine will ask users if they wish to save S/MIME certificates included in signatures, when the option "Validate Using Certificate Store Only" is enabled. If the user does not wish to save it, validation will fail.
  • HTML: Add support for decoding entities in hexadecimal notation. Suggested by Tulipánt Gergely.
  • The "#" command, when used as part of an aggregate operation will allow users to select the role used in either replying, forwarding or replying to the group of selected messages, Suggested by Hisashi T Fujinaka.
  • If the charset of a message can not be determined, use the value set in the for its value.
  • Resizing setup screen will redraw screen.
  • Unix Alpine only. Experimental: If Alpine/Pico finds a UCS4 code in the width ambiguous zone, it will use other means to determine the width, such as call wcwidth.
  • Pico: Code reorganization in the search command to make it easier to add subcommands of the search command.
  • Pico: Search command can do a case sensitive match. Use the Ctrl-^ subcommand of the search command to bring this choice into view.
  • Pico: Add the ability to search for strings in the beginning or end of a line. Use the Ctrl-^ subcommand of the search command to bring this choice into view.
  • For a multipart/alternative message, the Take Address command will work on the part that is being read.
  • When sending a message, allow for 512 characters of consecutive non-white space before folding the subject line.
  • Make sure titlebar (the line at the top of the screen) always contains the name of the folder/newsgroup that is open, if this fits in the title.
  • The feature FEATURE: will also scramble the name, version and operating system in the message-id header. Based on a contribution by Dennis Davis, which is itself based on a contribution by Mark Hills.
  • Change in logic in imap_set_password function to make Alpine ask if a user wants to save a password before reading the password file.
  • When exporting all parts of a message, if two attachments have the same name, do not overwrite a file more than once, but instead add a counter number to the filename to make a new file that does not exist in the file system.
  • Add the Control-R subcommand to the save command for attachments. This subcommand toggles if the saving will be done in binary mode for text attachments. When a user saves an attachment using binary mode it will be saved as it was sent, otherwise the attachment will be transformed to UTF-8 for further transformation through internal and user defined filters for saving.
  • Add command line argument -smimedir, which allows users to specify the default path for a directory that contains the public, private, and ca directories. This is useful in case a user has a backup of old certificates that cannot be installed in the ~/.alpine-smime dir.
  • Reimplementation of the code that allows the .pinerc file to be a symbolic link by Kyle George from tcpsoft.com to use realpath.
  • When saving an attachment, the "^T" command leads to a screen where the "A" command can be used to add a file. A directory can be added by pressing "^X" after the "A" command. Added after a suggestion by Stefan Goessling.
  • When saving an attachment, the ^Y and ^V commands allow a user to scroll through the history of directories used to save attachments, while preserving the given name of the file. Suggested by Peter Koellner.
  • SMIME: Turn off automatic signing and encrypting of a message when bouncing. Suggested after a discussion with Matthias Rieber.
  • When messages are selected, warn the user if a message that is not selected will be bounced, or if not all selected messages will be bounced. Suggested by Ulf-Dietrich Braumann.
  • The bounce command adds a subcommand to choose a role.
  • When selecting messages by number, the "." character can be used to specify the message on which the cursor is on.
  • When Alpine opens an attachment, it sometimes changes the extension of the file that is being opened and replaces it by another for the same mime type. If Alpine finds that the extension of the file corresponds with the mime type, according to the mime-types file, then it will keep it, and no substitution will be made.
  • Set no restrictions on the length of encoded subjects, but encode words in length of no more than 75 characters.

Bugs that have been addressed include:

  • SMIME: Crash when a certificate has an invalid date of validity. Also Alpine will use the function ASN1_TIME_print to determine the date of validity. Reported by Ben Stienstra.
  • SMIME: Crash when attempting to unlock the password file and an incorrect password is entered.
  • SMIME: Crash when checking the signature of a message that contains a RFC822 attached message. Reported by Holger Trapp and Björn Krellner.
  • SMIME: Cancelling entering password to unlock key will not reprompt.
  • SMIME: fix a bug that did not allow users to transfer certificates to remote containers. Reported by Matthias Rieber.
  • SMIME: certificates included in messages were not being transferred to a remote container.
  • SMIME: Crash if public certificates are located in an inaccessible remote server and the private key is not available.
  • SMIME: Alpine does not remove temporary files created when adding a CA certificate to a container. Reported by Holger Trapp.
  • SMIME: When reading a local certificate, Alpine converts the name of the certificate to lowercase, which may make Alpine not be able to read such certificate. Reported by Dennis Davis.
  • SMIME: If the option "Remember S/MIME Passphrase" is disabled, then entering a password to read an encrypted message will make Alpine forget the key and not ask the password to unlock it again in case it is necessary to unlock it again. Reported by Ulf-Dietrich Braumann.
  • Alpine would use freed memory while trying to compute the color of the titlebar. This happened when trying to continue a postponed message.
  • Alpine failed to read an encrypted password file if too many passwords were saved in the password file.
  • When selecting messages while in Threaded Index Screen, some messages other than top of threads could appear in the index, making Alpine display messages "out of the screen."
  • The index format would be chopped at the position of an unrecognized token, instead of skipping the token as intended.
  • Work in progress: Avoid calling non-safe functions when Alpine receives a signal. See bug report here.
  • Crash when attempting to read a message after a bounce command. In order to produce a crash one needed to use the ^T subcommand and do a search in a LDAP directory. The crash is produced by changes to the text in the title bar. Reported by Heinrich Mislik in the Alpine-info list.
  • HTML messages that contain UTF-8 may wrap at the wrong position, making Alpine not display the correct character at the position that wrapping is done. Reported by Wang Kang.
  • Pico: Searching for a string that is too long causes Pico to crash in the next search.
  • Fix vulnerability in regex library. This only affects those who use this library, such as the windows version of Alpine. See http://www.kb.cert.org/vuls/id/695940 for more details.
  • Alpine would not set include and lib paths for OpenSSL if this was installed in /usr/local/ssl.
  • If the .pinerc file is a symbolic link, Alpine might not write its contents when saving its configuration.
  • The _INIT_ token does not skip over non-alphanumeric characters in the name. Reported by Andreas Fehr.
  • When opening an INBOX folder in a context different from the incoming folders collection, from the command line, Alpine would open the INBOX folder from the incoming folders collection.
  • Mismatch in size of UCS and CELL caused a corruption in the content of a pointer, which made the speller in PC-Alpine get the content of a word incorrectly.
  • Skip testing openssl compatibility version when cross-compilation is detected. Fix contributed by Antti Seppälä
  • Alpine fails to remove temporary files used during a display or sending filter. Fix contributed by Phil Brooke.
  • When the index is in zoomed state, adding new messages to the selection would not show those messages if those messages are on top of the current message in the top of the screen. Reported by Ulf-Dietrich Braumann. In addition, when the user scrolls through the index, this scroll smoothly, without jumping pages. Reported by Holger Trapp.
  • Crash when reviewing history of saving attachments.
  • Crash when canceling a goto command on a local collection that has not been expanded and attempting to expand such collection.
  • Crash in Pico when forwarding messages that contain a direction mark at the end of a line. Reported by James Mingo.
  • Solve compilation errors when Alpine is built with Visual Studio 2015.

Version 2.20 addresses bugs found in previous releases and has several additions as well.

Additions include:

  • Upgrade UW-IMAP to Panda IMAP from https://github.com/jonabbey/panda-imap.
  • S/MIME: Add screen to manage certificates.
  • S/MIME: Signatures are validated using the user's certificates instead of the ones included in the message. Behavior can be disabled by disabling the option , which is enabled by default.
  • S/MIME: sign messages using intermediate certificates when needed and possible.
  • S/MIME: validation of certificates for servers that modify signed content.
  • S/MIME: signed and encrypted messages will be signed first and encrypted second, so that they can be decoded by other clients.
  • S/MIME: add the sender certificate to the list of certificates in encrypted messages to make it possible for the sender to decrypt the message they sent.
  • S/MIME: When transferring certificates to a local container, create container with default names PublicContainer, PrivateContainer and CAContainer, as appropriate for these files, unless the user has provided some other names.
  • S/MIME: Forwarding a message will include the signed part as part of the text and not as a multipart message, just as the reply command does.
  • HTML: Style tag in body of html message causes Alpine to not write its content until a new </style>
  • HTML: <BR>, <BR />, and <BR/> are considered the same inline tag; the same is valid for the <HR> tag.
  • Add support to selective expunge through a subcommand of the select-apply commands. Read more in the help for the expunge command.
  • Pico: New subcommand of the search command, allows to reverse the direction of search.
  • Unix Alpine: If a password file is defined, and S/MIME is enabled, the key and certificate used to encrypt the password file are saved in the ~/.alpine-smime/.pwd directory, or in the directory specified by the -pwdcertdir command line option. Learn more.
  • Add /tls1, /tls1_1, /tls1_2 and /dtls1 to the definition of a server to use different ways to connect using ssl, for example {server.com/tls1} will attempt to connect to server.com at the ssl imap port (port 993) and establish a connection using TLSv1. These flags can be used in conjunction with the /ssl flag, the ssl flag is redundant. Conversely, however, the /ssl flag does not imply any of these flags; the /ssl flag means SSLv3 or, if not available, SSLv2 in the SSL port.
  • Alpine does not attempt to automatically reopen a collection that was not opened due to cancellation by the user. Instead, the user must try to open it explicitly.
  • Alpine searches for a certificate that matches an email address in all addresses in a certificate (instead of just the first one) but when it tries to unlock the certificate, it asks for the password for the first email address in that certificate.
  • Style tag in body of html message causes Alpine to not write its content until a new </style>
  • Experimental: Write the content-type of a message in lowercase, as some non-compliant servers do not understand uppercase content-type, such as those of GMX.de.
  • Experimental: Do not send the RSET command before attempting to send a message, as this causes a delay in some evily managed servers.
  • Opening a folder updates recent count in maildrops (this already works for other types of folders)
  • Automatically redraw screen after opening an attachment instead of simply clearing it.
  • Pico: Justification works without need of a predefined quote string. This allows justification of blocks of text that are indented with spaces.
  • Decode the name of attachment names, so they can be written as part of the description of the part.
  • Check bounds and tie strings off to improve security. Contributed by James Jerkins.
  • Replace tabs by spaces in From and Subject fields to control for size in screen of these fields. Change only in index screen display.
  • Aggregate operations allows bouncing a list of messages using a role. Suggested by Ulf-Dietrich Braumann.
  • Disable saving new passwords to the password file. Implemented by Louis Raphael from dpslabs.com. Learn more.
  • Makefile: Add $(LIBINTL) to the flags to link rpdump, rpload, alpined and alpineldap because MAC OSX 10.8 x86_64 needs it. Reported by Charles M. Register.

Bugs that have been addressed include:

  • Fix _INIT_ token for reply quote string to include support for 8-bit in personal names. Reported by Lev Gorenstein.
  • When writing the .pinerc file, lines were truncated if they were longer than 10,000 characters. This could cause data corruption, so now lines are allowed to be of any length.
  • S/MIME: signed messages that contained an attachment would not validate.
  • S/MIME: signed and encrypted messages from Thunderbird would not validate. Thanks to Andreas Schamanek for testing, debugging and advising during the process of fixing this problem.
  • S/MIME: Forwarding messages with multipart content-type failed to be signed with "Error writing pipe" message. Reported by Andreas Schamanek and Stefan Mueller.
  • S/MIME: Certificates are lost when using a pinerc file outside of the home directory.
  • S/MIME: Accessing the S/MIME configuration screen would deinitialize SMIME making it not possible to sign or encrypt messages.
  • S/MIME: Forwarding a signed message might make the body contain mime information that is not part of the body, and hence making the body of the message seem wrong.
  • S/MIME Alpine would compute incorrectly the signature of a message that contains 8bit if the option "Enable 8bit ESMTP Negotiation" is enabled, the message contains 8bit characters and the smtp server supports 8bit sending.
  • When replying to several messages, subject will be decoded first, and then stripped from re/fwd before they are compared to determine the subject of the replied message.
  • Crash when tcp connection to NNTP server was lost after connection had been established, but lost immediately afterwards.
  • Crash with message "lock when already locked", when painting an index was based on scores that needed information from a remote addressbook in the same server as the folder opened. Reported by Peter Koellner.
  • Crash in message/rfc822 attachments encoded in base64.
  • Postponed messages whose content-type is text/html, text/enriched and text/richtext are sent with that content-type, even though, after resuming composition, Alpine had changed its type to text/plain.
  • Alpine cannot handle correctly some characters in the Windows-1256 character set, which might lead to a crash or a corruption in the screen. Work was done to contain the bug. A more complete fix will be done in a future release. Reported by Professor Robert Funnell.
  • WebAlpine: add _GNU_SOURCE to make pubcookie build.
  • WebAlpine: fail to build with debug disabled. Fix from Sam Hathaway.
  • Save command did not warn of existence of a message with a deleted attachment in an aggregate save, unless cursor was positioned on a message with a deleted attachment. Reported by Florian Herzig.
  • Transformation of UTF-8 to MUTF7 was not being done when creating a folder in an IMAP server.
  • DATE tokens were not internally transformed to UTF-8, which made their values not appear complete in the screen. Reported by Werner Scheinast.
  • Fixes to configure script so that it will not require PAM for every system.
  • Fix to configure script so that it will use CPPFLAGS instead of CPPCFLAGS, and so the --with-ssl-include-dir option take effect during the build. Fix by Ulf-Dietrich Braumann.
  • Fix in WebAlpine: do not use deprecated dereference in pointer, needs to use tcl_getstringresult() instead. Reported by Ulf-Dietrich Braumann.
  • Quoted string in URL Viewers configuration variable were not unquoted before passing to viewer.
  • Fix in configure script to detect location of tcl library; add /usr/local in FreeBSD and fix a bug in configure script that used $alpine_TCLINC instead of $alpine_TCLINC/tcl.h. Reported and fixed by Werner Scheinast.
  • Move SSL configurations from UW-IMAP to configure script, and update OpenSSL configuration for Mac OS X.
  • Remove -lregex from linker flags when building --with-supplied-regex.
  • When the download of an attachment is interrumpted, Alpine stills caches what was downloaded, making the download incomplete for subsequent calls of Alpine attempting to open the attachment. In the future, Alpine will not cache any downloaded part of the attachment when it is interrupted.

Version 2.11 addresses bugs found in previous releases and has a few additions as well.

Additions include:

  • Alpine requires version 1.0.0c of Openssl to build.
  • Increase encryption of S/MIME encrypted messages.
  • Pico: Improvements in justification of paragraphs: lines that begin with a quote string, followed by a space were considered individual paragraphs, now they are considered part of a paragraph. Based on earlier joint work with Jeff Franklin.
  • Unix Alpine: Allow local .pinerc file to be a symbolic link.
  • Experimental extended support of recognition of UTF-8 in urls based on information from http://url.spec.whatwg.org.
  • Added recognition of ws and wss URIs.
  • Add ability to color folder names, directory names, and text in the FOLDER SCREEN.
  • Add the ability to color any token used in the display of the INDEX SCREEN.
  • New option that adds the ability to preserve To: and Cc: fields when replying to a message, as specified by original sender.
  • Add a _SILENT_ token to the list of tokens for a display filter, so that Alpine will not redraw the screen when it is unnecessary.
  • Quota command includes subcommands for printing, forwarding, etc.

Bugs that have been addressed include:

  • Crash when a non-compliant SMTP server closes a connection without a QUIT command.
  • Crash when resizing the screen in a configuration screen.
  • Do not bail out during a tcp timeout, instead close connection and avoid crash.
  • Do not use a shell to open a browser.
  • Configure script did not test for crypto or pam libraries.
  • Configure script attempted to build web component, even if header file tcl.h was not present.
  • Change Cygwin directory separator to "/".
  • Alpine could set List- headers, contrary to RFC 2369.

Version 2.10 addresses bugs found in previous releases and has a few additions as well.

Additions include:

  • Quota report for IMAP folders that support it (press the "@" command in the index screen of such folder).
  • Search a folder for the content of any header with the ";" command.
  • Foreign characters are decoded correctly in IMAP folder names.
  • Question about breaking connection to slow servers includes their name.
  • Internal x-alpine-help: resource locator for sending links to internal help.
  • OpenSuse: Alpine find location of OpenSSL certificates.
  • Cygwin: Alpine builds without need of patch.
  • Recognition of proper mime type for docx, xlsx, and pptx files.
  • When composing a message, Alpine will create a new thread when the subject is erased.
  • Add support for strong encryption of password file when S/MIME is built in.

Bugs that have been addressed include:

  • Alpine will close a folder after confirming with user their intention and not reopen it.
  • Double allocation of memory in Pico.
  • Alpine does not give warning of message sent and posted upon receipt by email of message posted in newsgroup.
  • Handling of STYLE html parameter may make Alpine not display the content of a message.
  • Not recognition of environment variables in some options.
  • Not display of login prompt during initial keystrokes.
  • justification of long urls breaks them.
  • Incorrect New Mail message when envelope is not available.
  • Incorrect display of PREFDATE, PREFDATETIME and PREFTIME tokens.
  • Crash when resizing the screen after display of LDAP search.
  • Crash when redrawing screen while opening a remote folder collection.
  • Infinite loop in scrolltool function during notification of new mail.
  • No repaint of the screen after midnight was done when the SMARTDATE token is used in the index screen.
  • No display of signed and encrypted S/MIME messages.
  • Alpine will not build with OpenSSL.
  • Crash for double locking in calls to c-client.
  • Bad recognition of mime-encoded text may make Alpine not print the subject of a message.
  • Ignore the references header when threading messages
  • No update of colors in index screen after update to addressbook.

Version 2.01 addresses bugs found in previous releases and has a few additions as well.

Additions include:

  • Fixed non-ASCII web alpine handling
  • Added web alpine help.
  • Allow web alpine inbox on second IMAP server.
  • Allow web alpine config reset after bad inbox-path gets set.
  • Added web alpine ability to create group contact from contact list members.
  • Backed out web alpine coercing of default sort-key of arrival to date/reverse.
  • Tidied up web alpine script layout.
  • Fixed web alpine status message ordering
  • Added web alpine Fcc setting via Contacts in Compose
  • Fixed web alpine autodraft attachment issues
  • Fixed web alpine problems with recent count maintenance
  • Fixed web alpine newmail arrival display in message list
  • Added web alpine confirmation to folder create for Move/Copy
  • Added web alpine user-domain support
  • Fixed web alpine to support INBOX-within-a-collection deletion

Bugs that have been addressed include:

  • In web alpine fixed delete all selected within a search result to reorient correctly to whole-mailbox message list.
  • Fixed web alpine delete in view page to be sensitive to sort
  • Fixed web alpine open of folder within directory from folder manager page.
  • Fixed web alpine open of folder within directory from left column's recent cache.
  • Fixed web alpine problems with spaces in special folder names like Drafts
  • Fixed web alpine adding contacts from message list and view
  • Fixed web alpine create of non-existent fcc
  • Remove mistakenly left debugger statement in web alpine javascript.
  • Some UNIX alpine build problems fixed
  • Crash in pico and pilot when nl_langinfo returned something unrecognizable or NULL. Add recognition of "646" to nl_langinfo wrapper. This is returned by locale charmap call on some Solaris 8 systems.
  • MacOS Keychain logins were not working correctly with generic host names, like imap.gmail.com, as opposed to specific instances like rx-in-209.google.com, causing new password requests when not needed
  • Possible crash in WhereIs command while in FOLDER LIST when cursor is located on the last folder in the list
  • Change to S/MIME get_x509_subject_email so that X509v3 alternative names are looked for along with the email address
  • Changes to configure to get spellcheck options with work with arguments.
  • Add change from Mark Crispin of panda.com to at least minimally handle non-ascii hostname returned by gethostname (iPhone can do this)
  • Fixed a bug that prevents a filter that moves a message into a local folder from also setting the DELETE flag in that moved message. Fix from Eduardo Chappa.
  • Changed size of shellpath in open_system_pipe from 32 to MAXPATH. Fix from Jake Scott of marganstanley.com.
  • Buffer overflow bug in c-client's tmail/dmail, fix from Mark Crispin. This is not used in alpine.
  • Imapd server crash from unguarded fs_give in IDLE code, fix from Crispin. Apparently this causes RIM Blackberry BIS service problems. This is not used in alpine.
  • Tmail uninitialized pointer fix from Neil Hoggarth. Not used in alpine.
  • Buffer overflow possibility in RFC822BUFFER routines in c-client library. Fix from Ludwig Nussel of SUSE and from Crispin.
  • Include whole filename in export filename history
  • Fix display bug in pico when Replace command is canceled. Fix from Eduardo Chappa.

Version 2.00 addressed bugs found in previous releases and had a few additions as well.

Additions included:

  • Redesigned Web Alpine interface
  • Experimental S/MIME support added in UNIX versions of Alpine
  • Attempt to include the attachment filename as part of the name of the temporary file used when viewing an attachment with an external program. Add some randomness to that filename to make it hard to predict the filename. Add a filename extension, usually derived from the type/subtype, to the temporary filename. This was previously done only on Windows and MacOS X.
  • Enhance address completion in the composer (TAB command) so that it looks through nicknames, fullnames, and addresses from the address book; addresses from the message being viewed, if any; and the results from LDAP Directory Server lookups for all of the defined directory servers that have the "Use-Implicitly-From-Composer" feature set.
  • Make the default character set setting more liberal in what it will accept from the UNIX nl_langinfo call and the various values of LANG seen in the wild
  • Remove the Alpine revision number from the titlebar in released versions while leaving it there in snapshot versions
  • Add a feature to suppress the display of asterisks when you type a password for Alpine
  • Add line wrapping when displaying PRE formatted sections of HTML
  • When the feature is turned on convert not only the dates in the index screen but also the dates in the MESSAGE VIEW

Bugs addressed in the 2.00 release included:

  • Crash when using tab-completion for selecting a Save filename
  • Make Web Alpine help text images relative for more portability
  • Fixed attach save of html parts in Web Alpine
  • Viewing, printing, exporting, replying, and bouncing of message digests was broken. Replying and bouncing should not have been allowed at all for digests. It would be nice to have a more standard index-like view of a message digest but that has not been addressed with this minor bug fix.
  • Adjust wrapping of HTML messages so that the margins specified by and are observed correctly
  • Interrupt of WhereIs command in index was broken
  • The option did not work correctly interpreting unknown characters in message headers
  • Long address lines could cause blank continuation lines
  • Save to a local default INBOX failed if the primary collection was also local, which it is by default. The save went to ~/mail/inbox instead.
  • Make a default save folder of "inbox" always mean the real inbox, not the inbox in the primary collection
  • Address book entries with lots of addresses would be truncated when entered in the composer with a screen size wider than 270 or so characters
  • Some fields in the index screen were truncated when the screen width was wider than 256 characters
  • Crash when TABing to next folder, the next folder with new mail is a POP folder, and there is a more than 10 minute pause between typing the TAB and typing the Yes

Version 1.10(962) addressed bugs found in previous releases and had a few additions as well.

Additions included:

  • Add the possibility of setting a default role (see Roles Screen) which may be convenient if your work flow involves acting in one role for a while then switching to another role and staying in the new role for another period of time
  • When Saving and the IMAP server problem "Message to save shrank!" is encountered, ask the user if he or she wants to continue with the risky Save anyway instead of aborting. This may be helpful if your IMAP server is broken in this way but be aware that it is possible there was a real error instead of just a broken server implementation.
  • Some configure adjustments for Kerberos detection and for SCO OpenServer 5 support
  • Hide INBOX in a collection if it also appears as an Incoming Folder
  • Show asterisks for feedback when the user is typing a password
  • Performance improvement for threading of large folders
  • Previously, the search used to find Pattern matches containing To patterns searched for both To and Resent-To headers. The relatively complicated search this produces causes problems when using some deficient IMAP servers. Now the default is to look only for To headers and ignore the presence of Resent-To. The previous behavior may be restored with the feature.
  • Add an to help with reading malformed unlabeled messages
  • option added
  • Map some Shift-LeftArrow escape sequences to LeftArrow
  • Add feature

Bugs addressed in the 1.10(962) release included:

  • Crash when encountering certain errors from an SMTP server
  • Crash in composer caused by overflow in replace_pat()
  • Hang when authenticating to an SMTP server that fails with a "connection disconnected" error
  • Bug in handling of trailing tab character in flowed text
  • Security enhancement for mailcap parameter substitution
  • did not work if the message being replied to was not flowed text and was not turned on
  • Don't allow printer to be changed through hidden config screen if system administrator didn't want it to be allowed
  • Attempts are sometimes made to set the Forwarded flag when alpine should know that it won't work, causing error messages to appear
  • A of double-quote double-quote didn't work right
  • Quoting wasn't being done to protect special characters from the MacOS X shell when was not defined
  • On MacOS X message attachments should be shown internally instead of being shown using the Mail application
  • When replying to a message with a charset of X-UNKNOWN Alpine would sometimes set the outgoing charset to X-UNKNOWN, making the result unreadable
  • When the sending of a message failed lines with leading spaces had one additional space inserted in each of those lines when the user was returned to the composer
  • The WhereIs command missed some index lines that contained non-ascii characters because it was truncating the line being searched so that it was shorter than what was visible on the screen
  • When composing, an attachment with a long name that causes wrapping in just the wrong place would generate an error and cause the send of the attachment to fail
  • After calling the file browser to attach a file in the composer, a resize of the window when back in the composer would redraw the last screen that had been shown in the browser instead of the current composer screen
  • Possible crash in index screen when encountering unparsable addresses or when using one of the PRIORITY tokens or the HEADER token in the
  • Problems with Header Color editing if the configuration option was inadvertently changed to the Empty Value in the hidden config screen
  • When resuming the final postponed message from an Exchange server the user could get a certificate validation failure because alpine was trying to validate the canonical name of the folder instead of the name the user used
  • Windows line endings in a mimetypes file on a Unix system cause a failure to find a match
  • Make matching of extension names case independent in mimetypes files
  • Windows dialog boxes for entering text were not working correctly
  • Replying to or Forwarding multipart/alternative messages which had a single text/html part did not work well
  • Printing the print confirmation page caused a crash
  • A To line with a long, quoted personal name could display incorrectly if it was close to the same width as the screen
  • When and are turned on hide (0/0) when the folder is empty
  • Folder completion while Saving didn't work if the collection being saved to was the local home directory

Version 1.00 was an evolutionary release based on Pine, which was also developed at the University of Washington. It is upwards-compatible for existing Pine users.

Changes included:

  • Ground-up reorganization of source code around addition of "pith/" core routine library.
  • Fundamental improvement in Alpine's internal text handling, which is now based exclusively on Unicode. This allows displaying incoming messages and producing outgoing messages in many different languages.
  • Ground-up reorganization of build and install procedures based on GNU Build System's autotools. NOTE, the included IMAP library build is not based on autotools, so some features will not work. However, it should get built automatically during the Alpine build process.
  • Web-based version included built on TCL designed to run under a suitable CGI-supporting web server such as Apache.

Details on changes in previous (prerelease) versions of Alpine may be found at the following URL:

http://repo.or.cz/alpine.git


Getting Help

Online Help
Every Alpine screen and command has associated help text accessible via the "?" key (or Ctrl-G in text-input contexts).
Web Help
The most current source of information about Alpine, including new version availability, is the web page at

http://repo.or.cz/alpine.git

Additional Information

General Alpine configuration information can be found here.

This is revision () of the Alpine software. Alpine mailbox and IMAP server access is provided by the IMAP Toolkit Environment (c-client library) version .

Alpine was developed until 2009 by the Office of Computing & Communications at the University of Washington in Seattle. Since then, the effort of developing Alpine has been continued by a community of volunteers who make good software even better!

Alpine Copyright 2013-2020 Eduardo Chappa,
Copyright 2006-2008 University of Washington.

Additional legal notices can be found here, or instead you can find the Apache License, version 2.0 at the web URL:

http://www.apache.org/licenses/LICENSE-2.0

<End of Release Notes> ====== h_password_file_support ====== Encryption for Password File Support Explained

Encryption for Password File Support Explained

Index
  1. Explanation
  2. Example of Use of Existing Key and Certificate
  3. Example of Creating Master Password

Unix Alpine Only.

If your version of Alpine has been built with password file support then you can use a special file to save your passwords, and avoid typing them every time you open a connection to a remote server.

If, in addition, your version of Alpine was built with SMIME support, then your password file will be encrypted with a strong key. There are two ways in which this can happen: Alpine will either use a matching private key and public certificate pair that you already own, or it will create one for you, just for purposes of encrypting this file. We describe both processes below.

Initially, Alpine will scan your public and private directories for a certificate/private key pair that works. Alpine will pick the first pair that it finds that matches.

Once a pair has been chosen, it will be copied to the directory ~/.alpine-smime/.pwd, and from then on, Alpine will use the pair found in that directory. The first time this process is done, this directory will be created, a key/certificate pair will be copied to it, from then on this pair will be used to encrypt and decrypt your password file.

If you want to use a specific key and certificate pair to encrypt your password file, you can create the directory ~/.alpine-smime/.pwd manually, and then create your preferred key/certificate pair there. Alpine will use this key regardless of if it has expired, or if it is self-signed. These issues do not affect the encryption or decryption of the password file.

If you prefer not to use the directory ~/.alpine-smime/.pwd to save your key/certificate pair, you can specify a different one with the -pwdcertdir command line option in Alpine. If the directory specified by this option is not found Alpine will fail to encrypt and decrypt your password file. However if it exists, Alpine will search for a key/certificate pair in that directory, and if it does not find one, it will create one and save it in that directory.

Alpine does not care about the names of the key and certificates in this directory, but the private key must have ".key" extension and your public certificate must have the ".crt" extension. The name of the private key will be used in the prompt when you are asked to unlock your key to decrypt your password.

If Alpine cannot find a suitable private key and public certificate pair to encrypt your password, it will create one. You will be asked to create a "Master Password" to protect such key. At this moment there are no restrictions on passwords, other than they have to be at least 8 characters long, but future versions of Alpine will include functionality to restrict master passwords, as set up by the administrator of the system in the pine.conf.fixed file.

Example of Use of Existing Key and Certificate

Assume you have a private key called peter@address.com.key in your, ~/.alpine-smime/private directory, and a public certificate called peter@address.com.crt in your ~/.alpine-smime/public directory, and these are your only key/certificate pair.

When Alpine starts for the first time, without command line options, it will check if the directory ~/.alpine-smime/.pwd exists, and if not, it will create it. Then it will go through your keys and certificates and find a pair that it can use, and copy the files peter@address.com.key, and peter@address.com.crt to the ~/.alpine-smime/.pwd directory. Alternatively you can do the same by copying these files by yourself. This can be done with the sequence of commands

mkdir ~/.alpine-smime/.pwd
cp ~/.alpine-smime/private/peter@address.com.key ~/.alpine-smime/.pwd
cp ~/.alpine-smime/public/peter@address.com.crt ~/.alpine-smime/.pwd

When Alpine starts, you will be asked the password to unlock your private key with the prompt.

Enter password of key <peter@address.com> to unlock password file:

If you prefer to use different names for your private and public keys in the ~/.alpine-smime/.pwd directory, you can do so, but you must preserve the extension of the files. For example, you can use the names private_key.key and public_cert.crt instead. In this case, the prompt you will see when you are asked to unlock your private key will read

Enter password of key <private_key> to unlock password file:

Observe that you do not need to use an existing key/certificate pair, and that you can create a new private key/public certificate pair to encrypt and decrypt your password file. Alpine provides a mechanism to change the encryption key for this file in the S/MIME configuration screen.

Example of Creating Master Password

If Alpine cannot find a suitable private key and public certificate pair to encrypt your password file, it will create one. When doing so, it will start the process with the following warning:

Creating a Master Password for your Password file.

Then Alpine will ask you to enter your Master Password:

Create master password (attempt 1 of 3):

Once you enter this password, and it validates according to system policy, you will be asked to confirm this password.

Confirm master password (attempt 1 of 3):

If you input the same password, then Alpine will set that as your Master Password, and you will use this password to unlock your key in the future.

If you would like to switch your Master Password in the future, you can do so by creating a new public key and public certificate pair. You can do so in the S/MIME configuration screen, in the "Manage Key and Certificate for Password File" section, simply enter your current password to unlock your current key and then press "C" to create a new key.

<End of help> ====== h_network_encryption_security ====== Network Encryption Security Explained

Network Encryption Security Explained

You can specify which encryption protocol you would like to try when creating a secure connection to a server. Alpine will attempt to use that encryption protocol, but in practice the protocol being used will default to the most secure protocol that both Alpine and the server support.

If you use the latest version of OpenSSL, the /ssl modifier to the server definition will use the most secure version of the TLS encryption protocol. The same will be true if you try /tls1_1 or /tls1_2, but in an old version of OpenSSL (pre 1.1.0 series) /tls1_1 might mean to use version 1.1 of the TLS protocol.

You will never go wrong by using the /ssl modifier. At the time of this writing OpenSSL had released version 1.1.1, with support for TLS version 1.3. If your version of OpenSSL does not support this version of the TLS protocol, then the /tls1_3 modifier will only mean to use the most secure version of the TLS protocol that OpenSSL and the server can negotiate. In future versions of OpenSSL, /tls1_3 might mean to try to negotiate a higher version of the TLS protocol.

In order to avoid confusion, the /ssl flag is the best way to guarantee the highest encryption protocol available, and it is the recommended modifier to the server definition to create a secure encrypted connection.

<End of help> ====== h_xoauth2 ====== XOAUTH2 Authenticator Explained

XOAUTH2 Authenticator Explained

The XOAUTH2 authenticator method is a way in which you can sign in to your account to read and send email. This method is different from the traditional username/password that users are accostumed to, and it needs to be set up by the user. This text will help you understand this authentication method.

The most important difference between this method and other authentication methods is what happens if someone steals your credentials. This method is attached to three components: Your username, your password and your email program.

At the beginning of this process, the developer of the email program registers the email program with the email service provider (Gmail, Outlook, etc.) In return, the email service provider creates a client-id. In addition, some services provice a client-secret. Since Alpine is an open source program, these values are part of the source code, and are known to everyone, and cannot be obfuscated.

After a program has been registered with an email service provider, the user must authorize the email program access to their email account in that service. Alpine helps you do that, but it cannot do all the process for you, and you will need to use an external web browser to authorize Alpine to read and send email.

This part of the process is simple. Alpine creates a URL based on the id and secret created by the email service, which the user opens. Once the URL has been opened, the user signs in to the server, and once signed into the account, the user is asked to authorize Alpine access to the email account. If the user agrees, an "Access Code" will be generated.

An Access Code is a very long string, and so the recommendation is to copy and paste this code back into Alpine, at the time Alpine is helping you set up this authenticator. This part of the process is done only once per email program (If you run Alpine in several computers, you would do this once per computer. Each computer gets its own Access Code.)

Once Alpine has an Access Code, it goes back internally to the email service and asks it to generate two strings, called the "Refresh Token" and the "Access Token". This part is invisible to the user, and they will never see it, but in order for you to understand what to do in case you lose them, you need to understand their use.

The Access Token is the equivalent of a temporary password. It allows the user to access (and reaccess as many times as they would like) their email account for a limited amount of time, typically 1 hour after it was issued. After that time expires, users need a new Access Token.

The Refresh Token is the equivalent of a password generator. With this token, Alpine can go to the email service provider and request a new Access Token. This part of the process does not need user intervention, anyone can do this, as long as they have the Refresh Token, program id and program secret, so it is important that users keep their Refresh Token as secure as they can.

Given that the Refresh Token and the Access Token are long strings, users are not supposed to be able to memorize them and recall them later. Alpine will store them in the password file, should a user have one. Otherwise, the user will have to create one each time they run Alpine, starting by creating the Access Code all over each time they try to sign in to their email account. When Alpine is compiled with SSL and password file support, it will default to saving this information using encryption and under a master password, so unless they have made changes to this process, their Refresh and Access Tokens are saved securely and persist from one session to the next.

Should any person steal your Refresh Token, you must login to your account with your username and password and revoke Alpine authorization to your account. This is enough to stop the person who stole your Refresh Token from accessing your email service. In the case of Gmail, changing your password will invalidate your Refresh Token, and this will be enough to prevent others from using a stolen Refresh Token. Consult with your email service provider to learn what you can do if someone steals your Refresh Token.

If, for any reason, Alpine cannot sign in to your email service for two consecutive times with Access Codes generated by your Refresh Token, it will remove the Refresh Token from your password file, forcing you to get a new one, by getting an Access Code first, and granting authorization to Alpine to access your email once again.

This implementation of XOAUTH2 knows the list of servers that it can access using the same credentials, so Alpine will be able to read and send emails using the same Access Token. You will not have to create Access and Refresh Tokens for the IMAP and SMTP servers separately.

<End of help> ====== h_xoauth2_config_screen ====== XOAUTH2 Configuration Screen

XOAUTH2 Configuration Screen

The XOAUTH2 configuration screen helps you connect your client-id and other configuration information about the service you want to use with Alpine.

Alpine provides a default configuration for you. For some providers this configuration does not work, and requires you to get your own Client-ID for Alpine. Depending on the service, you might need extra information, such as a Client-Secret or a Tenant.

If the default configuration of Alpine does not work for you, you can simply replace the default configuration of Alpine by your new configuration. If for any reason you need to have a second client-id, you can use the ^A command to add a new configuration for one of the supported services by Alpine.

If you wish to delete a configuration for a service, place the cursor on the configuration you want to delete and press ^D.

When you have more than one client-id for the same service, is is convenient to fill up the username field. This will tell Alpine that that specific configuration is to be used with the username(s) specified in that variable. If Alpine cannot detemine which configuration to use, it will ask you to select the correct Client-ID for your connection. This could happen when you are trying to login to your account. The client-id you select will be used by Alpine for that and future connections to that server.

<End of help> ====== h_tls_failure_details ====== Certificate Validation Details

Certificate Validation Details

This screen gives details as to why the certificate validation failed: the name of the desired server system; the reason for failure; and the name on the certificate. This is primarily of interest to experts.

<End of help> ====== h_tls_failure ====== TLS or SSL Failure

TLS or SSL Failure

An attempt was made to establish a secure, encrypted connection to the server system using either Transport Layer Security (TLS) or the older Secure Sockets Layer (SSL). This attempt failed.

You should contact your server system management for more assistance. The problem is probably at the server system and not in Alpine or your local system. The text in this screen may be helpful for the server system management in debugging the problem,

<End of help> ====== h_tls_validation_failure ====== TLS and SSL Certificate Validation Failures

TLS and SSL Certificate Validation Failures

An attempt was made to establish a secure, encrypted connection to the server system using either Transport Layer Security (TLS) or the older Secure Sockets Layer (SSL).

An important part of this procedure is server certificate validation. A server certificate is an "electronic identification card" for the server system that is signed by a well-known certificate authority (CA). Alpine compares the server system identity in the server certificate with the name of the server system to which it is trying to connect. Alpine also verifies that the CA signature is authentic.

Some common failure conditions are:

  • [UNIX Alpine] Self signed certificate. This means that the server system signed its own certificate. This does not necessarily indicate anything bad; the server operators may simply have elected to not purchase a signed certificate from a certificate authority.
  • [UNIX Alpine] Unable to get local issuer certificate. This means that the signature on the server system is from an unknown certificate authority. It can also mean that no certificate authority certificates have been installed on the local UNIX system.
  • [PC Alpine] Self-signed certificate or untrusted authority. This is the same as either of the above two conditions in UNIX Alpine. Note that Windows systems typically have a full set of certificate authority certificates installed, so it is more likely to be a self-signed certificate than an unknown certificate authority.
  • Server name does not match certificate. This means that the server presented a proper signed certificate for a name other than the desired name.

Any of these conditions can indicate that you are being attacked and have been directed to an imposter server that will record your password and your private mail messages. It can also mean something innocuous.

If you are certain that the problem is innocuous, you can append the option

/novalidate-cert

to the server system name where it appears in your configuration (e.g. the , a folder-collection, or a news or SMTP server). This will disable certificate validation. On the other hand, if you are attacked, you will get no warning if you do this.

When you get an error indicating a self-signed certificate from the remote server, you can download and install the certificate for that server. Avoid using the /NoValidate-Cert modifier. Alpine cannot help you with this process because certificates are part of the system and are not under the control of the user. Find directions on how to download and install certificates for your system using your favorite search engine.

<End of Cert Validation Failures help> ====== h_oauth2_start ====== Setting up XOAUTH2 Authentication

Setting up XOAUTH2 Authentication

You are trying to connect to a server that uses the XOAUTH2 method of authentication.

In order to set this up, you need to authenticate in the target server and authorize Alpine to access your email account.

After you have authorized Alpine, the server will generate an "access code." In order to use this code, press 'C' and copy and paste this code back into Alpine.

After you have input the code, Alpine will conclude logging you into your account.

<End of setting up XOAUTH2 Authentication help> ====== h_release_tlscerts ====== TLS and SSL usage note

TLS and SSL usage note

When using Alpine from Unix or Windows 2000, server certificates must be signed by a trusted certificate authority. You may relax this requirement (at the cost of some security) by using the NoValidate-Cert modifier in the mailbox name.

{foo.example.com/novalidate-cert}INBOX

The fully-qualified host name of the server should be used so that it matches the host name in the server certificate.

Here is an example of a host specification that directs Alpine to use the SSL port (993) and an encrypted data stream.

{foo.example.com/ssl}INBOX

<End of TLS usage help> ====== h_news_config ====== Alpine Configuration

Alpine Configuration

Using Environment Variables

The values of Alpine configuration options may include environment variables that 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 an Alpine configuration option it is looked up in the envirom ent (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

=$PERSNAME

the $PERSNAME would be replaced by Fred Flintstone so that this would be equivalent to

=Fred Flintstone

Note, environment variable substitution happens after configuration options that 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. (Note that the variable is called "personal-name" in the config file but is displayed in the config screen as "". In general, the value that goes into a config file is never exactly the same as the value you see on the screen.)

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.

Configuration precedence

There are several levels of Alpine configuration. Configuration values at a given level override corresponding values at lower levels. In order of increasing precedence:

  • built-in defaults
  • system-wide config file from command line or provided by "PINECONF" environment variable pine.conf file
  • personal configuration file
  • personal exceptions configuration file
  • command-line options
  • system-wide pine.conf.fixed file

The values in both the personal configuration file and the exceptions configuration file may be set using the Setup command. Setup/Config is the command to change most of the personal configuration options. The other Setup subcommands are also used to change the configuration, for example, Setup/AddressBook, Setup/Rules, and so on. Changing the personal exceptions configuration is very similar. To change a value in the Config screen you would use the command Setup/eXceptions/Config. Likewise for the other Setup subcommands (Setup/eXceptions/Rules and so on).

There are a couple exceptions to the rule that configuration values are replaced by the value of the same option in a higher-precedence file. The Feature-List variable has values that are additive, but can be negated by prepending "no-" in front of an individual feature name. So for features, each individual feature's value is replaced by the value of the same feature in a higher-precedence file. Note that this is done automatically for you when you change these values via the Setup/Config command. The other exception to the replace semantics happens when you use configuration inheritance for option lists.

File name defaults

Notes:


<exe dir> = directory where pine.exe found.
<pinerc dir> = directory where pinerc found.
# = default file name is overridable in pinerc.
$HOME, if not explicitly set, defaults to root of the current drive.
$MAILCAPS, if set, is used in lieu of the default mailcap search paths.
+ between the mailcap paths implies that the two files are combined.
; between other default paths implies that the first one found is used.

Alpine looks for most support files in the same directory it finds its personal configuration file (pinerc). The -p command-line flag may be used to specify a particular path name for the pinerc file. If a pinerc file does not exist, it will be created (if directory permissions allow). In PC-Alpine, if -p or $PINERC are not defined, Alpine will look in $HOME\PINE and the directory containing the PINE.EXE. If a PINERC file does not exist in either one, it will create one in the first of those two directories that is writable. In detail:

PC-Alpine:

 executable     <DOS search path>\pine.exe
 help index     <exe dir>\pine.ndx
 help text      <exe dir>\pine.hlp

 pers config    $PINERC  ;  $HOME\pine\PINERC  ;  <exe dir>\PINERC
 except config  $PINERCEX ; $HOME\pine\PINERCEX  ;  <exe dir>\PINERCEX
 global cfg     $PINECONF

 debug          <pinerc dir>\pinedebg.txtN
 crash          <pinerc dir>\pinecrsh.txt
 signature#     <pinerc dir>\pine.sig
 addressbook#   <pinerc dir>\addrbook
 mailcap#       <pinerc dir>\mailcap  +  <exe dir>\mailcap
 mimetypes#     <pinerc dir>\mimetype +  <exe dir>\mimetype
 newsrc#        $HOME\newsrc (if exists, else) <pinerc dir>\newsrc
 sentmail#      $HOME\mail\sentmail.mtx
 postponed#     $HOME\mail\postpond.mtx
 interrupted    $HOME\mail\intruptd

Unix Alpine:

 executable     <Unix search path>/pine
 persnl cfg     ~/.pinerc
 except cfg     ~/.pinercex
 global cfg     
 fixed cfg      
 local help     

 interrupted    ~/.pine-interrupted-mail
 debug          ~/.pine-debugN
 crash		~/.pine-crash
 newsrc#        ~/.newsrc
 signature#     <pinerc dir>/.signature
 addressbook#   <pinerc dir>/.addressbook
 postponed#     ~/mail/postponed-msgs
 sentmail#      ~/mail/sent-mail
 mailcap#       ~/.mailcap + /etc/mailcap
                           + /usr/etc/mailcap + /usr/local/etc/mailcap
 mimetypes#     ~/.mime.types + /etc/mime.types + /usr/local/lib/mime.types

 news-spool	varies across Unix flavors, e.g. /var/spool/news or /usr/spool/news
 active-news	varies across Unix flavors, e.g. /usr/lib/news/active
 lock files     /tmp/.
 inbox          
 password       /etc/passwd

Unix Alpine and PC-Alpine:

 .ab*           remote addressbook support files
 a[1-9]*        temporary (while Alpine is running) addressbook files

Mailcap files

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 that can display and/or print the file. A sample mailcap file comes bundled with the Alpine distribution. It includes comments that 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.

MIME-Types files

Alpine uses mime-types files (.mime.types or MIMETYPE) to determine what Content-Type to use for labeling an attached file, based on the file extension. That is, this file provides a mapping between filename extensions and MIME content-types.

Environment variables

PC-Alpine uses the following environment variables:
PINERC
Optional path to pinerc file.
PINERCEX
Optional path to personal exceptions configuration file.
PINECONF
Optional path to global pine config file.
HOME
TMPDIR, TMP, or TEMP
COMSPEC
MAILCAPS
A semicolon delimited list of path names to mailcap files.
USER_DICTIONARY
Used to specify the file to contain the user's spell check dictionary. The default is DICT.U in the same directory as the SPELL32.DLL
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.
SHELL
If not set, default is "/bin/sh".
TMPDIR, TMP, or TEMP
MAILCAPS
A colon delimited list of path names to mailcap files.

Common PC-Alpine Configuration Problems

Configuration settings aren't being saved

This problem can happen if you run pine from one directory and then decide to move your pine directory to another location. PC-Alpine stores certain variables, including the configuration location, in the Windows Registry (which you shouldn't ever need to manually edit). There are a couple of ways to go about removing or resetting the values in the registry.

1) Run PC-Alpine's registry value deletion command. This can be done by running: "<your pine directory>\pine.exe -registry clear" from the DOS prompt. You could create a shortcut to pine.exe and change the "Target" value to the above command.

2) Tell PC-Alpine where to look for the configuration file. Configuration information is stored in a file called the PINERC. With the "-p PINERC" option, you can tell PC-Alpine the location of your pinerc. An example of this would be to run: "<your pine directory>\pine.exe -p C:\pine\mypinerc". Again, you can use the DOS prompt or the shortcut method explained in (1).

Additionally, there is the "-registry set" option, which will actively set registry values to the current setting, and is therefore useful with the "-p PINERC" option.

<End of Configuration Notes> ====== h_news_legal ====== Alpine Legal Notices

Alpine Legal Notices

Alpine and its constituent programs are covered by the Apache License Version 2.0.

<End of Alpine Legal Notices> ===== h_info_on_mbox ===== Information on mbox driver

Information on "Missing Mail" and the "mbox" driver

Beginning with Pine 4.00 (Pine came before Alpine) a new INBOX access method is available as part of the standard configuration. It is called the "mbox" driver and it works like this:

If the file "mbox" exists in the user's home directory, and is in Unix mailbox format, then when INBOX is opened this file will be selected as INBOX instead of the mail spool file. Messages will be automatically transferred from the mail spool file into the mbox file.

The advantage of this method is that, after new mail has been copied from the system mail spool, all subsequent access is confined to the user's home directory, which is desirable on some systems. However, a possible disadvantage is that mail tools other than those from the University of Washington will not know to look for mail in the user's mbox file. For example, POP or IMAP servers other than those from the University of Washington, and many "new mail notification" programs may not work as expected with this driver enabled.

To disable this behavior, either remove/rename the "mbox" file or find the option in Setup/Config and add "mbox" to it:

=mbox

<End of help on this topic> ===== h_info_on_locking ===== FAQs on Alpine Locking

What Systems Managers Need to Know about Alpine File Locking

There is an extensive section on locking in the Alpine technical notes; this information is intended to provide answers to some common questions:

  1. Why did locking change in Pine 4.00?
    The actual locking mechanisms did not change in 4.00. What changed is that when one particular locking mechanism used by Alpine fails, Alpine now issues a warning message. Prior to Pine 4.00, the locking failure would occur, but no warning was issued.

  2. Is this what the "Mailbox vulnerable" message is about?
    Yes. It means that Alpine was unable to create a lockfile in the spool directory, generally because of overly restrictive protections on the spool directory. The correct permissions on the spool directory for running Alpine are 1777, i.e. read-write-execute permission for everyone, with the sticky-bit set, so only owners of a file can delete them.

  3. Why does Alpine require that the mail spool directory have 1777 protections?
    Alpine was designed to run without special privileges. This means that in order to create a lockfile in the spool directory, it is necessary to have the spool directory permissions be world-writable.

  4. Can't you create the lockfile somewhere else?
    No. The lockfile in question must be in the mail spool directory, because that's where the mail delivery program expects to find it, and the purpose of the file is to coordinate access between the mail client (Alpine) and the mail delivery program.

  5. Isn't having the spool directory world-writable a big security risk?
    No. Remember that the individual mail files in the spool directory are NOT world-writable, only the containing directory. Setting the "sticky bit" -- indicated by the "1" before the "777" mode -- means that only the owner of the file (or root) can delete files in the directory. So the only bad behavior that is invited by the 1777 mode is that anyone could create a random file in the spool directory. If the spool directory is under quota control along with home directories, there is little incentive for anyone to do this, and even without quotas a periodic scan for non-mail files usually takes care of the problem.

  6. Why not run Alpine as setgid mail?
    Alpine was never designed to run with privileges, and to do so introduces a significant security vulnerability. For example, if a user suspends Alpine, the resulting shell will have group privileges. This is one example of why we strongly recommend against running Alpine as a privileged program. In addition, a "privileged mailer " paradigm would mean that normal users could not test Alpine versions or other mailers that had not been installed by the system administrators.

  7. Are there any alternatives to creating .lock files in the spool dir?
    There are, but they all have different sets of tradeoffs, and not all will work on all systems. Some examples:
    • Use lock system calls. Works fine on a few systems, provided mail spool is local. Doesn't work reliably if NFS is used. Doesn't work unless all the mail programs accessing the spool dir use the same calls.
    • Deliver mail to user's home directory. An excellent solution, highly recommended -- but one which is incompatible with some "legacy" mail tools that always look in the spool directory for the mail.

  8. Are these spool directory lock files the only kinds of locks used by Alpine?
    No. Alpine also creates lockfiles in the /tmp directory. For normal Unix mailbox format folders, these are used to coordinate access between multiple Alpine sessions.

  9. What about the "" feature added in Pine 4.01?
    This is for people who are content to live dangerously, or who have specific knowledge that the spool directory lockfiles are superfluous on their system (because both Alpine and the mail delivery program are using system call file locking in a context that works reliably, e.g. not NFS.)

  10. Where can I find more details on how Alpine locking works?
    See the Alpine Technical Notes.

<End of help on this topic> ===== h_finding_help ==== Finding more information and requesting help

Places to Look for More Answers

If you have questions about or problems with Alpine that you cannot resolve after consulting the program's internal, context-sensitive help screens, here are additional information resources that you may find helpful:

  • Alpine's top-level MAIN MENU HELP.

  • Alpine's Help Index.

  • Alpine's internal Release Notes. They contain a listing of changes in Alpine since the last version, which may be useful for you to be aware of, especially if a "problem" you are encountering is actually a change in the way an aspect of Alpine works. There, you will also find notes on Alpine configuration.

  • The main site for Alpine contains information on configuring and solving problems with Alpine, it can be found at
    http://alpine.x10host.com/alpine/
  • Archives of the Alpine-info mailing list, at http://mailman13.u.washington.edu/pipermail/alpine-info/
  • The newsgroup comp.mail.pine.


Requesting help

If the internal help, the Release Notes, and your local online and print resources do not help you resolve a problem, please start by contacting your local computer support staff and asking for help.

This is especially true if:

  • You suddenly have trouble sending or receiving mail.
  • You receive a "disk quota exceeded" message.
  • You have forgotten your password.
  • You think your account may have been compromised.
  • You need help viewing an attachment.
  • You need to know how to configure your: NNTP (news) server, SMTP (sending mail) server, LDAP (directory lookup) server, or INBOX (incoming mail) path.
  • You want to know what alternative editors or spellcheckers you may be able to use.
  • You want to block email from a particular person.
  • You're going on vacation and need to autorespond to incoming mail.
  • You want to automatically file or filter incoming messages.
In all of these cases, you should contact your support staff, because only they will be able to assist you effectively. Your support staff may be, depending on who provides you with the email account you use Alpine with, for example:
  • the computing help desk of (a department of) your university, school, employer, ... ; or
  • the customer service center of your Internet Service Provider; or
  • the friendly volunteer helpers of your Freenet; or
  • the person who setup your computer and internet connection.

If you have no local computing support to turn to, the worldwide comp.mail.pine newsgroup can be a valuable source of information and assistance for Alpine user issues.

For systems/email administrators, developers, trainers, user support personnel, and others involved with Alpine messaging on a "technical" level, the mailing list alpine-info is available; for information on subscribing and posting to it, see

https://mailman13.u.washington.edu/mailman/listinfo/alpine-info

Regardless of whom you are asking for help with Alpine, remember to provide as much detail as you can about the nature of any problem you are encountering, such as

  • when it first occurred;
  • what, if anything, happened that might have brought it about;
  • whether it still persists;
  • whether it is reproducible, and if so, how;
  • what, if anything, you already tried to solve it.
It may also be helpful if you specify what version of Alpine you are using -- this is -- and on what system, and when the copy of Alpine you are using was created -- for this copy:

When the Alpine program you are currently using was installed, a support contact email address may have been set up; in that case, you can simply select this link now to send a message to it:


Local Support Contacts:


<End of help on this topic> ===== new_user_greeting ====== NEW USER GREETING

<<<This message will appear only once>>>

Welcome to Alpine ... a Program for Internet News and Email

We hope you will explore Alpine's many capabilities. From the MAIN MENU, select Setup/Config to see many of the options available to you. Also note that all screens have context-sensitive help text available.

Alpine is a free email program. Your use of Alpine is subject to the terms of the Apache License 2.0.

Alpine's privacy policy is a living, online only, document, which can be found at http://alpine.x10host.com/privacy.html. By following the previous link, Alpine will connect to an external server, and will download it and display it for you. Please take some time to read it and understand it. Since the Privacy Policy could be ammended to take into consideration new additions to Alpine, please check it periodically. You can always find a link to the Privacy Policy in the Release Notes.

To Exit this screen and continue your Alpine session press "E". ===== new_alpine_user_greeting ====== NEW ALPINE USER GREETING

<<<This message will appear only once>>>

Welcome to Alpine ... a Program for Internet News and Email

Your Alpine configuration file indicates that you may have used Pine before but not Alpine. If you are familiar with the way Pine works, you should be comfortable using Alpine. Your Pine configuration file is automatically used for Alpine. The Release Notes may be viewed by pressing "R" now or while in the MAIN MENU.

Alpine is a free email program. Your use of Alpine is subject to the terms of the Apache License 2.0.

Alpine's privacy policy is a living, online only, document, which can be found at http://alpine.x10host.com/privacy.html. By following the previous link, Alpine will connect to an external server, and will download it and display it for you. Please take some time to read it and understand it. Since the Privacy Policy could be ammended to take into consideration new additions to Alpine, please check it periodically. You can always find a link to the Privacy Policy in the Release Notes.

To Exit this screen and continue your Alpine session press "E". ===== new_version_greeting ====== NEW VERSION GREETING

<<<This message will appear only once>>>

Welcome to Alpine version !

Your Alpine configuration file indicates that you may not have used this version of Alpine before. This version's significant changes are documented in the Release Notes, which may be viewed by pressing "R" now or while in the MAIN MENU.

Alpine is a free email program. Your use of Alpine is subject to the terms of the Apache License 2.0.

Alpine's privacy policy is a living, online only, document, which can be found at http://alpine.x10host.com/privacy.html. By following the previous link, Alpine will connect to an external server, and will download it and display it for you. Please take some time to read it and understand it. Since the Privacy Policy could be ammended to take into consideration new additions to Alpine, please check it periodically. You can always find a link to the Privacy Policy in the Release Notes.

To Exit this screen and continue your Alpine session press "E". ===== main_menu_tx ====== GENERAL INFORMATION ON THE ALPINE MESSAGE SYSTEM

GENERAL INFORMATION ON THE ALPINE MESSAGE SYSTEM

Version
(built )
Copyright 2013-2020 Eduardo Chappa,
Copyright 2006-2008 University of Washington.

When you are viewing a help screen, there may be links to other topics highlighted (in Reverse video) in the text. Here is an example. The word "Introduction" in the TABLE OF CONTENTS below should be highlighted. If you type carriage return (or V for View Link, see the commands at the bottom of the screen) you will be taken to a new help screen to view the Introduction. The commands at the bottom of the screen should then include "P Prev Help". If you type "P" you will end up back here. If you type "E" for Exit, you will be back out of help and returned to the place you were in Alpine when you entered Help. In this case, you would go back to the MAIN MENU. There are also other links that are highlighted in bold (or the color used by your terminal to display bold). The items after the Introduction in the TABLE OF CONTENTS are all examples of such links. In order to view those links, you first have to make the link you want to view the current link. The "NextLink" and "PrevLink" commands (see bottom of screen) can do that for you.

TABLE OF CONTENTS

  1. Introduction
  2. Alpine Help
  3. Local Support Contacts
  4. Giving Commands in Alpine
  5. Alpine Configuration
  6. Titlebar Line
  7. Main Menu
  8. Index of Messages
  9. Reading Messages
  10. Composing Messages
  11. Reading News
  12. Address Books
  13. LDAP Directories
  14. Folders
  15. Collection Lists
  16. Aggregate Operations
  17. Color Setup
  18. Filtering
  19. Roles
  20. Patterns
  21. Keywords (or Flags, or Labels)
  22. Using a Mouse
  23. Command Line Options
  24. Securing Your Alpine Session
  25. S/MIME
  26. Reporting Problems
  27. Show Supported Options in this Alpine
  28. Index to Alpine's Online Help

<End of help on this topic> ===== h_mainhelp_intro ====== Introduction

Introduction

Alpine is an "Alternatively Licensed Program for Internet News and Email" produced until 2009 by the University of Washington. It is intended to be an easy-to-use program for sending, receiving, and filing Internet electronic mail messages and bulletin board (Netnews/Usenet) messages. Alpine supports the following Internet protocols and specifications: SMTP (Simple Mail Transport Protocol), NNTP (Network News Transport Protocol), MIME (Multipurpose Internet Mail Extensions), IMAP (Internet Message Access Protocol), and LDAP (Lightweight Directory Access Protocol).

Although originally designed for inexperienced email users, Alpine has evolved to support many advanced features. There are an ever-growing number of configuration and personal-preference options, though which of them are available to you is determined by your local system managers.

WHAT ALPINE DOES...

Alpine is a "mail user agent" (MUA), which is a program that allows you to compose and read messages using Internet mail standards. (Whether you can correspond with others on the Internet depends on whether or not your computer is connected to the Internet.) Alpine also allows reading and posting messages on the Internet "net news" system, provided that your site operates a suitable news server.

WHAT ALPINE DOES NOT DO...

A "mail user agent" such as Alpine is just one part of a messaging system. Here are some things that are not done by Alpine, but require other programs:

  • Actual relaying of email... which is done by "message transfer agents".
  • Vacation messages... automatically responding to incoming messages
  • Anything to do with "talk"... which has nothing to do with email.
  • Anything to do with "irc"... which has nothing to do with email.
  • List processing... resending one message to a list of recipients.

<End of help on this topic> ===== h_mainhelp_pinehelp ====== Alpine Help

Alpine Help

Alpine help is generally context-sensitive. In other words, each Alpine screen you use will have its own help text, explaining the choices available for that screen. This general help section, on the other hand, attempts to give an overall picture of what Alpine is capable of doing, as well as pointers to additional help sections about specific topics.

Much of the help text contains links to further help topics, similar to how the World Wide Web works. You may choose a link to view using the "NextLink" and "PrevLink" commands to change the link that is highlighted. The "View Link" command will then show you the highlighted link. Similar to the Back button in a web browser, the "Prev Help" command will return you to where you were before viewing the link, and "Exit Help" will return you to the location in Alpine before you asked for help. For example, if you are reading this text in Alpine you may return to the help table of contents with the "Prev Help" command or you may view the Release notes link in the next paragraph and then return here with "Prev Help".

In addition to this general help on Alpine, Release Notes on the current Alpine version are also available from the MAIN MENU: Press "F9" "R" to browse the release notes. These include changes since the last release, configuration information, the history of the Alpine project, credits, and legal notices. Alpine releases are available via the world wide web at

http://repo.or.cz/alpine.git

If you would like to print all of Alpine's internal help text (not recommended) for a little light bedtime reading, then press "F12" "Z" now. (This assumes that the copy of Alpine you are using has been properly configured for printing at your site.)

<End of help on this topic> ===== h_mainhelp_localsupport ====== Local Support Contacts

Local Support Contacts

No Local Support Contacts configured.

<End of help on this topic> ===== h_mainhelp_cmds ====== Giving Commands in Alpine

Giving Commands in Alpine

Unless configured otherwise () the bottom two lines of the screen are always used to list the commands you can give. You press the keys that are highlighted to give the command. The commands for getting help and going back to the main menu are always present (except when viewing help as you are now).

Pressing O (meaning "Other Commands") changes the keys you see at the bottom of any screen. In some cases there are 3 or even 4 different sets of keys that can be seen by using the O key. All commands are active, even if they are not currently showing at the bottom of your screen. In other words, you never need to press the O key, except to remind yourself of the proper key to press to perform an operation.

Control Key Commands

When composing mail, and in a few other places, in Alpine you have to use Control keys. This means pressing the Control key (usually labeled "Ctrl") and the letter indicated at the same time. Usually, this is shown with a "^" in front of the letter. On some systems, certain control characters are intercepted before they get to Alpine. As a work-around, you can press the ESCAPE key twice followed by the desired key. For example, if Ctrl-O (^O) does not work on your system, try typing "ESC ESC O".

Paging Up and Down

The "+" and "-" keys are used for moving to the next or previous page. The space bar is a synonym for "+". You may also use Ctrl-V to page down and Ctrl-Y to page up as you do in the message composer. On screens with a WhereIs (search) command, W or Ctrl-W followed by Ctrl-V will move to the bottom of the message or list, and W or Ctrl-W followed by Ctrl-Y will move to the top of the message or list.

Return Key

The return key is usually a synonym for a frequently used command. When viewing a message, there is currently not a default command, so RETURN does nothing; when in the index, it is synonymous with "view msg". In the key menu at the bottom of the screen, whatever is enclosed in square brackets [] is the same as the return key.

Control Keys Not Used By Alpine

Most commands in Alpine are single letters, with -- we hope -- some mnemonic value, but in places where Alpine is expecting text input, e.g. in the composer or at prompts for file/folder names, control keys must be used for editing and navigation functions.

Alpine has used nearly all the control keys available. There are, however, certain control keys that are reserved by other programs or for technical reasons. Alpine does not use any of these keys:

Ctrl-S
Used by Unix as "stop output"
Ctrl-Q
Used by Unix as "resume output"
Ctrl-]
Often used by Telnet as escape key

Note: Ctrl-S and Ctrl-Q can be subject to special handling.

In addition, while the ESC key alone is not used for command input, Alpine will recognize two consecutive ESC key presses followed by a letter key as a substitute for control key input. For example, the control key Ctrl-X can alternatively be entered using the three keystrokes: ESC ESC x. This is useful if the communication program you are using (e.g. Telnet) has its own, conflicting, idea of what certain control characters mean.

Repainting the Screen

Sometimes what is displayed on the screen will be incorrect due to noise on the phone line or other causes and you will want to repaint the whole screen to make it correct. You can use the Ctrl-L command to do this. It never hurts to do it when in doubt.

<End of help on this topic> ===== h_mainhelp_status ====== Titlebar Line

Titlebar Line

The top line of the screen is Alpine's titlebar line. It will always display the current version of Alpine and will also convey information about the status of the program. This is where you look to find out what collection, folder and message number is active and where you are in Alpine.

If the titlebar line says "READONLY" it means that the open folder (typically your INBOX) is "locked" by another mail session -- most likely a more recent session of Alpine has taken the INBOX lock.

If the titlebar line says "CLOSED" it means that you are trying to access a folder on a remote mail server, and for some reason, communication with the mail server has either been lost, or never successfully established. This can be a result of trying to open a non-existent folder, or one stored on an invalid or non-operational server, or it can mean that Alpine has been suspended for more that 30 minutes while accessing a remote mail server.

<End of help on this topic> ===== h_mainhelp_mainmenu ====== Main Menu

Main Menu

The Main Menu lists Alpine's main options. The key or keys you must type to enter your choice are to the left of each option or command name. You can type either uppercase or lowercase letters, and you should not press <Return> after typing the letter (unless you are specifically asking for the default, highlighted command).

From the Main Menu you can choose to read online help, write (compose) and send a message, look at an index of your mail messages, open or maintain your mail folders, update your address book, configure Alpine, and quit Alpine. There are additional options listed at the bottom of the screen as well.

The Help command usually returns context-sensitive help information. However, in the Main Menu you get the most general help, which includes a Table of Contents. The last entry in the Table of Contents is an Index of help topics, so this is a good place to go if you are having trouble finding how to do something.

Main Menu Commands

The Alpine main menu lists the most common Alpine functions. A full list of these commands and what they do is available.

<End of help on this topic> ===== h_mainhelp_abooks ====== Address Books

Address Books

As you use email, you can build a list of your regular email correspondents in your Alpine Address Book. At the Alpine MAIN MENU, press A to see the Address Book List screen. Your personal address book will be highlighted. Press <Return> to view it. You can use the address book to store email addresses for individuals or groups, to create easily remembered "nicknames" for these addresses, and to quickly retrieve an email address when you are composing a message.

There are two ways to add addresses to your address book: you can add them manually or take them from messages (by pressing T to access the Take command). With either method, you specify nicknames for your correspondents. A single address book entry (or nickname) can point to just one email address, or, it can point to more than one. When it points to more than one, it is called a distribution list. Each distribution list has a nickname, a full name, and a list of addresses. These addresses may be actual addresses, other nicknames in your address book, or other distribution lists.

Additional information is available in Alpine's online help:

<End of help on this topic> ===== h_mainhelp_ldap ====== LDAP

LDAP

LDAP (Lightweight Directory Access Protocol) is a standard means of accessing an organization's shared directories. Essentially, using LDAP, Alpine is able to find email addresses in large address books, rather like the White Pages provided by the phone company. As an Alpine user, it is not necessary to know much about how this works, only how to use it and how to configure it.

More information on configuring LDAP is available in Alpine's online help:

Additional help on using LDAP in Alpine is also available:

<End of help on this topic> ===== h_mainhelp_index ====== Index of Messages

Index of Messages

In Alpine's message index, the selected message is highlighted. The first column on the left is blank, shows a "+" if the message was sent directly to you (i.e., it is not a copy or from a list), or a "-" if you were explicitly Cc'd.

The second column may be blank, or it may contain:

  • "N" if the message is new (unread),
  • "A" if you have answered the message (using the Reply command),
  • "D" if you have marked the message for deletion.

Note: If you answer a message as well as mark it deleted (in either order), you will only see the "D".

The rest of the columns in the message line show you the message number, date sent, sender, size, and subject. For details, press ? (Help). The behavior and appearance of the Index screen is highly configurable. In the Setup/Config screen search (with the WhereIs command) for options that contain the words "index" or "thread" to see many of the configuration possibilities. In particular, the "" option may be used to configure the look of the standard MESSAGE INDEX lines in many different ways. Find in the Setup/Config screen and read the help text there for more information.

Most of the commands you need to handle your messages are visible at the bottom of the screen, and you can press O (OTHER CMDS) to see additional commands that are available. You do not need to see these "other commands" on the screen to use them. That is, you never need to press O as a prefix for any other command.

Additional information is available in Alpine's online help:

<End of help on this topic> ===== h_mainhelp_reading ====== Reading Messages

Reading Messages

The message text screen shows you the text of the message along with its header. If a message has attachments, those will be listed (but not displayed) also. The titlebar line displays information about the currently open message, folder and collection. You see the name of the collection (if there is one) in angle brackets, then the name of the folder, then the message number and finally the position within the current message (in percent). If the message is marked for deletion "DEL" will appear in the upper right as well.

As with every Alpine screen, the bottom two lines show you the commands available.

Additional information is available in Alpine's online help:

<End of help on this topic> ===== h_mainhelp_composing ====== Composing Messages

Composing Messages

To write a message, press C (Compose). You see the Compose Message screen, which is divided into two parts: the header area and the message text area. The header area is where information on the recipient (the To: field) and the subject line go, while the message text area contains the actual text of the email message. Different commands are available to you when your cursor is in different areas on this screen. To see additional help on commands in either the message text or header area, type G (Get help).

To move around, use the arrow keys or Ctrl-N (Next line) and Ctrl-P (Previous line); to correct typing errors, use <Backspace> or <Delete>.

The following information from Alpine's online help may prove useful:

<End of help on this topic> ===== h_mainhelp_collections ====== Collection Lists

Collection Lists

Collection lists are Alpine's way of organizing groups of folders. Each "collection" can reside on a different server, for example, and contain a different group of mail folders.

For more information on this, see:

Additional information relating to collection lists is also available in Alpine's online help:

<End of help on this topic> ===== h_mainhelp_folders ====== Folders

Folders

Messages can quickly accumulate in your INBOX folder. If you use email often, you soon could have hundreds. You need to delete messages you do not want, and you can use folders to organize messages you wish to save. A folder is a collection of one or more messages that are stored (just like the messages in your INBOX) so you can access and manage them.

You can organize your email messages into different folders by topic, correspondent, date, or any other category that is meaningful to you. You can create your own folders, and Alpine automatically provides three:

  • The INBOX folder: messages sent to you are listed in this folder. When you first start Alpine and go to the Message Index screen, you are looking at the list of messages in your INBOX folder. Every incoming message remains in your INBOX until you delete it or save it in another folder.
  • The sent-mail folder: copies of messages you send are stored in this folder. This is convenient if you cannot remember whether you actually sent a message and want to check, or if you want to send a message again.
  • The saved-messages folder: copies of messages you save are stored in this folder unless you choose to save them to other folders you create yourself.

More information about folders is available in Alpine's online help:

<End of help on this topic> ===== h_mainhelp_color ====== Color

Color

If the terminal emulator you are using is capable of displaying color 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, available from the MAIN MENU by selecting the Setup command followed by "K" for Kolor (because "C" stands for Config in this context).

For example, you may color things like the titlebar, the current item, the keymenu, and the status messages. You may also color lines in the index, and headers and quoted text in the MESSAGE TEXT screen. You use the Color Setup screen for configuring most of this, but you must use the IndexColor setup for coloring whole index lines. These are available from the MAIN MENU under Setup/Kolor and Setup/Rules/IndexColor.

The following entries in Alpine's online help provide additional information about how to use color:

<End of help on this topic> ===== h_mainhelp_mouse ====== Using a Mouse

Using a Mouse

If you are using PC-Alpine mouse support is turned on automatically. If you are using UNIX Alpine within an X terminal window or within a terminal emulator that supports an xterm-style mouse, then you may turn on support for the mouse with the feature . For UNIX Alpine you will also need to set the $DISPLAY environment variable.

PC-Alpine offers considerable mouse support. You can view what is "clickable" by dragging your mouse over any screen; when the arrow cursor changes into a hand, you found something. Mouse-click possibilities include navigating between screens and folders and double-clicking on hyperlinks to open your Web browser. Context-sensitive pop-up menus appear with a right-click on your PC-Alpine screen. Examples of right-click options include "copy" after selecting text to copy and "View in New Window" when you click on a particular message in the Message Index. The menu choices available to you will vary based upon what screen is open, where on the screen your cursor is located, and even what action you have already taken. Within a folder, you may set the "Important" flag on any message.

X terminal mouse support is more limited but still quite powerful. As with PC-Alpine, clicking on any of the commands in the keymenu at the bottom of the screen will execute that command as if you typed it. Double-clicking on a link, for example the link to the feature in the paragraph above, will take you to that link. Double-clicking on an index line will view the message, and so on.

<End of help on this topic> ===== h_mainhelp_keywords ====== Keywords

Keywords

Within a folder, you may set the "Important" flag on any message. This doesn't have any system-defined meaning and is only called the Important flag because many users use it to signify that a message is important to them in some way.

You may also define your own set of keywords. You might know these as user defined flags or as labels. These are similar to the Important flag but you choose the names for yourself.

Alpine will only display keywords that have been added by you in the Flag Details screen or that have been configured by you using the Setup/Config option . Keywords set by other means (for example, by another email client) will not show up in Alpine unless you configure Alpine to know about them. They will show up in the Flag Details screen, but will not show up, for example, in the index line.

The following entries in Alpine's online help provide additional information about how to use keywords:

<End of help on this topic> ===== h_mainhelp_roles ====== Roles

Roles

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.

To configure roles, go to the MAIN MENU and use the Setup command followed by "Rules" and then "Roles". The following entries in Alpine's online help provide additional information about how to use roles:

<End of help on this topic> ===== h_mainhelp_filtering ====== Filtering

Filtering

The software that 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 automatically delete messages. You may also automatically set the state (Important, New, Deleted, Answered) of messages and set for messages. Alpine doesn't have the ability to forward mail to another address or to deliver vacation messages.

To configure filtering, go to the MAIN MENU and use the Setup command followed by "Rules" and then "Filters". The following entries in Alpine's online help provide additional information about how to use filtering:

<End of help on this topic> ===== h_mainhelp_patterns ====== Patterns

Patterns

Patterns are used with Roles, Filtering, Index Coloring, Scoring, Other Rules, and Search Rules, so it may help you to understand exactly how Patterns work. The following entries in Alpine's online help provide information about using Patterns:

<End of help on this topic> ===== h_mainhelp_cmdlineopts ====== Command Line Options

Command Line Options

Alpine accepts a number of command line arguments, allowing you, for example, to start Alpine and immediately access a particular folder. Many of these arguments overlap with options in the Alpine configuration file. If there is a difference, then an option set on the command line takes precedence. Alpine expects command line arguments (other than addresses) to be preceded by a "-" (dash) as normally used by UNIX programs. A full list of command line possibilities is available.

<End of help on this topic> ===== h_mainhelp_config ====== Alpine Configuration

Alpine Configuration

Unless it has been administratively disabled, the Setup command on the MAIN MENU has several subcommands that allow you to modify Alpine's behavior. The possible subcommands are for general Configuration settings, Printer settings, Changing your Password, Signature setup, AddressBook setup, Collection Lists setup, Rules (including Roles, Filters, Scores, Search, Indexcolor, and Other rules), LDAP Directory setup, and Color configuration. In particular, the "Config" subcommand has many features you may set or unset and many other configuration variables that may be set to change the way Alpine works. Every one of the hundreds of options available in that configuration settings screen has help text associated with it. You may read that text by moving the cursor to highlight the option and then typing the Help command.

These settings are stored in your personal "pinerc" configuration file (or, optionally, they may be stored remotely), but on shared systems these settings may be over-ridden by a system-wide control file (due to local site security or support policies). A global pine configuration file can also be used to set default values for all Alpine users on a particular system. Power users may be interested in splitting their personal configuration data into two pieces, a generic piece and exceptions which apply to a particular platform. They may also be interested in configuration inheritance. General Alpine configuration information can be found here.

<End of help on this topic> ===== h_mainhelp_aggops ====== Aggregate Operations

Aggregate Operations

When you are in the MESSAGE INDEX, the available commands (for example, Delete, Undelete, Save, Reply, and so on) normally act on a single message. So, for example, if you press the Delete command, the currently highlighted message is marked Deleted. These commands that normally act on a single message may be applied to several messages at once instead.

By default this feature is turned on, but it could be administratively turned off to reduce complexity. The feature in the Setup/Config screen is used to turn it off or on. When this feature is turned on, the four commands "Select", "SelectCur", "ZoomMode", and "Apply" are available. The two selection commands allow you to mark a set of messages as being "selected". The "ZoomMode" command will toggle between displaying only the selected messages and displaying all the messages. The "Apply" command allows you to apply one of the regular MESSAGE INDEX commands to all of the selected messages instead of to only the highlighted message.

An example aggregate operation would be to catch up when reading a news group. That is, get rid of all the messages in the news group so that you can start fresh. The easiest way to do this in Alpine is to use aggregate operations. You want to Delete all of the messages in the group. You could start at the top and type "D" once for every message. A much faster method is to first Select all of the messages in the group, and then Delete all of them. This would take four keystrokes:

; a (to select all messages)

a d (to delete all selected messages)

Another use of Select is to use it for searching for a particular message or set of messages in a large folder. You may know that the message was From a certain user. You could select all messages from that user to start, and use Zoom to look at only those messages. If there were still too many messages to look at you could Narrow the set of messages further by selecting from all of those messages only the ones that were after a certain date, or contained a particular phrase in the Subject, or were too a particular address, and so on. That may be the end of what you are doing, or you may want to use Apply to Save or Forward or Print all of the selected messages.

Some related help topics are

<End of help on this topic> ===== h_mainhelp_readingnews ====== Reading News

Reading News

Background

Alpine can read and post to Internet (or USENET) newsgroups, using the same commands as for mail. Similar to mailing lists but existing on a larger scale, Usenet newsgroups allow groups of people with common interests to discuss particular topics. You might find newsgroups related to your career, or you might wish to check out the online discussion among the fans of your favorite television show.

Configuring Alpine for Reading News

Alpine often arrives pre-configured by your system administrator to automatically access the newsgroups offered by your organization, Internet Service Provider, or school. PC-Alpine users, and those attempting to customize Unix Alpine, will need additional details on how to configure Alpine to read news.

Accessing Newsgroups

The first step in reading news is to access the newsgroups collections screen from Alpine. If everything is configured properly, you should be able to do this by first typing L (folder List), then selecting the folder collection listed as "News." The actual name of this collection may differ from system to system.

Subscribing to Newsgroups

Once you have accessed the news collection, you need to subscribe to a newsgroup that interests you. Subscribing to a newsgroup means that Alpine will keep a record of the newsgroups in which you are interested and which articles in those newsgroups have been read.

Using Newsgroups

Alpine uses the similar commands to read news as to read mail. For example, the D command marks messages as Deleted (or "Dismissed," if you prefer), and the R command Replies to a news posting. Basically, Alpine allows you to read news as if it were mail, so you don't need to change the way you interact with Alpine.

There is also additional Alpine help available on how to use Alpine to read news.

<End of help on this topic> ===== h_mainhelp_securing ====== Securing your Alpine Session

Securing your Alpine Session

By default, Alpine will attempt to connect to an IMAP server on the normal IMAP service port (143). If the Alpine you are using has been built to support "Transport Layer Security" (TLS) and "Secure Sockets Layer" (SSL) (check by clicking here), and the server offers the STARTTLS capability, then a secure (encrypted) session will be established.

When you are connected to a remote folder the titlebar will contain a plus sign in the far right column if the connection is encrypted using TLS or SSL. Similarly, when you are being prompted for a password a plus sign will appear in the prompt if the connection is encrypted.

More Information on Alpine with SSL and TLS

  • TLS and SSL Usage Note
  • /SSL option for older servers which support port 993 SSL but not TLS
  • feature
  • PC-Alpine feature for working around OS SSL-problems

Here are some other security-related features and options

  • feature to disable password caching
  • Disable password file saving
  • feature
  • option
  • option

<End of help on this topic> ===== h_mainhelp_problems ====== Reporting Problems

Reporting Problems

We ask that you first read the relevant help screens and then seek assistance from your own local support staff. Once you are sure that your difficulty is not a local configuration problem, you might look at the help section explaining where to look for more information and where to get assistance.

Eduardo Chappa <chappa@gmx.com>

<End of help on this topic> ===== h_main_menu_commands ====== MAIN MENU COMMANDS

MAIN MENU COMMANDS

 Available Commands --  Group 1           Available Commands -- Group 2
 ------------------------------           -------------------- ----------
 F1  Show this help text                 F1  Show this help text
 F2  Show all other available commands   F2  Show other commands
 F3  Quit Alpine
 F4  Execute current MAIN MENU command   F4  Compose a message
 F5  Select previous command up on menu  F5  FOLDER LIST screen
 F6  Select next command down on menu    F6  Goto a specified folder
                                          F7  MESSAGE INDEX screen
                                          F8  Journal of status messages
 F9  Display Release Notes notes          F9  SETUP menus
 F10 Lock Keyboard                       F10 ADDRESS BOOK screen
                                          F11 Compose message using a role
 General Alpine Commands           Main Menu Screen Commands
 ---------------------           --------------------------
 ?  Show Help Text               O  Show all Other available commands
 C  Compose a message            P  Select Previous command up on menu
 I  MESSAGE INDEX screen         N  Select Next command down on menu
 L  FOLDER LIST screen           R  Display Alpine Release Notes
 A  ADDRESS BOOK screen          K  Lock Keyboard
 S  SETUP functions              G  Goto a specified folder
 Q  Quit Alpine                  J  Journal of status messages
                                 #  Compose message using a role

NOTE:

  1. For help on a particular command, highlight the bold text associated with it above and hit Return.
  2. The availability of certain commands (e.g. some of the options under SETUP) is determined by Alpine configuration files and system capabilities. At some sites, certain commands may not be available due to security or support concerns.

<End of help on this topic> ===== h_command_line_options ====== COMMAND LINE OPTIONS

COMMAND LINE OPTIONS

Possible starting arguments for Alpine:
[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.

-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 nth 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

		pine -conf > 

To generate a system configuration file using settings from an old system configuration file, execute


		pine -P old-pine.conf -conf > 

A system configuration file is not required.

-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.)

-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. Tcp turns on some TCP/IP debugging.

-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: =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:

-install
For PC-Alpine only, this option prompts the user for some basic information to help with getting properly set up.

-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: 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.

-nosplash
PC-Alpine only. This tells PC-Alpine not to display the splash screen upon startup. This may be helpful for certain troubleshooting or terminal server scenarios.

-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. Alpinerc 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 on UNIX, or nothing on PC-Alpine. Alpinerc 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, clear, and dump. Set will always reset Alpine's registry entries according to its current settings. Clear will clear the registry values. Clearsilent will clear the registry values without any dialogs. 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: .

-uninstall
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.

-x exceptions_config
Configuration settings in the exceptions configuration override your normal default settings. Exceptions_config may be either a local file or a remote Alpine configuration folder.

-z
Enable Suspend: When run with this flag, the key sequence ctrl-z will suspend the Alpine session.

Configuration equivalent: 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. Also, as a special case, the "Feature-List=" part of that may be omitted. For example, -signature-at-bottom is equivalent to -Feature-List=signature-at-bottom.

<End of help on this topic> ===== h_configuring_news ====== CONFIGURING NEWS

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). See the "Server:" field's help text for a more complete explanation of access method, and the "Path:" field's help text for a more complete explanation of "namespace".

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 that may be of interest is .

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). See the "Path:" field's help text for a more complete explanation of "namespace".

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). See the "Path:" field's help text for a more complete explanation of "namespace".

NOTE: Should no news-collection be defined as above, Alpine will automatically create one using the Setup/Config screen's "" 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 via Alpine's Setup/Config screen.

Other configuration features related to news are . , , , , , , and .

<End of help on this topic> ===== h_reading_news ====== READING NEWS

READING NEWS

Alpine uses almost the same commands for manipulating news folders as for mail folders. This means, for example, that when you are done with a message, you would use "D" to mark it as Deleted (or Dismissed, if you prefer.) This "mail-like" behavior differs from that of most newsreaders, wherein a message is implicitly dismissed after you have looked at it once. We strongly believe that Alpine should offer as much consistency as possible between mail and news, so the mail paradigm -- wherein a message does not magically disappear without explicit action by the user -- is used for news as well.

If you answer a message in a news folder, the index view will show the "A" flag as usual; but the industry standard file Alpine uses to keep track of what news as been read has no way of storing this flag, so it will not be preserved across sessions. The Deleted flag is the only one that is preserved when you leave and then return to a newsgroup. As an additional note on replies, when you Reply to a newsgroup message and say you want to reply to all recipients, Alpine will ask if you want to post the message to all the newsgroups listed in the original message.

If you would like Alpine to mark more-or-less recent news messages as "New", then set the "" feature (which is set by default). This will cause messages after the last one you have marked as Deleted to appear with "N" status in the MESSAGE INDEX. The "N" status often makes it easier to distinguish later news articles from those you've previously seen, but not yet disposed of via the "D" key. Note that this is an approximation, not an exact record of which messages you have not seen.

A frequent operation in news-reading is "catching up" -- that is, getting rid of all the messages in the newsgroup so that you can "start fresh." The easiest way to do this in Alpine is via the Select command. You would enter the following four keystrokes: ;aad to select all messaged, and then apply the delete (or dismiss) command to all of them.

There are also additional details on configuring news.

<End of help on this topic> ====== h_help_index ====== Help Index

Help Index

<End of Help Index> ============== h_config_remote_config ============= Remote Configuration

Remote Configuration

You may use the command line argument "-p pinerc" to tell Alpine to use a non-default configuration file. 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. The file ".pinerc" is the default for Unix Alpine and the file "PINERC" is the default for PC-Alpine. 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. To use a remote configuration you simply give a remote folder name as the argument to the "-p" command line option. The command line might look something like:

pine -p {my.imap.server}remote_pinerc

If there are special characters in the command shell you use, you may need to quote the last argument (to protect the curly braces from the shell). The command might look like:

pine -p "{my.imap.server}remote_pinerc"

You should choose a folder name for a folder that does not yet exist. It will be created containing an empty configuration. Do not use a folder that you wish to store regular mail messages in.

The Setup/RemoteConfigSetup command will help you convert from a local configuration to a remote configuration. It will create a remote configuration for you and copy your current local configuration to it. It will also help you convert local address books into remote address books and local signature files into literal signatures contained in the remote configuration file.

If the Setup/RemoteConfigSetup command doesn't do what you want, you may copy a local pinerc file to a remote configuration folder by hand by using the command line option "-copy_pinerc".

Another command line option, which is somewhat related to remote configuration, is the option "-x exceptions_config". The configuration settings in the exceptions configuration override your default settings. It may be useful to store the default configuration (the -p argument) remotely and to have the exceptions configuration stored in a local file. You might put generic configuration information in the remote configuration and platform-specific configuration on each platform in the exceptions configuration. The arguments to the "-p" and "-x" options can be either remote folders or local files.

There is another command line argument that works only with PC-Alpine and which may prove useful when using a remote configuration. The option "-aux local_directory" allows you to tell PC-Alpine where to store your local auxiliary files. This only has an effect if your configuration file is remote. Some examples of auxiliary files are debug files, address book files, and signature files.

<End of help on this topic> ============== h_config_exceptions ============= Generic and Exceptional 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 that 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 "" and "" options could be part of your exceptional configuration so that they could be different in the two places.

The command line option "-x exceptions_config" may be used to split your configuration into generic and exceptional pieces. "Exceptions_config" may be either local or remote. The regular Alpine configuration file will contain the generic data, and "exceptions_config" will contain the exceptional data.

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 (usually the Unix home directory). If the regular config file is remote (because the command line option "-p remote_config" was used) then Unix Alpine looks in the Unix home directory for ".pinercex". If the file does not already exist then no exceptions will be used. You can force exceptions to be used by using the "-x" option or by creating an empty ".pinercex" file.

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 (because the command line option "-p remote_config" was used) then PC-Alpine looks in the local directory specified by the "-aux local_directory" command line argument, or the directory $HOME\PINE, or in the <PINE.EXE directory>.

When you have an exception configuration there is a new command in the Alpine Setup screen, Setup/eXceptions. It toggles between exceptions and the regular configuration. This is the usual way to make changes in your exceptional configuration data. For example, you would type "S" for Setup, "X" for eXception, then follow that with one of the Setup commands, like "C" for Config or "K" for Kolor.

For most people, splitting the configuration information into two pieces is going to be most useful if the generic information is accessed remotely). That data will be the same no matter where you access it from and if you change it that change will show up everywhere. The exceptional data will most commonly be in a local file, so that the contents may easily be different on each computing platform used.

If you already have a local configuration file with settings you like you may find that the command Setup/RemoteConfigSetup is useful in helping you convert to a remote configuration. The command line flag "-copy_pinerc" may also be useful.

<End of help on this topic> ============== h_config_inheritance ============= Configuration Inheritance

Configuration Inheritance

Configuration inheritance is a power user feature. It is confusing and not completely supported by the configuration user interface. 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 .

The system-wide configuration file is normally 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 <AlpineRC registry value> or $HOME\PINE\PINERC or <PINE.EXE dir>\PINERC. This can be changed with the -p command line flag. If -p 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 named .pinercex and is in the same directory as the personal configuration file, if that configuration file is not remote, and is in the home directory if the personal configuration file is remote. If the file exists, then exceptions are turned on. If it doesn't, then you are not using exceptions. Alternatively, you may change the location of the exceptions configuration by using the command line argument "-x <exceptions_config>". Like the personal configuration data, exceptions_config may be either local or remote.

For PC-Alpine, the personal exceptions configuration file is named PINERCEX and is in the same directory as the personal configuration file unless the personal configuration file is remote. In that case, it is in the local directory specified by the "-aux local_directory" command line argument. (In the case that the personal configuration is remote and there is no "-aux" command line argument, Alpine searches for a PINERCEX file in the directory $HOME\PINE and the directory <PINE.EXE dir>.) If the file exists, then exceptions are turned on. If it doesn't, then you are not using exceptions. You may change the location of the exceptions configuration by using the command line argument "-x <exceptions_config>". or with the environment variable $PINERCEX (if there is no "-x" option).

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 internally by Alpine 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 that are lists, like "" or "", 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", without the quotes. 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 "" or "", 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 option. The way to do this is to either edit the pinerc file directly and manually insert it, or turn on the feature and insert it using the Setup/Config screen.

<End of help on this topic> ============== h_special_xon_xoff ============= Explanation of Alpine's XOFF/XON Handling

XOFF/XON Handling within Alpine

By default, Alpine treats Ctrl-S or Ctrl-Q (sometimes known as XOFF and XON) as normal characters, even though Alpine does not use them. However, the printer, modem, or communication software you are using may be configured for "software flow control," which means that XON/XOFF must be treated as special characters by the operating system. If you see messages such as "^S not defined for this screen", then your system is probably using software flow control. In this case you will need to set the "" feature.

If you do set this feature, be advised that if you accidentally hit a Ctrl-S, Alpine will mysteriously freeze up with no warning. In this case, try typing a Ctrl-Q and see if that puts things right. Printing via the "attached-to-ansi" or "attached-to-wyse" option will automatically enable software flow-control handling for the duration of the printing.

<End of help on this topic> ============= h_special_help_nav ============= Help Text Navigation Explained

Help Text Navigation Explained

Alpine contains extensive context-sensitive help text. At any point, pressing the "?" key will bring up a page of help text explaining the options available to you. You can leave the help text screen and return to normal Alpine operation by pressing the F3 function "E" key to Exit Help at any time.

Within the help screen you might find a word or phrase displayed in inverse text and others displayed in bold typeface. Such words and phrases are used to tell you Alpine has more information available on the topic they describe. The inverted text is the "selected" topic. Use the arrow keys, Ctrl-F, and Ctrl-B to change which of the phrases displayed in bold type is "selected". Hit the Return key to display the information Alpine has available on that topic. While viewing such additional information, the F3 function "P" key will return you to the previous help screen, and the F2 function "E" key will Exit the Help system altogether.

The "N" command will tell you the internal name of the help text you are reading each time, so that you can send this name in the text of a message and create a direct link to that internal help using the x-pine-help URL scheme. For example, the direct link to this item is x-pine-help:h_special_help_nav. If you add this text to a message, then a person using Pine to read such message would have a direct link to this help text.

When you are finished reading this help text, you can press the F3 function "P" key to return to the previously displayed help text.

<End of help on this topic> ============= h_special_list_commands ============= Email List Commands Explained

Email List Commands Explained

Electonic mail lists provide a way for like-minded users to join in discussions on topics of interest. The email list itself is represented by a single address that participants send messages to when they have something of interest to share with other members of the list. The receiving computer then, either automatically or after review by the list's owner (or moderator), sends a copy of that message to each member of the list.

Usually, subscribing and unsubscribing is done by sending requests in an email message to a special address setup to handle managing list membership. Often this is the name of the list followed by -request. This address is almost never the same as the address used to send messages to the list.

Unfortunately, email list participation commands are more a matter of convention than standard, and thus may vary from list to list. Increasingly, list management software is adding information to the copy of the postings as they're copied to the list members that explains how to do the various list management functions.

Alpine will recognize this information and offer the management commands they represent in a simple display. One or more of the following operations will be made available:

Help
A method to get help on subscribing, unsubscribing, an explanation of what the list is about, or special instructions for participation. This may be in the form of a reply in response to an email message, or instructions on how to connect to a Web site.
Unsubscribe
A method to get your email addressed removed from the list of recipients of the email list.
Subscribe
A method to get your email address added to the list of recipients of the email list. It may be in the form of a message sent to a special address or you may be connected to a web site.
Post
A method used to post to the email list. However, it might also indicate that no posting is allowed directly to the list.
Owner
A method to contact the list owner for special questions you might have regarding the list.
Archive
A method to view an archive of previous messages posted to the list. This may be in the form of a mail folder on a remote computer, an IMAP mailbox or even a Web site.

<End of help on this topic> ============= h_quota_command ============= Quota Screen Explained

Quota Screen Explained

This screen summarizes the quota report for this mailbox in the IMAP server. For each resource that you have a quota, this reports summarizes its use and limit.

Your IMAP server administrator may have set a quota based either on the total size of your mailbox (STORAGE), or the number of messages in your mailbox (MESSAGES), or some other criteria. This will be reported to you indicating the type of quota, its total use and its limit.

The report for STORAGE is reported in kibibytes (KiB). One kibibyte is 1024 bytes. Each of the characters that you see in this help text is one byte, and this help text is about 1 kibibyte in size. Small messages sent by Alpine are normally less than 4 kibibytes in size (which includes headers and text). Other email programs may send messages with bigger sizes when they send messages, since they send plain text and an alternative part in HTML.

A convenient way to save space for the STORAGE type of quota is by deleting attachments. This is done on each individual message by pressing the "V" command while reading the message text, then moving the cursor to the position of the attachment that is to be deleted, then pressing "D" to delete such attachment, going back to reading the message with the "<" command and pressing "S" to save the message in the same folder you are reading from. The saved message will not have the attachment that was marked deleted. Now you can delete and expunge the message with the unwanted attachment.

<End of help on this topic> ============= h_mail_thread_index ============= THREAD INDEX COMMANDS

THREAD INDEX COMMANDS

Available  Commands -- Group 1         Available Commands -- Group 2
-------------------------------        -----------------------------
F1  Show Help Text                     F1  Show Help Text
F2  Toggle to see more commands        F2  Toggle to see more commands
F3  FOLDER LIST Screen                 F3  MAIN MENU Screen
F4  View current thread                F4  Quit Alpine
F5  Move to previous thread            F5  Compose a message
F6  Move to next thread                F6  Goto a specified folder
F7  Show previous screen               F7  Next new thread
F8  Show next screen                   F8  Whereis
F9  Mark thread for deletion           F9  Print index
F10 Undelete (remove delete mark)      F10 Take Address into address book
F11 Reply to thread                    F11 Save messages into an email folder
F12 Forward messages                   F12 Export messages into a plain file

Available Commands -- Group 3
-----------------------------
F3  Expunge            F7 Sort                 F10 Bounce (remail) msg
F5  Select             F8 Jump to thread       F11 Flag messages as important
F6                     F9 Full Header Mode     F12 Pipe to a Unix command

Available Commands -- Group 4
-----------------------------
F3  Select Current     F4  Zoom                F5  COLLECTION LIST Screen F6  Compose using a role

Navigating the List of Threads       Operations on the Current Thread
-------------------------------      ---------------------------------
 P   Move to the previous thread     >  View Thread          %  Print
 N   Move to the next thread         R  Reply to thread      F  Forward
 -   Show previous screen            D  Mark thread for deletion
Spc  (space bar) Show next screen    U  Undelete (remove deletion mark)
 J   Jump to a specific thread       T  Take Address into Address Book
 W   Whereis -- search for a         S  Save into an email folder
     specific thread                 E  Export as a plain text file
Tab  Next new thread                 B  Bounce              *  Flag
                                     |  Pipe to a Unix Command

Miscellaneous Operations         General Alpine Commands
------------------------         ---------------------
 G   Goto a specified folder     O  Show all other available commands
 $   Sort order of index         ?  Show Helptext      Q Quit Alpine
 H   Full header mode            M  MAIN MENU Screen   < FOLDER LIST Screen
 X   Expunge/Exclude             C  Compose a new message
 Z   Zoom                        #  Compose using a role
 ;   Select     A Apply          L  COLLECTION LIST Screen
 :   Select Messages in Current Thread

NOTE:

  1. For help on a particular command, highlight the bold text associated with it above and hit Return.
  2. Availability of certain commands depends on feature settings.

Description of the THREAD INDEX Screen

The THREAD INDEX displays summary information from each thread (conversation) in the current folder. This is useful if you want to quickly scan new threads, or find a particular thread without having to go through the text of each message, or to quickly get rid of junk threads, etc. The current thread is always highlighted. Each line of the THREAD INDEX contains the following columns:

STATUS:
The markings on the left side of the thread tell you about its status. You may see one or more of the following codes on any given thread:
  • "D" for Deleted. All of the messages in this thread are marked for deletion but not yet eXpunged from the folder.
  • "A" for Answered. All of the messages in this thread are marked answered.
  • "N" for New. At least one message in the thread is New (you haven't looked at it yet).
  • "+" for direct-to-you. The "+" indicates that a message in the thread was sent directly to your account, your copy is not part of a cc: or a mailing list.
  • "-" for cc-to-you. The "-" indicates that a message in the thread was sent to you as a cc:. This symbol will only show up if the feature "" is turned on (which is the default).
  • "X" for selected. You have selected at least one message in the thread by using the "select" command. (Some systems may optionally allow selected messages to be denoted by the index line being displayed in bold type instead.)
  • "*" for Important. You have previously used the "Flag" command to mark at least one message in this thread as "important".

THREAD NUMBER:
Threads in a folder are numbered, from one through the number of threads in the folder, to help you know where you are in the folder.

DATE STARTED:
The date the thread was started. This is actually from the Date header of the first message in the thread. It doesn't take different time zones into account.

WHO STARTED THE THREAD:
This is usually the name of the sender of the first message in the thread, taken from the From header of the message. If there is no personal name given in that address, then the email address is used instead. If the message is from you (or from one of your alternate addresses), then the recipient's name is shown here instead, with the characters "To: " inserted before the name. (The idea of this is that if you started the thread you would rather see who the mail was sent to instead of that the mail was from you.) In Newsgroups, if you are the sender and there are no email recipients, the newsgroup name will be listed after the "To: ".

SIZE:
The number in parentheses is the number of messages in the thread.

SUBJECT:
As much of the thread's subject line as will fit on the screen. This is the subject of the first message in the thread.

<End of help on this topic> ============= h_mail_index ============= MESSAGE INDEX COMMANDS

MESSAGE INDEX COMMANDS

Available  Commands -- Group 1         Available Commands -- Group 2
-------------------------------        -----------------------------
F1  Show Help Text                     F1  Show Help Text
F2  Toggle to see more commands        F2  Toggle to see more commands
F3  FOLDER LIST Screen                 F3  MAIN MENU Screen
F4  View current message               F4  Quit Alpine
F5  Move to previous message           F5  Compose a message
F6  Move to next message               F6  Goto a specified folder
F7  Show previous screen of messages   F7  Next new message
F8  Show next screen of messages       F8  Whereis
F9  Mark message for deletion          F9  Print message
F10 Undelete (remove delete mark)      F10 Take Address into address book
F11 Reply to message                   F11 Save message into an email folder
F12 Forward message                    F12 Export message into a plain file

Available Commands -- Group 3
-----------------------------
F3  Expunge/Exclude    F7 Sort order of index  F10 Bounce (remail) msg
F5  Select             F8 Jump to message      F11 Flag message as important
F6  Apply              F9 Full Header Mode     F12 Pipe to a Unix command

Available Commands -- Group 4
-----------------------------
F3  Select Current     F4  Zoom                F5  COLLECTION LIST Screen F6  Compose using a role                       F10 Collapse/Expand Thread

Navigating the List of Messages          Operations on the Current Message
-------------------------------          ---------------------------------
 P   Move to the previous message        >  View                 %  Print
 N   Move to the next message            R  Reply to message     F  Forward
 -   Show previous screen of messages    D  Mark for deletion
Spc  (space bar) Show next screen        U  Undelete (remove deletion mark)
 J   Jump to a specific message          T  Take Address into Address Book
 W   Whereis -- search for a             S  Save into an email folder
     specific message                    E  Export as a plain text file
Tab  Next new message                    B  Bounce              *  Flag
                                         |  Pipe to a Unix Command
Miscellaneous Operations
------------------------
 G   Goto a specified folder     General Alpine Commands
 $   Sort order of index         ---------------------
 H   Full header mode            O  Show all other available commands
 X   Expunge/Exclude             ?  Show Help text     Q Quit Alpine
 Z   Zoom                        M  MAIN MENU Screen   < FOLDER LIST Screen
 ;   Select     A Apply          C  Compose a new message
 :   Select Current message      #  Compose using a role
 /   Collapse/Expand Thread      L  COLLECTION LIST Screen

NOTE:

  1. For help on a particular command, highlight the bold text associated with it above and hit Return.
  2. Availability of certain commands depends on feature settings.

Description of the MESSAGE INDEX Screen

The MESSAGE INDEX displays summary information from each message in the current folder. This is useful if you want to quickly scan new messages, or find a particular message without having to go through the text of each message, or to quickly get rid of junk messages, etc.

The current message is always highlighted and many commands operate on the current message. For example, the Delete command will delete the current message. If the folder is sorted by either Threads or OrderedSubject, then, depending on some of your configuration settings, a single line in the index may refer to an entire thread or to a subthread. If that is the case, then the commands that normally operate on the current message will operate on the thread or subthread instead. For example, the Delete command will delete the whole collapsed thread instead of just a single message.

Each line of the MESSAGE INDEX contains the following columns (by default -- you can change this with the "" option in the SETUP CONFIGURATION screen):

STATUS:
The markings on the left side of the message tell you about its status. You may see one or more of the following codes on any given message:
  • "D" for Deleted. You have marked this message for deletion but not yet eXpunged the folder.
  • "N" for New. You have not looked at the text of the message yet.
  • "A" for Answered. Any time you reply to a message it is considered to be answered.
  • "F" for Forwarded. Similar to Answered, this is set whenever you forward a message.
  • "+" for direct-to-you. The "+" indicates that a message was sent directly to your account, your copy is not part of a cc: or a mailing list.
  • "-" for cc-to-you. The "-" indicates that a message was sent to you as a cc:. This symbol will only show up if the feature "" is turned on (which is the default).
  • "X" for selected. You have selected the message by using the "select" command. (Some systems may optionally allow selected messages to be denoted by the index line being displayed in bold type.)
  • "*" for Important. You have previously used the "Flag" command to mark this message as "important".

MESSAGE NUMBER:
Messages in a folder are numbered, from one through the number of messages in the folder, to help you know where you are in the folder. These numbers are always in increasing order, even if you sort the folder in a different way.

DATE SENT:
The date the message was sent. By default, messages are ordered by arrival time, not by date sent. Most of the time, arrival time and date sent (effectively departure time) are similar. Sometimes, however, the index will appear to be out of order because a message took a long time in delivery or because the sender is in a different time zone than you are. This date is just the date from the Date header field in the message.

WHO SENT THE MESSAGE:
This is usually the name of the sender of the message, taken from the From header of the message. If there is no personal name given in that address, then the email address is used instead. If the message is from you (or from one of your alternate addresses), then the recipient's name is shown here instead, with the characters "To: " inserted before the name. (The idea of this is that if you sent the mail you would rather see who the mail was sent to instead of that the mail was from you. This behavior may be changed by modifying the option mentioned above. In particular, use the FROM token or the FROMORTONOTNEWS token in place of the FROMORTO token.) In Newsgroups, if you are the sender and there are no email recipients, the newsgroup name will be listed after the "To: ".

SIZE:
The number in parentheses is the number of characters in the message. It may have a suffix of K, M, or G which means the number should be multiplied by one thousand, one million, or one billion to get the size of the message.

SUBJECT:
As much of the message's subject line as will fit on the screen.

<End of help on this topic> ============= h_mail_view ======================== MESSAGE TEXT SCREEN

MESSAGE TEXT SCREEN

Available  Commands -- Group  1        Available Commands -- Group 2
-------------------------------        ------------------------------
F1  Show Help Text                     F1  Show Help Text
F2  Toggle to see more commands        F2  Toggle to see more commands
F3  MESSAGE INDEX Screen               F3  MAIN MENU Screen
F4  View attachment                    F4  Quit Alpine
F5  Display previous message           F5  FOLDER LIST Screen
F6  Display next message               F6  Goto a specified folder
F7  Previous screen of this message    F7  Compose message
F8  Next screen of this message        F8  Whereis
F9  Mark message for deletion          F9  Print message
F10 Undelete (remove delete mark)      F10 Take Address into address book
F11 Reply to message                   F11 Save message into an email folder
F12 Forward                            F12 Export message into a plain file

Available Commands -- Group 3
------------------------------
F1  Show Help Text
F2  Toggle to see more commands
F3  View hilited
F4  Select current message
F5  Previous selectable item
F6  Next selectable item
F7  Jump to message number
F8  Next new message
F9  Display full headers
F10 Bounce message
F11 Flag message
F12 Pipe to a Unix command
Available Commands -- Group 4
F5  Compose using a role
Operations on the Current Message
---------------------------------

 -   Show previous page of this msg    S  Save into an email folder
Spc  (space bar) Show next page        E  Export as a plain text file
 >   View attachment                   B  Bounce
 R   Reply to message                  F  Forward message
 D   Mark for deletion                Ret View hilited item
 U   Undelete (remove deletion mark)  ^F  Select next hilited item in message
 T   Take Address into Address Book   ^B  Select previous hilited item
 %   Print                             *  Flag message
 W   Whereis: search for text in msg   |  Pipe to a Unix command

Navigating the List of Messages      Other Commands
-------------------------------      ----------------------------
 P     Display previous message      G   Goto a specified folder
 N     Display next message          H   Full header mode on/off
 J     Jump to a specific message    :   Select Current message
Tab    Next new message              A   Toggle Prefer Plain Text

General Alpine Commands
---------------------
 O  Show all other available commands
 ?  Show Help text        Q Quit Alpine
 M  MAIN MENU Screen      L FOLDER LIST Screen (or COLLECTION LIST Screen)
 <  MESSAGE INDEX Screen  C Compose a new message
                          # Compose using a role

NOTE:

  1. For help on a particular command, highlight the bold text associated with it above and hit Return.
  2. Availability of certain commands depends on feature settings.

Description of the MESSAGE TEXT Screen

The top line of the view message screen displays status information about the currently open collection and folder and about the current message. It shows the name of the collection in angle brackets and then the name of the folder. The line also displays the number of messages in the folder, the number of the current message and the percentage of the current message that has been displayed on the screen. If the message is marked for deletion "DEL" will appear in the upper right corner. If the message has been answered (but not deleted) "ANS" will show in the corner.

NOTE: to rapidly move to the end of a message, hit the F8W (or Ctrl-W) key followed by Ctrl-V. Similarly, F8W followed by Ctrl-Y will take you to the beginning of a message.

Explanation of Alternate Character Sets

Alpine attempts to stay out of the way so that it won't prevent you from viewing mail in any character set. It will simply send the message to your display device. If the device is capable of displaying the message as it was written it will do so. If not, the display may be partially or totally incorrect. If the message contains characters that are not representable in your "Display Character Set" variable in your configuration, then a warning message will be printed to your screen at the beginning of the message display. It is probably best to use UNIX Alpine in a terminal emulator capable of displaying UTF-8 characters. See Display Character Set for a little more information about character set settings.

<End of help on this topic> ======= h_index_cmd_select ======= Selecting: Select and WhereIs/Select

Selecting: Select and WhereIs/Select

Aggregate operations give you the ability to process a group of messages at once. Acting on multiple messages requires two steps: (1) selecting a set of messages and then; (2) applying a command to that set. The first part is handled by the select command. Select allows you to select messages based on their status (read, answered, etc.), contents, date, size, or keywords. You may also select based on one of your Rules or based on threads, and there are quick options to select a specific message or range of messages, to select the current message, or to select all messages.

We describe the various selection criteria briefly:

select All
Marks all the messages in the folder as selected.
select Cur
Selects the currently highlighted message or currently highlighted set of messages if in a threaded view.
select by Number
Select by message number. This may be a comma-separated list instead or a single entry. Each element in the list may be either a single message number or a range of numbers with a dash between the lowest and highest member of the range. Some examples are 7 to select only message number 7; 2-5 to select messages 2 through 5; and 2-5,7-9,11 to select messages 2, 3, 4, 5, 7, 8, 9, and 11. The word "end" or the character "$" may be used as a substitute for the highest numbered message in the folder, while the character "." represents the message number holding the position of the cursor in the folder. If in a separate thread index where the numbers refer to threads instead of to messages, then you will be selecting all of the messages in the referenced threads instead of selecting by message number.
select by Date
Select by either the date stored in the Date headers of each message, or by the date when the messages arrived. This does not adjust for different time zones, but just checks to see what day the message was sent on. You may type in a date. If you do, the date should be in the form

DD-Mon-YYYY

For example,

24-Nov-2004

or

09-Nov-2004

If the date you want is close to the current date, it is probably easier to use the "^P Prev Day" or "^N Next Day" commands to change the default date that is displayed, instead of typing in the date yourself. Or, the "^X Cur Msg" command may be used to fill in the date of the currently highlighted message.

There are six possible settings that are selected using the "^W Toggle When" command. Three of them select messages based on the Date headers. They are "SENT SINCE", "SENT BEFORE", and "SENT ON". SINCE is all messages with the selected date or later. BEFORE is all messages earlier than the selected date (not including the day itself). ON is all messages sent on the selected date. The other three select messages in the same way but they use the arrival times of the messages instead of the Date headers included in the messages. Those three are "ARRIVED SINCE", "ARRIVED BEFORE", and "ARRIVED ON". When you save a message from one folder to another the arrival time is preserved.

select by Text
Selects messages based on the message contents. This allows you to select a set of messages based on whether or not the message headers or message body contain specified text. You may look for text in the Subject, the From header, the To header, or the Cc header. You may also choose Recipient, which searches for the text in either the To or the Cc header; or Participant, which means To or Cc or From. Besides those specific header searches, you may also search the entire header and text of the message with "All Text", or just the body of the message.

To search for the absence of text, first type the "! Not" command before typing the specific type of text search. For example, you could type "!" followed by "S" to search for all messages that do not contain a particular word in their Subjects.

If you choose a Subject search, you may use the subject from the current message by typing the "^X Cur Subject" command. You may then edit it further if you wish. For example, you might select the subject of a reply and edit the "Re: " off of the front of it in order to search for the original message being replied to. All of the other header searches allow you to use addresses from the headers of the current message if you want to. You may use the "^T Cur To", "^R Cur From", or "^W Cur Cc". In each case, if there is more than one address, only the first is offered.

select by Status
Selects messages based on their status. You may select all New, Important, Deleted, Answered, Recent, or Unseen messages. Or, if you first type the "! Not" command, you get not New, or not Important, and so on. If you select Deleted messages, you will get all messages with their Deleted flag set. Likewise for Important messages, all messages that you have flagged as being Important with the Flag command. The "New" and "Answered" choices are a little bit odd because they try to match what you see on the screen by default. "New" is a shorthand for messages that are Unseen, Undeleted, and Unanswered. If you have looked at the message, or deleted it, or answered it; then it is not considered "New ". "! New" is the opposite of "New".

"Answered" is another one that is a little different. It means that the message has been Answered and is not deleted. And to make it even more confusing, "! Answered" is not the opposite of "Answered"! Instead, "! Answered" stands for messages that are both Unanswered and not deleted.

The other two types were added later because the special nature of the New flag was not what was wanted by all users. New does match what you see in the index by default, but if you use the IMAPSTATUS or SHORTIMAPSTATUS token in the "" it may not be exactly what you want. "Unseen" simply selects all unseen messages, whether or not they are deleted or answered, and "Recent" selects all of the messages that have been added to the folder since you started this Alpine session. (That's not technically quite true. If there are multiple mail clients reading an IMAP mailbox, each message will be marked as Recent in only one of the client's sessions.)

select by siZe
Selects messages based on their size being smaller than or larger than the size you specify. The size is the number of bytes. You may use the suffix "K" or "k" to mean 1,000 times the number. For example, 7K is the same as 7000. The suffix "M" or "m" means 1,000,000 times the number, and the suffix "G" or "g" means 1,000,000,000 times. Use the "^W" command to toggle back and forth between Smaller and Larger.
select by Keyword
Selects messages that either have or do not have (using the "! Not" command) a particular Keyword set. One way to select a keyword is to use the "^T To List" command to select one from your list of keywords. The option allows selecting by Keyword initials if set.
select by Rule
Selects messages that either match or don't match (using the "! Not" command) one of the Rules you have defined. The most likely method of filling in the Rule is to use the "^T To List" command to select one of your Rules. All of the Rules you have defined will be in the list, including Rules for Searching, Indexcolors, Filtering, Roles, Score setting, and Other. They may not all make sense for this purpose, but they are all there for flexibility. You might find it useful to define some rules solely for the purpose of being used by the Select command. There is a special category for such Rules. They are called Search Rules.

Unfortunately, Alpine does not allow all possible Rules to be defined. For example, there is no logical OR operation. OR is accomplished in the Filter Rules or the other types of Rules by simply defining two rules, one that matches the first part of the OR and another that matches the second part. But you can't do that here, since you only have a single Rule to work with. Likewise, the order of Rules is usually important. For example, if the first Filter Rule (or Indexcolor rule or ...) matches a message, then that stops the search for a further match. This means that you may be confused if you try to use Select by Rule to check your Filter rules because the order is important when filtering but is not considered here.

select by tHread
Selects all of the messages in the current thread.
After you have an initial selection, the next and subsequent selection commands modify the selection. The select command changes. It first gives you selection "alteration" options: "unselect All", "unselect Current", "Broaden selection" (implements a logical OR), and "Narrow selection" (implements a logical AND). After you choose either Broaden or Narrow, you then choose one of the selection criteria listed above (by Text or Number or ...). You may use select as many times as you wish to get the selected set right.

The WhereIs command has a feature (Ctrl-X) to select all the messages that match the WhereIs search. WhereIs searches through just the text that appears on the MESSAGE INDEX screen. This method is often slower than using the select command itself, unless the line you are looking for is not too far away in the index.

The availability of the aggregate operations commands is determined by the "" Feature-List option in your Alpine configuration, which defaults to set. The features "" and "" affect the behavior of the Select command.

<End of help on this topic> ======= h_select_rule ======= Select: Rule

Select: Rule

You are selecting messages that either match or don't match one of the Rules you have defined. You may either type the nickname of the Rule at the prompt, or use the "^T To List" command to select one of your Rules. All of the Rules you have defined will be in the list, including Rules for Indexcolors, Filtering, Roles, Score setting, and Other. They may not all make sense for this purpose, but they are all there for flexibility. Rules may be added by using the Setup/Rules screen off of the main Alpine menu.

Unfortunately, Alpine does not allow all possible Rules to be defined. For example, there is no logical OR operation. OR is accomplished in the Filter Rules or the other types of Rules by simply defining two rules, one that matches the first part of the OR and another that matches the second part. But you can't do that here, since you only have a single Rule to work with. Likewise, the order of Rules is usually important. For example, if the first Filter Rule (or Indexcolor rule or ...) matches a message, then that stops the search for a further match. This means that you may be confused if you try to use Select by Rule to check your Filter rules because the order is important when filtering but is not considered here.

<End of help on this topic> ======= h_select_text ======= Select: Text

Select: Text

You are selecting messages based on the contents of the message. This allows you to select a set of messages based on whether or not the message headers or message body contain specified text. You may look for text in the Subject, the From header, the To header, or the Cc header. You may also choose Recipient, which searches for the text in either the To or the Cc header; or Participant, which means either the To header, or the Cc header, or the From header. Besides those specific header searches, you may also search the entire header and text of the message with "All Text", or just the body of the message with "Body".

To search for the absence of text, first type the "! Not" command before typing the specific type of text search. For example, you could type "!" followed by "S" to search for all messages that do not contain a particular word in their Subjects.

If you choose a Subject search, you may use the subject from the current message by typing the "^X Cur Subject" command. You may then edit it further if you wish. For example, you might select the subject of a reply and edit the "Re: " off of the front of it in order to search for the original message being replied to. All of the other header searches allow you to use addresses from the headers of the current message if you want to. You may use the "^T Cur To", "^R Cur From", or "^W Cur Cc". In each case, if there is more than one address, only the first is offered.

<End of help on this topic> ======= h_select_status ======= Select: Status

Select: Status

You are selecting messages based on the status of the message. For example, whether or not the message has been marked Deleted or Important, or whether or not it has been Answered or is New. If you first type the "! Not" command, you will get the opposite: not Deleted, not Important, and so on.

If you select Deleted messages, you will get all messages with their Deleted flag set. Likewise for Important messages, all messages that you have flagged as being Important with the Flag command. The "New" and "Answered" choices are a little bit odd because they try to match what you see on the screen by default. "New" is a shorthand for messages that are Unseen, Undeleted, and Unanswered. If you have looked at the message, or deleted it, or answered it; then it is not considered "New ". "! New" is the opposite of "New".

"Answered" is another one that is a little different. It means that the message has been Answered and is not deleted. And to make it even more confusing, "! Answered" is not the opposite of "Answered"! Instead, "! Answered" stands for messages that are both Unanswered and not deleted.

(The New and Answered options may seem counter-intuitive. The reason it is done this way is because, by default, a Deleted message will show up with the "D" symbol in the MAIL INDEX screen even if it is New or Answered. The Delete symbol overrides the New and Answered symbols, because you usually don't care about the message anymore once you've deleted it. Similarly, you usually only care about whether a message is Answered or not if it is not Deleted. Once it is Deleted you've put it out of your mind.)

The other two options were added later because the special nature of the New flag was not what was wanted by all users. New does match what you see in the index by default, but if you use the IMAPSTATUS or SHORTIMAPSTATUS token in the "" it may not be exactly what you expect. "Unseen" simply selects all unseen messages, whether or not they are deleted or answered, and "Recent" selects all of the messages that have been added to the folder since you started this Alpine session. (That's not technically quite true. If there are multiple mail clients reading an IMAP mailbox, each message will be marked as Recent in only one of the client's sessions. That behavior can be convenienent for some purposes, like filtering, but it isn't usually what you expect when selecting.)

<End of help on this topic> ======= h_index_cmd_apply ======= Apply Command

Apply Command

Apply (F6A) is the second step of most aggregate operations. Apply becomes active any time there is a defined set of selected messages. The following commands can be applied to a selected message set: delete, undelete, reply, forward, pipe, print, take address, save, export, bounce, and flag.

The behavior of some of these commands in an aggregate sense is not easy to explain. Try them out to see what they do. The feature "" affects the behavior of the Apply command, as does the feature "".

<End of help on this topic> ======= h_index_cmd_zoom ======= ZoomMode Command

ZoomMode Command

Another action you might want to take on a set of selected messages is to zoom in on them. Like apply, zoom only becomes active when messages have been selected. ZoomMode (F3Z) is a toggle command that allows you to zoom-in (and only see the selected messages) and zoom-out (to see all messages in the folder). Neither apply nor zoom removes the markings that define the selected set; you need to use a select command in order to do that.

<End of help on this topic> ======= h_index_collapse_expand ======= Collapse/Expand Command

Collapse/Expand Command

The Collapse/Expand command is only available from the MESSAGE INDEX screen when the folder is sorted by either Threads or OrderedSubject, and the is set to something other than "none". By default, this command collapses or expands the subthread that starts at the currently highlighted message, if any. If the subthread is already collapsed, then this command expands it. If the subthread is expanded, then this command collapses it. If there are no more messages below the current message in the thread tree (that is, there are no replies to the current message) then this command does nothing.

The behavior of this command is affected by the option "". Normally, this command Collapses or Expands the subthread that starts at the currently highlighted message. If the above option is set, then this command Collapses or Expands the entire current thread instead of just the subthread. The current thread is simply the top-level thread that contains the current message.

<End of help on this topic> ======= h_index_cmd_sort ======= Sort Command

Sort Command

In Alpine's generic configuration, messages are presented in the order in which they arrive. This default can be changed in the SETUP CONFIGURATION with the "" option. You can also re-sort the folder on demand with the sort (F7$) command. Your sorting options are:

  • Arrival
  • Date
  • Subject
  • OrderedSubject
  • tHread
  • From
  • siZe
  • scorE,
  • To
  • Cc

The Reverse option will toggle the order the index is currently sorted by, but will not change the relative sort order.

Sorting a folder does not actually rearrange the way the folder is saved, it just re-arranges how the messages are presented to you. This means that Alpine has to do the work of sorting every time you change sort order. Sometimes, especially with PC-Alpine or with large folders, this could take a while.

<End of help on this topic> ======= h_index_sort_default ======= SORT OPTION: Default

SORT OPTION: Default

The Default sort option just means to use the default sort order set in the
  • option in Setup/Config.

    <End of help on this topic> ======= h_index_sort_arrival ======= SORT OPTION: Arrival

    SORT OPTION: Arrival

    The Arrival sort option arranges messages in the MESSAGE INDEX in the order that they exist in the folder. This is usually the same as the order in which they arrived. This option is comparable to not sorting the messages at all.

    <End of help on this topic> ======= h_index_sort_date ======= SORT OPTION: Date

    SORT OPTION: Date

    The Date sort option arranges messages in the MESSAGE INDEX according to the date and time they were sent.

    On a folder like INBOX, sorting by "Date" should be almost identical to sorting by "Arrival".

    <End of help on this topic> ======= h_index_sort_subj ======= SORT OPTION: Subject

    SORT OPTION: Subject

    The Subject sort option arranges messages in the MESSAGE INDEX by subject.

    Messages with the same subject are first grouped together, and then the groups of like-subject messages are arranged alphabetically.

    Alpine ignores leading "Re:" and "re:" and trailing "(fwd)" when determining the likeness and alphabetical order of subject lines.

    <End of help on this topic> ======= h_index_sort_ordsubj ======= SORT OPTION: OrderedSubject

    SORT OPTION: OrderedSubject

    The OrderedSubject sort option arranges messages in the MESSAGE INDEX by grouping all messages with the same subject together, similar to sort by Subject.

    However, OrderedSubj then arranges the groups of like-subject messages by the date of the oldest message in the group.

    This sort method provides for pseudo threading of conversations within a folder. You may want to try sorting by Thread instead.

    <End of help on this topic> ======= h_index_sort_thread ======= SORT OPTION: Thread

    SORT OPTION: Thread

    The Thread sort option arranges messages in the MESSAGE INDEX by grouping all messages that indicate they are part of a conversation (discussion thread) taking place within a mailbox or newsgroup. This indication is based on information in the message's header -- specifically its References:, Message-ID:, and Subject: fields.

    <End of help on this topic> ======= h_index_sort_from ======= SORT OPTION: From

    SORT OPTION: From

    The From sort option arranges messages in the MESSAGE INDEX by the name of the author of the message.

    Messages with the same author are grouped together. Groups of messages are then put into alphabetical order according to message author.

    <End of help on this topic> ======= h_index_sort_size ======= SORT OPTION: Size

    SORT OPTION: Size

    The Size sort option arranges messages in the MESSAGE INDEX by their relative sizes.

    <End of help on this topic> ======= h_index_sort_score ======= SORT OPTION: Score

    SORT OPTION: Score

    The Score sort option arranges messages in the MESSAGE INDEX by their scores.

    Messages with the same score are sorted in arrival order. Scores are something you create using the "SETUP SCORING" screen.

    <End of help on this topic> ======= h_index_sort_to ======= SORT OPTION: To

    SORT OPTION: To

    The To sort option arranges messages in the MESSAGE INDEX by the names of the recipients of the message.

    Messages with the same recipients are grouped together. Groups of messages are then put into alphabetical order according to message recipients.

    <End of help on this topic> ======= h_index_sort_cc ======= SORT OPTION: Cc

    SORT OPTION: Cc

    The Cc sort option arranges messages in the MESSAGE INDEX by the names of the carbon copy addresses of the message.

    <End of help on this topic> ======= h_index_cmd_whereis ======= WhereIs Command

    WhereIs Command

    The WhereIs (F8W) command lets you search the MESSAGE INDEX for a word. It scans through whatever you see, usually the name of the author and the Subject line. WhereIs has special subcommands to let you find the beginning of the index (Ctrl-Y -- first message) or the end of the index (Ctrl-V -- last message).

    Note that WhereIs only searches through the visible text on the screen. For example, if only part of the Subject of a message is shown because it is long, then only the visible portion of the Subject is searched. Also note that WhereIs does not "see" the "X" in column one of Index entries for selected messages so it can't be used to search for selected messages (use "Zoom" instead).

    If the feature "" is turned on, WhereIs can also be used as a quick way to select messages that match the string being searched for. Instead of typing carriage return to search for the next match, type Ctrl-X to select all matches. Once again, this only selects matches that are (or would be if the right index line was on the screen) visible. Truncated From lines or Subjects will cause matches to be missed. Although WhereIs is sometimes convenient for quick matching, the Select command is usually more powerful and usually faster.

    <End of help on this topic> ======= h_view_cmd_whereis ======= WhereIs Command

    WhereIs Command

    The WhereIs (F8W) command does a "find in current message" operation. You type in text and Alpine will try to find it in the message you are reading. WhereIs also has subcommands to jump to the beginning (Ctrl-Y) or end (Ctrl-V) of the message. That is, to rapidly move to the end of a message, hit the F8W (or Ctrl-W) key followed by Ctrl-V. Similarly, F8W followed by Ctrl-Y will take you to the beginning of a message.

    <End of help on this topic> ======= h_view_cmd_hilite ======= View Hilite and Next item/Previous item

    View Hilite and Next item/Previous item

    Sometimes messages may be in the form of formatted HTML text or they may contain URLs or Web server hostnames. When any of the features "", "", "", or "" are enabled, Alpine will represent such selectable items in the text in bold typeface. One of the selectable items will be displayed in inverse video (highlighted). This is the "currently selected" item. Press the Return key to view the currently selected item.

    The Up and Down Arrows keys can be used to change the selected item (also see the feature ""). If there are no selectable items in the direction of the arrow you pressed, Alpine will scroll the display in that direction until one becomes visible. To "jump" forwards/backwards among selectable items in the message text, use the Previous and Next item commands, F5 and F6 ^B and ^F.

    <End of help on this topic> ======= h_view_cmd_viewattch ======= ViewAttch Command

    ViewAttch Command

    The View/Save Attachment (F4V) command allows you to handle MIME attachments to a message you have received. Alpine shows you a list of the message attachments -- you just choose the attachment you want. You may either view or save the selected attachment.

    Because many attachments require external programs for display, there is some system configuration that has to happen before you can actually display attachments. Hopefully much of that will have been done already by your system administrator. MIME configuration is handled with the "mailcap" configuration file. (See the section on configuration in the release notes for more information.)

    <End of help on this topic> ======= h_index_cmd_expunge ======= Expunge/Exclude Command

    Expunge/Exclude Command

    Expunge/Exclude (F3X) is the command Alpine uses to actually remove all messages marked for deletion. With regular email files, expunge literally deletes the text from the current folder. With newsgroups or shared mailboxes, you don't have permission to actually remove the message, so it is an exclude -- Alpine removes the message from your view of the folder even though it is not technically gone.

    A selective expunge command is available in IMAP folders that support the UID EXPUNGE extension in RFC 4315 as well as for all other folders (local folders in all formats, POP3 inbox, and newsgroups) as a subcommand of the apply command. If some selected messages are marked deleted, then the apply command will offer the eXpunge command, which when executed will only expunge those messages that are selected and deleted.

    Observe that the expunge command (when not used from the apply command) will expunge/exclude all deleted messages from the folder, and so all messages marked deleted will be expunged, regardless of if they are selected or not. In other words, there is no protection against potentially expunging more messages than only those that have been selected and deleted.

    The configuration features "" and "" affect the behavior of the Expunge command.

    <End of help on this topic> ======= h_common_compose ======= Compose Command

    Compose Command

    The Compose command takes you into the Alpine message composer where you can start a new message for sending. This is where you type in the message's text and specify its recipient list (the "To:" address), where copies should be directed (e.g., "Fcc", "Cc:" or "Bcc:"), and which files, if any, should be attached to the message.

    When you type this command, Alpine will also automatically check for any interrupted (i.e., a message that was being composed when your modem or network connection was broken) or previously postponed messages and offer you a chance to continue working on those.

    <End of help on this topic> ======= h_common_index ======= Message Index Command

    Message Index Command

    The Index command takes you to the MESSAGE INDEX screen that displays a summary caption for each message in the currently-open folder. One message will be highlighted; this is the "Current" message. The message commands available from this screen (e.g. View, Reply, Forward, Delete, Print, Save, etc) apply to the current message.

    <End of help on this topic> ======= h_common_folders ======= Folder List Command

    Folder List Command

    This Folder List command takes you to the FOLDER LIST screen that displays the names of all your message folders and allows you to view, rename, delete, and add folders. You can open (view) a different folder than the one currently open by highlighting the desired one (using the arrow keys or their control-key equivalents) and pressing RETURN.

    If you have multiple folder collections defined (see the Help text for the FOLDER LIST screen to learn more about Collections), you may need to press Return to expand the collection and display all of the folders in it.

    <End of help on this topic> ======= h_main_addrbook ======= Address Book Command

    Address Book Command

    This command, available only from the MAIN MENU, takes you to the ADDRESS BOOK management screen. From here, your personal address book(s) may be updated.

    <End of help on this topic> ======= h_main_setup ======= Setup Command

    Setup Command

    The Setup command, available only from the MAIN MENU, prompts you for one of several configuration screens, including the SETUP CONFIGURATION screen, by which you may activate optional Alpine features.

    <End of help on this topic> ======= h_main_release_notes ======= Release Notes Command

    Release Notes Command

    This command displays information about Alpine , as well as pointers to further information such as history and legal notes.

    <End of help on this topic> ======= h_main_kblock ======= Keyboard Lock Command

    Keyboard Lock Command

    This command allows your Alpine session to be protected during a temporary absence from your terminal.

    <End of help on this topic> ======= h_main_journal ======= Journal Command

    Journal Command

    This command displays a list of all the status messages Alpine has displayed (on the third line from the bottom of the screen). This may be useful if a message disappeared before you had a chance to read it.

    <End of help on this topic> ======= h_common_role ======= Role Command

    Role Command

    The Role command is similar to the Compose command except that it starts off by letting you select a role to be used for the composition. You may set up alternate roles by using Setup/Rules/Roles.

    <End of help on this topic> ======= h_common_conditional_cmds ======= Conditional Commands

    Conditional Commands

    The presence or absence of certain commands, particularly in the MESSAGE INDEX and MESSAGE TEXT screens, is determined by whether or not specific features are set in your Alpine configuration. (You can access the SETUP CONFIGURATION screen, where they are found, from Alpine's MAIN MENU.) To see if a desired command's availability is conditioned on a feature setting, see the command's help text (highlight the phrase associated with the command and hit Return).

    Also note that some commands may be administratively disabled by your system manager; if they don't work, please check with your local help desk.

    <End of help on this topic> ======= h_common_pipe ======= Pipe Command

    Pipe Command

    Pipe (F12|) allows you to send a message to a specified Unix command for external processing. This command's availability is controlled by the "" feature. By default, the processed text of the message is sent to the command you specify and the output is captured by Alpine and shown to you. When you run the pipe command, there are some sub-commands which may be used to alter this behavior. These sub-commands are described here.

    <End of help on this topic> ======= h_common_goto ======= Goto Command

    Goto Command

    Goto (F6G) is the command that lets you bypass Alpine's folder selection screens and jump directly to a new folder. You can select any folder in the world: one in your current collection, one in a different collection or one in a collection you've never even used before.

    Alpine will help you as much as possible to narrow in on the folder you want. However, if the folder is outside of your defined collections, you are going to have to enter the exact folder location using the correct syntax for a remote folder and/or fully-qualified path name.

    <End of help on this topic> ======= h_common_nextnew ======= NextNew Command

    NextNew Command

    When you press the TAB key, Alpine advances to the next "interesting" message. This will be the next message you have not seen before, or the next message you have flagged Important, whichever comes first. Unread messages that have been deleted are not considered interesting. (A note about reading news. Alpine expects you to "Delete" news articles after you have read them if you want to remove them from future consideration. See Reading News for more information.)

    The NextNew command is affected by the feature "", which causes Alpine to only consider Unread messages interesting, not messages flagged Important.

    This command behaves a little differently when it finds there are no more interesting messages left in the current folder. If the current folder is one of your Incoming Message Folders ("") or it is a newsgroup, then Alpine will try to find the next folder or newsgroup that contains Recent messages and will ask you if you want to open that folder. This behavior may be modified by using the "" feature that causes Alpine to look for Unseen messages instead of Recent messages. The NextNew command's behavior is also affected by the configuration features "", and "".

    <End of help on this topic> ======= h_common_jump ======= Jump Command

    Jump Command

    This is Alpine's way of allowing you to go straight to a specific message. Just press "J" and then enter the message number. By default, Alpine is also configured such that typing in any number automatically jumps you to that message ("" in the SETUP CONFIGURATION).

    <End of help on this topic> ======= h_common_flag ======= Flag Command

    Flag Command

    Flag (F11*) is the command that allows users to manipulate the status flags that appear on the left side of the MESSAGE INDEX screen. The most common use of this is to mark a message as important. This is something of a note to yourself to get back to that message. You may also use the flag command to set (or unset) the flags that indicate that a message is new, answered, deleted, or forwarded.

    Provided the mail server supports it, you may also manipulate user-defined keywords for a message using the flag command. These keywords will be available if you use the Flag Details screen that you can get to after typing the Flag (F11*) command. They will be listed after the Important, New, Answered, Deleted , and Forwarded flags, which are always present. You may add new keywords by using the Add KW command from the Flag Details screen or by defining them in the option in the Setup/Config screen. The availability of the flag command is determined by the "" feature in your Alpine configuration. Also, it is possible that Flag could be administratively disabled by your system manager; if it doesn't work, please check with your local help desk before reporting a bug. The behavior of the flag command may be modified by the "" option or the "" option.

    <End of help on this topic> ======= h_common_hdrmode ======= HdrMode Command

    HdrMode Command

    Every email message comes with some header lines that you normally don't see (and don't want to see). These include anywhere from 3-20 lines (or more) added by the Internet mail transport system to record the route your message took, for diagnostic purposes. These are normally of no import and simply add clutter, so Alpine suppresses them in the MESSAGE TEXT display. This also includes other non-standard headers the message may contain. If you want to see these headers, there is a way to reveal them.

    The Header Mode (F9H) command is a toggle that controls Alpine's handling of these header lines. Normally, full headers is "off" and you only see a few lines about who a message is to and who it is from. When you press (F9H) to turn full headers on, Alpine will show you the normal header lines as well as delivery headers, comment headers, MIME headers, and any other headers present.

    Several different Alpine commands honor the header mode -- it affects how messages are displayed, how they appear in forward and reply email, how they are printed, how they are saved, and how they are exported. The pipe command is also affected.

    The presence or absence of the Header Mode command is determined by the "" Feature-List option in your Alpine configuration.

    If you have also turned on the "Quote Suppression" option then the HdrMode 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.

    The behavior of the Header Mode command may be altered slightly by turning on the "" Feature-List option in your Alpine configuration. In particular, it will cause the Header Mode to be persistent when moving from message to message instead of resetting to the default for each message.

    <End of help on this topic> ======= h_common_print ======= Print Command

    Print Command

    The Print (F9%) command allows you to print a copy of a message. There are many SETUP CONFIGURATION features that affect the Print command, including "", "", "", "", and "". You set up for printing by using the Printer option of the Setup command on the MAIN MENU.

    <End of help on this topic> ======= h_common_take ======= TakeAddr Command

    TakeAddr Command

    With the Take Address (F10T) command, you can extract email addresses from an incoming message and save them in an address book. This is an easy way to add to your address book and avoid having to remember the email addresses of the people who write to you.

    If the message is just to you individually, then you will only need to provide a nickname. If the message contains more than one email address, then you will see an address selection screen that lets you choose the address you want to save into your address book, or lets you choose several of them add to a personal distribution list.

    Once you've added an entry to your address book, you can use it from the message composer by typing the nickname of the entry into one of the header fields (for example, into the To: field), or you can use ^T from the header field to select the entry from your address book.

    If the configuration feature "" is set, the behavior of the Take command is altered slightly.

    <End of help on this topic> ======= h_ge_import ======= Import File Selection

    Import File Selection

    You are importing a file that you previously exported from Alpine. You are now being asked for the name of that file. The easiest way to select a file is probably with the "^T" "To Files" command. Alternatively, you may type in a file name. It may be an absolute pathname. Otherwise, it is a file located in your home directory or current working directory (which, at least for your current Alpine "session," is "") , depending on the "" option. In any case, you finish by typing a carriage return to accept the file name that is displayed. When the feature "" is turned on you may use TAB to complete partially typed in names.

    You may cancel the import operation by typing "^C" after exiting this help.

    <End of help on this topic> ======= h_ge_allparts ======= Export Message File Selection

    Export Message File Selection

    You are Exporting a message from an Alpine mail folder to a plain text file. You also have the option of exporting all of the attachments associated with the message. You are now being asked for the name of the file to export to. The easiest way to select a file is probably with the "^T" "To Files" subcommand. After returning from that subcommand you will still be allowed to edit the name you have selected. Alternatively, you may type in a file name. It may be an absolute pathname. Otherwise, it is a file located in your home directory or current working directory (which, at least for your current Alpine "session," is "") , depending on the "" option. In any case, you finish by typing a carriage return to accept the file name that is displayed. When the feature "" is turned on you may use TAB to complete partially typed in names.

    The message you are exporting appears to have some attachments. If you wish to save all of the attachments at once, type the "^P" "AllParts" command to turn on saving of the attachments. You may turn it back off by typing "^P" again, which will now be labeled "NoAllParts" instead. If you want to save the parts the command displayed should be "NoAllParts"! When you choose to save attachments like this, the attachments will be saved in a newly created directory. That directory will have the same name as the file name you choose here, with the letters ".d" appended. If that directory already exists, then the letters ".d_1" will be tried, then ".d_2" and so on until a name that doesn't exist is found. For example, if you select the file name

    filename

    to export the message to, then the directory used for the attachments will be

    filename.d

    or perhaps

    filename.d_<n>

    The attachments will then be put into files inside that directory. The names for the attachment files will be derived from the attachments if possible. This is done in the same way as the default values are derived if you save them one at a time. (The "filename" parameter from the Content-Disposition header is the first choice. If that doesn't exist, the "name" parameter from the Content-Type header is used.) If a name for a particular attachment is not available, then the part number of the attachment is used, with the characters "part_" prepended. An example of that would be

    part_2.1

    If you want to save only some of the attachments or if you want more control over the directory and filename where an attachment is saved you may cancel out of this command and View the attachment list. From there you can save each attachment individually.

    You may cancel the Export operation by typing "^C" after exiting this help.

    <End of help on this topic> ======= h_ge_export ======= Export File Selection

    Export File Selection

    You are Exporting or Saving something from within the Alpine world (a message, an attachment, etc.) to a plain text file. You are now being asked for the name of the file to export to. The easiest way to select a file is probably with the "^T" "To Files" subcommand. After returning from that subcommand you will still be allowed to edit the name you have selected. Alternatively, you may type in a file name. It may be an absolute pathname. Otherwise, it is a file located in your home directory or current working directory (which, at least for your current Alpine "session," is "") , depending on the "" option. In any case, you finish by typing a carriage return to accept the file name that is displayed. When the feature "" is turned on you may use TAB to complete partially typed in names.

    If the object you are exporting is a message with some attachments, you may wish to save all of the attachments by typing the "^P" "AllParts" command to turn on saving of the attachments. This subcommand will only be visible if the message actually has attachments. You may also View the attachment list and save individual attachments from there.

    If you are SAVING a text part (text/plain, text/html, etc.) you can use the Control-R subcommand to toggle if saving will be done in binary mode, meaning that the attachment will be decoded, but will not be transformed to UTF-8 for further processing (either in internal filters, or user supplied filters.) This is useful in case you either want to preserve the text as it was encoded originally to you, or the attachment was incorrectly attached (the attachment is not of text type) and you need the original text to process the attachment.

    You may cancel the Export operation by typing "^C" after exiting this help.

    <End of help on this topic> ======= h_common_save ======= Save and Export Commands

    Save and Export Commands

    Save (F11S) and Export (F12E) are the two alternatives Alpine gives you to keep a copy of the message you are reading. If you want to keep the message within Alpine's email world, use "Save"; if you want to use the message in another program, use "Export".

    When you Save a message, it is put into an existing folder or into a new folder in one of your existing folder collections. The message stays in email format and can be read by Alpine again. Alpine may use a special format for its mail folders -- never edit an Alpine folder by hand or with any program other than Alpine. The exact behavior of the Save command can be configured with the "", "", and "" feature list settings. The name of the folder offered as a default is controlled by the option "".

    When you use Export, the message is placed in a plain text file in your home directory (which, in the present configuration of your system, is "") or current working directory (which, at least for your current Alpine "session," is "") , depending on the "" configuration setting. In the normal case, only minimal headers are exported with the message; however, if the full header mode (whose availability may be disabled by setting the feature "" in SETUP CONFIGURATION) is toggled on, then complete headers are exported along with the message text. (If you have any defined, they may affect the contents of the exported file.)

    <End of help on this topic> ======= h_common_bounce ======= Bounce Command

    Bounce Command

    The Bounce (F10B) command allows you to re-send, or "remail", a message, as if you were never in the loop. It is analogous to crossing out your address on a postal letter, writing a different address on the envelope, and putting it into the mailbox. Bounce is used primarily to redirect email that was sent to you in error. Also, some owners of email lists need the bounce command to handle list traffic. Bounce is not anonymous. A ReSent-From header is added to the message so that the recipient may tell that you Bounced it to them.

    The presence or absence of the Bounce command is determined by the "" feature in your Alpine configuration. The feature "" affects the behavior of the Bounce command. Also, it is possible that Bounce could be administratively disabled by your system manager; if it doesn't work, please check with your local help desk before reporting a bug.

    <End of help on this topic> ======= h_common_reply ======= Reply and Forward Commands

    Reply and Forward Commands

    Replying (F11R) and Forwarding (F12F) are your two alternatives for following up on the message you are reading. You would use reply if you want to get email back to the author of the message and/or the other people who have already seen it. You use forward if you want somebody new to see the message.

    In the normal case, the only thing that you must supply when forwarding a message is the name/email address of the new recipient. Alpine will include the text of the forwarded message. Alpine will also include any attachments to the message. There is space above the forwarded text for you to include additional comments.

    When replying, you usually have to answer some questions. If the message is to multiple people and/or specified with a Reply-To: header, then you will have to decide who should get the reply. You also need to decide whether or not to include the previous message in your reply. Some of this is configurable. Specifically, see the "", "", "", and "" configuration features.

    Both the Reply and Forward commands react to the full header mode toggle. If the full header mode is on, then all the header and delivery lines are included with the text of the message in your reply/forward.

    Other configuration features that affect the Reply command are "", "", and "".

    <End of help on this topic> ======= h_common_delete ======= Delete and Undelete Commands

    Delete and Undelete Commands

    Delete (F9D) and Undelete (F10U) allow you to change the Deleted flag for the current message. Delete marks a message Deleted (turns on the Deleted flag) and Undelete removes the mark. In the MESSAGE INDEX, deleted messages have a "D" in the status field at the left hand edge of the index line. When viewing a deleted message, the letters "DEL" will be present in the upper right hand corner of the screen. Delete simply marks a message Deleted, it does not actually get rid of the message. The eXpunge command (available from the MESSAGE INDEX screen) actually removes all of the deleted messages in a folder. Once a message is eXpunged, it can't be retrieved.

    The Delete command is affected by the setting of the configuration feature "".

    <End of help on this topic> ======= h_common_postpone ======= Postpone Command

    Postpone Command

    The postpone (F11)(^O) command allows you to temporarily stop working on the current message so you may read other messages or compose another message. When you want to resume a message later, start to compose and answer "yes" to the "Continue postponed composition?" question. You may postpone as many messages as you like.

    Note: If a is defined in the Setup/Config screen, then the Postpone command will prompt you for the folder in which to store your outgoing message.

    <End of help on this topic> ======= h_compose_cancel ======= Cancel Command

    Cancel Command

    Cancel (F2) (^C) The Cancel command returns you to Alpine's normal mail processing and causes the message currently under composition to be thrown out. The message text will be lost.

    Note: Unless the has been set, the text of the most recent composition cancelled will be preserved in the file named "DEADLETR". "dead.letter" in your home directory. If you unintentionally cancel a message, look there for its text.

    <End of help on this topic> ======= h_compose_addrcomplete ======= Address Completion

    Address Completion

    When entering addresses in the address fields of the composer (To, Cc, etc.) the TAB key may be used to help complete the address. Type a partial nickname and tap the TAB key to complete the typing. The unambiguous part of the name will be filled in automatically. Typing TAB twice in succession will bring up a selection list of possibilities, making it easy to find and choose the correct address.

    The matching algorithm is rather ad hoc. The search starts with a search of your address book. It counts as a match if the nickname, address, or fullname field of an entry begins with the text typed in so far. It is also a match if a later word in the fullname (for example, the middle name or last name) begins with the entered text.

    Next comes an LDAP search. The search will happen for any servers that have the "Use-Implicitly-From-Composer" feature set. You can set or unset the feature for each server independently in the Setup/Directory screen.

    Finally, if you are replying to or forwarding a message, that message is searched for likely candidate addresses that match the typed-in text.

    <End of help on this topic> ======= h_compose_richhdr ======= Rich Header Command

    Rich Header Command

    The Rich Header command allows you to toggle between the list of all message headers available for editing and those that are most common.

    Use this toggle to expose headers that are not normally visible by default. This set usually includes the "Bcc:", "Fcc:", "Lcc:", and "Newsgroups" headers. If you are posting to a newsgroup the set of defaults is a little different. Obviously, in that case, the Newsgroups header is of interest so is not hidden. For news posting the hidden set includes the "To:", "Cc:", "Bcc:", "Fcc:", and "Lcc:" headers. You won't normally want to edit these, which is why they are hidden, but it is sometimes useful to be able to set them manually.

    The default sets of headers listed above can be altered. Any header that you have added to the option, but not to the option will appear when you use the Rich Headers command to make the Rich Headers visible. (Headers listed in the list will be visible even without toggling the Rich Headers command.)

    <End of help on this topic> ======= h_compose_send ======= Send Command

    Send Command

    The Send command (F3) (^X) tells Alpine you are finished composing. Before actually sending it, though, Alpine will ask you to confirm your intention, and, at the same time, redisplayed the message text with the recipients at the top of the screen to give you the opportunity to review and verify that the message is addressed to the people you intended.

    If the feature "" is set, then this confirmation prompt and any options it allows are skipped.

    This confirmation prompt may also offer, depending on your particular Setup/Config, options allowing you to set delivery status notifications, include attachments in the "Fcc" (if you had previously specified that they exclude attachments, observe details of the message submission process, choose the filter through which the outgoing text should first pass, or turn of flowed text generation.

    <End of help on this topic> ======= h_compose_markcutpaste ======= Mark, Cut and Paste Commands

    Mark, Cut and Paste Commands

    You can define a "block" of text, which can subsequently be deleted or copied as a unit, by setting a mark at the start of the block (Ctrl-^) and then moving the cursor to the end of the desired text block. You can then "cut" the block out "F9", "Ctrl-K", move the cursor, and "paste" it "F10", "Ctrl-U", in the new location. Also, you can paste more than once, allowing you to use this feature to copy a block of text.

    If you press "F9" "^K" without having marked anything, Alpine will delete a single line. If you delete a group of lines together, Alpine keeps them in the same buffer, so F10 ^U will restore them as a block. About terminology: Mark is shown as "^^". The first "^" means you should hold down the "Control" key on your keyboard. The second "^" means "type the character ^".

    <End of help on this topic> ======= h_compose_justify ======= Justify Command

    Justify Command

    The Justify (F4) (^J) command reformats the text in the paragraph the cursor is in. Paragraphs are separated by one blank line or a line beginning with a space. This is useful when you have been editing a paragraph and the lines become uneven. The text is left aligned or justified and the right is ragged. If the text is already justified as typed with auto-wrap, no justification will be done.

    If you have set a mark to select a block of text, the Justify command is modified. Instead of automatically justifying the current paragraph you will be asked if you want to justify the paragraph, justify the selected region, or adjust the quote level of the selected region. Adjusting the quote level only works if you are using standard "> " or ">" quotes, which is the default if you haven't changed "".

    When composing a reply containing included text, the justify command will reformat text to the right of the "", adding or removing indented lines as needed. Paragraphs are separated by a blank line, a line containing only the , or a line containing the indent string and one or more blank spaces. Included text that was previously indented (or "quoted") is not preserved.

    Because of the introduction of Flowed Text in 1999 and its wide-spread adoption since then, you will usually be better off if you use the standard "> " or ">" quotes.

    <End of help on this topic> ======= h_compose_spell ======= Spell Check Command

    Spell Check Command

    The "To Spell" (F12) (^T) command calls an external spell checking program to look over the message you are composing. By default, Alpine uses

    aspell --dont-backup --mode=email check

    if it knows where to find "aspell". If there is no "aspell" command available but the command "ispell" is available then the command used is

    ispell -l

    Otherwise, the ancient "spell" command is used.

    For PC-Alpine, you must install the aspell library code that you may get from http://aspell.net/win32/.

    <End of help on this topic> ======= h_compose_alted ======= Alt Editor Command

    Alt Editor Command

    The "Alt Editor" command's availability depends on the Setup/Config variable "".

    When the variable specifies a valid editor on your system, this command will launch it with the current text of your message already filled in.

    <End of help on this topic> ======= h_compose_readfile ======= Read File Command

    Read File Command

    The "Read File" (F5) (^R) command allows you to copy in text from an existing file. You will be prompted for the name of a file to be inserted into the message. The file name is relative to your home directory (which, in the present configuration of your system, is "") or current working directory (which, at least for your current Alpine "session," is "") , depending on the "" configuration setting; or, the file name must be specified as a full path name -- for example: "A:\PAPER.TXT" -- for example: "/tmp/wisdom-of-the-day" (without the quotation marks).

    The file will be inserted where the cursor is located. The file to be read must be on the same system as Alpine. If you use Alpine on a Unix machine but have files on a PC or Mac, the files must be transferred to the system Alpine is running on before they can be read. Please ask your local computer support people about the correct way to transfer a file to your Alpine system.

    <End of help on this topic> ======= h_config_tray_icon ======= FEATURE: <!--#echo var="FEAT_enable-tray-icon"-->

    FEATURE:

    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.

    <End of help on this topic> ======= h_common_suspend ======= Suspend Command

    Suspend Command

    With the feature enabled, you can, at almost any time, temporarily halt your Alpine session, minimizing it into an icon. and return to your system prompt.

    <End of help on this topic> ======= h_pipe_command ======= Pipe Command SubOptions

    Pipe Command SubOptions

    By default, when you use the Pipe command, the processed text of the message is sent to the Unix command you specify and the output is captured by Alpine and shown to you. (This command is available in PC-Alpine, as well, but there aren't many Windows commands that work well with piping.) There are some sub-commands that may be used to alter this behavior. These are toggles that switch the behavior between two possibilities. They can be combined in any way you wish.

    By default, the prompt at the bottom of the screen looks like

    Pipe message 37 to :

    or

    Pipe messages to :

    if you are piping more than one message.

    The sub-command options are:

    Shown Text or Raw Text
    This option toggles between sending the shown (processed) text of the message to the Unix command, and sending the raw (unprocessed) text of the message to the Unix command. The default is to send the shown text. The raw version of the message will contain all of the headers and any MIME encoding that the message contains. If you've selected the Raw Text then the prompt will have the additional word "RAW" in it, like

    Pipe RAW messages to :

    You can experiment with this option by piping to something simple like the Unix "cat" command.

    Captured Output or Free Output
    This option toggles between having Alpine capture the output of the Unix pipe command for display, and not capturing it. If the command you are piping to is a filter that will produce output you want to view, then you want to capture that output for display (the default). If the Unix command doesn't produce output or handles the display itself, then you want free output. When you've selected the Free Output option the prompt will change to

    Pipe messages to (uncaptured) :

    No Delimiter or With Delimiter
    This option controls whether or not a Unix mailbox style delimiter will come before the text of the message. This is the delimiter used in the common Unix mailbox format. It's the single line that begins with the five characters "From" followed by a <SPACE> character. You'll usually only want to include this if the Unix command requires input in the format of a traditional Unix mailbox file. When you've selected the With Delimiter option the prompt will change to

    Pipe messages to (delimited) :

    To Same Pipe or To Individual Pipes
    This option only shows up if you are running an aggregate pipe command. That is, the command was Apply Pipe, not just Pipe. You have the option of piping all of the selected messages through a single pipe to a single instance of the Unix command, or piping each individual message through a separate pipe to separate instances of the Unix command. The default is that all of the output will go through a single pipe to a single instance of the command. You can try this option with a command like "less", with Free Output enabled. When you've selected the Individual Pipes option the prompt will change to

    Pipe messages to (new pipe) :

    As mentioned earlier, the options can be combined in any way you wish. You may leave them all off, turn them all on, or turn some of them on and some of them off. If you use the pipe command a second time in the same session the default options will be what you used the last time.

    <End of help on this topic> ========== h_emptydir_subfolder_name ========= ENTER SUBFOLDER NAME

    Enter Subfolder Name

    This is the name of a new subfolder in the directory you are creating. Because empty directories are hidden and therefore not useful, you must also create a subfolder in the directory you are creating in order that the directory remains visible.

    Alternatively, you may turn off the configuration feature so that empty directories remain visible. If you do that, you will not be required to create the subfolder when you create a directory.

    <End of help on this topic> ========== h_incoming_add_folder_name ========= ENTER FOLDER NAME

    Enter Folder Name

    This is the name of the folder on the previously specified server. 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.

    To define a folder outside the default area, prefix the path with the namespace to use when interpreting the given path. If a namespace is specified, the folder name begins with the sharp (#) character followed by the name of the namespace and then the namespace's path-element-delimiter. Aside from the name'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. For a more detailed explanation read about Namespaces.

    To specify the default for INBOX on the server you can usually just enter "INBOX", and the server will understand the special meaning of that word.

    <End of help on this topic> ========== h_incoming_add_folder_host ========= ENTER INCOMING FOLDER SERVER

    Enter Incoming Folder Server

    You are being asked for the name of the server for use with this incoming folder. If the folder is on the machine where Alpine is running, then just enter RETURN without typing a server name.

    If the folder is on an IMAP server then type the server's name followed by RETURN. You may use the ^X command if the server is the same as the server that the INBOX is on.

    You may have to add optional extra information to the server name. For example, if the IMAP server is using a non-standard port number you would specify that by appending a colon (:) followed by the port number to the server name

    foo.example.com:port

    or you may need to specify a different protocol if the server is not an IMAP server. For example:

    foo.example.com/pop3

    for a POP server or

    foo.example.com/nntp

    for an NNTP news server. For an explanation of all of the possibilities, see Server Name Syntax for folders.

    There is a special command (^W) if you want to set up a folder that gets its mail from a Mail Drop. If you type that command, you will be prompted for the information for both the Mail Drop folder and the destination folder.

    <End of help on this topic> ========== h_incoming_add_inbox ========= ENTER INBOX SERVER

    Enter INBOX Server

    You are being asked for the name of the server for use with the INBOX folder. Type the server's name followed by RETURN.

    You may have to add optional extra information to the server name. For example, if the server is using a non-standard port number you would specify that by appending a colon (:) followed by the port number to the server name

    foo.example.com:port

    or you may need to specify a different protocol if the server is not an IMAP server. For example:

    foo.example.com/pop3

    for a POP server.

    For an explanation of all of the possibilities, see Server Name Syntax for folders.

    If the INBOX folder is on the machine where Alpine is running, then just enter RETURN without typing a server name.

    There is a special command (^W) if you want to set up a folder that gets its mail from a Mail Drop. If you type that command, you will be prompted for the information for both the Mail Drop folder and the destination folder, which will be used as your INBOX folder.

    <End of help on this topic> ========== h_incoming_add_maildrop_destn ========= ENTER DESTINATION SERVER

    Enter Destination Server

    You are being asked for the name of the server where the destination folder is for use with this Mail Drop incoming folder. That is, you are using a Mail Drop for this incoming folder and you've already entered the server and folder name for the Mail Drop. Now you need to enter the server for the destination folder where the mail should be copied to. Mail will come from the Mail Drop and be copied to the destination folder.

    Type the server's name followed by RETURN. If the folder is local to this computer, just type RETURN without entering a server name.

    You may have to add optional extra information to the server name. For example, if the server is using a non-standard port number you would specify that by appending a colon (:) followed by the port number to the server name

    foo.example.com:port

    For an explanation of all of the possibilities, see Server Name Syntax for folders.

    <End of help on this topic> ========== h_inbox_add_maildrop_destn ========= ENTER DESTINATION SERVER

    Enter Destination Server

    You are being asked for the name of the server where the destination folder is for use with your Mail Drop INBOX. That is, you are using a Mail Drop for your INBOX and you've already entered the server and folder name for the Mail Drop. Now you need to enter the server for the destination folder where the mail should be copied to. Mail will come from the Mail Drop and be copied to the destination folder.

    Type the server's name followed by RETURN. If the folder is local to this computer, just type RETURN without entering a server name.

    You may have to add optional extra information to the server name. For example, if the server is using a non-standard port number you would specify that by appending a colon (:) followed by the port number to the server name

    foo.example.com:port

    For an explanation of all of the possibilities, see Server Name Syntax for folders.

    <End of help on this topic> ========== h_inbox_add_maildrop ========= ENTER MAILDROP SERVER

    Enter Mail Drop Server

    You are being asked for the name of the Mail Drop server for use with your INBOX.

    Type the server's name followed by RETURN.

    You may have to add optional extra information to the server name. For example, if the server is using a non-standard port number you would specify that by appending a colon (:) followed by the port number to the server name

    foo.example.com:port

    or you may need to specify a different protocol if the server is not an IMAP server. For example:

    foo.example.com/pop3

    for a POP server or

    foo.example.com/nntp

    for an NNTP news server. For an explanation of all of the possibilities, see Server Name Syntax for folders.

    <End of help on this topic> ========== h_incoming_add_maildrop ========= ENTER MAILDROP SERVER

    Enter Mail Drop Server

    You are being asked for the name of the Mail Drop server for use with this incoming folder.

    Type the server's name followed by RETURN. You may use the ^X command if the server is the same as the server that the INBOX is on.

    You may have to add optional extra information to the server name. For example, if the server is using a non-standard port number you would specify that by appending a colon (:) followed by the port number to the server name

    foo.example.com:port

    or you may need to specify a different protocol if the server is not an IMAP server. For example:

    foo.example.com/pop3

    for a POP server or

    foo.example.com/nntp

    for an NNTP news server. For an explanation of all of the possibilities, see Server Name Syntax for folders.

    If the Mail Drop folder is on the machine where Alpine is running, then just enter RETURN without typing a server name.

    <End of help on this topic> ========== h_maildrop ========= WHAT IS A MAIL DROP?

    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 that 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 option, but with a minimum time () 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 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 that 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 "" 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 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.

    <End of help on this topic> ========== h_save ========= CHOOSE A FOLDER TO SAVE INTO

    Choose a Folder to Save Into

    After Exiting from this help text, type the name of the folder you want to save into and press RETURN.

    Press ^T to get a list of your folders to choose from. Press ^C to cancel the Save.

    If you have Folder Collections defined you may use Ctrl-P (Previous collection) and Ctrl-N (Next collection) to switch the collection being saved to.

    If Tab Completion is enabled (it is enabled by default) you may type a Tab character to have Alpine complete the folder name for you.

    If Partial Match Lists is enabled (it is enabled by default) you may type Ctrl-X to get a list of matches to the prefix you've typed in so far.

    If the Ctrl-R subcommand is present that means you can decide to Delete or not Delete the message you are saving after you save it. The label on that key gives the action to switch to. If it says Delete and you type Ctrl-R the label displayed will change to No Delete and the source message will be deleted after the save. If it says No Delete and you type Ctrl-R the label displayed will change to Delete and the message will not be deleted. You can control the default for the Delete parameter with the configuration feature .

    Similarly, if the Ctrl-W subcommand is present that means you can decide to Preserve the order of the messages being saved or not. If it is labeled Preserve Order and you type Ctrl-W, the resulting Saved messages will be in the same order as you see them in the source folder now. The opposite action (which is usually the default) is that you don't care about the order. The Saved messages may or may not be in the same order in the destination folder. There may be a performance penalty for choosing to save the messages in order. You can control the default for the Preserve Order parameter with the configuration feature .

    If you haven't disabled the Save Input History and you've already done a Save earlier in this session then you may use the Up and Down arrows to retrieve a folder name used in a previous Save.

    <End of help on this topic> ============= h_simple_index ======================== SELECT POSTPONED MESSAGE

    POSTPONED MESSAGE SELECTION COMMANDS

    Navigating the List of Messages               General Alpine Commands
    -------------------------------               -----------------------
     F5   Move to previous message                 F1   Show this help text
     F6   Move to next message
     F7   Show previous screen of messages
     F8   Show next screen of messages
    
    Message Selection Commands
    --------------------------
     F3   Exit the Message Select menu (canceling Send command)
     F4   Select the currently highlighted message
     F9   Mark the currently highlighted message as deleted
     F10  Undelete (remove deletion mark from) the highlighted message
    
    Navigating the List of Messages               General Alpine Commands
    -------------------------------               -----------------------
      P  Move to previous message                  ?  Show this help text
      N  Move to next message
      -  Show previous screen of messages
     Spc (space bar) Show next screen of messages
    
    Message Selection Commands
    --------------------------
      E  Exit the Message Select menu (canceling Send command)
      S  Select the currently highlighted message
      D  Mark the currently highlighted message as deleted
      U  Undelete (remove deletion mark from) the highlighted message
    

    Description of the Select Postponed Message Screen

    This screen allows you to select one of several previously postponed messages in order to continue composition. Your options are very limited -- the screen is not meant to let you manipulate these messages. However, you may now delete messages from this list. Once you choose a message, Alpine reads it in and puts you into the regular message composer.

    Messages do not stay in this postponed state automatically. If you select a message and then want to postpone it again, use the normal postpone (Ctrl-O) command in the composer.

    If you exit this screen without selecting a message, the Compose command that got you here is canceled. Other than messages explicitly marked "Deleted", no messages will be removed.

    <End of help on this topic> ============= h_collection_screen ======================== COLLECTION LIST screen

    COLLECTION LIST screen

    The COLLECTION LIST screen is used to select one of your collection definitions to display the folders they contain. See Folder Collections Explained for detailed explanation of collections.

    To manage your collection definitions (Add, Change, Delete, etc.), use the Setup/collectionList command on Alpine's MAIN MENU.

    <End of help on this topic> ============= h_collection_maint ======================== SETUP COLLECTION LIST screen

    SETUP COLLECTION LIST screen

    The SETUP COLLECTION LIST screen lets you manage your collection definitions. See Folder Collections Explained for detailed explanation of collections.

    Maintenance commands include:

    Change (F4) (C)
    Modify attributes of the selected collection definition.
    Add Cltn (F9) (A)
    Create a new collection definition.
    Del Cltn (F10) (D)
    Delete the selected collection definition.
    NOTE: The folders and directories referred to by the collection definition are NOT deleted. Folders must be deleted, if that's what you wish to do, from the FOLDER LIST screen, which shows the individual folders in a collection.
    Shuffle (F11) ($)
    Change the order of the displayed collections. Alpine will offer to move the currently selected collection one position UP or DOWN.

    <End of help on this topic> ============ h_what_are_collections ========== Folder Collections Explained

    Folder Collections Explained

    Those of you with simple mail configurations will just see a list of all the folders you have when choosing FOLDER LIST from Alpine's MAIN MENU. The special folders for INBOX, sent mail and saved messages will appear at the top of the list. All others are in alphabetical order.

    If you or your system administrator have defined more than one collection or if you have a collection (for newsgroups or email folders) defined on your system, then you will see the COLLECTION LIST screen first when choosing FOLDER LIST from Alpine's MAIN MENU.

    Why have multiple folder collections?

    For Alpine users who only maintain email folders (and not too many) on one host, a single folder collection is probably sufficient.

    However, people who have more than one email account - for example, one at their university, and one with their personal Internet Service Provider - will have different sets of folders on different hosts, and they may want to access them all from the same installation of Alpine, rather than use different software and/or log into other hosts to manipulate messages in different accounts. (If in doubt whether one of your email accounts can be accessed with Alpine, contact the technical support people for that account.) Even people who have only one email account on one host, but have dozens or hundreds of email folders, may want to arrange these folders together in a meaningful way.
    That is where multiple collections come in.

    Types of Collections

    INCOMING FOLDERS
    "Incoming Message Folders" is a special collection typically used to supplement your single INBOX. All the folders here are meant to be ones that receive incoming messages, which you intend to check more or less frequently. You may have multiple folders like this because you or your systems administrator have set up an external program or you may have set up Alpine to filter incoming messages into different folders, based on certain criteria such as sender, recipient, or subject; or because you have multiple accounts and wish to check their INBOXes easily. This collection is established by setting the "" feature in the SETUP CONFIGURATION screen, which is accessed from the MAIN MENU.
    NEWS
    You can also define a collection specifically for newsgroups. Alpine does this for you implicitly when you define an NNTP Server in your Alpine configuration. The news collection appears last in the COLLECTION LIST (though you can shuffle it up in the order of presentation), and Alpine knows not to save messages there.
    DEFAULT COLLECTION
    This is the default collection for your saved and sent messages folders.

    Defining Collections

    In the absence of any folder-collection definitions, Alpine will assume a single default folder collection. If necessary, Alpine will create the directory "mail" in your Unix home directory to hold your folders.

    You can use the Setup/collectionList screen, called up from the MAIN MENU, to manage your collection list.

    <End of help on this topic> ===== h_select_address_screen ===== SELECT AN ADDRESS SCREEN

    SELECT AN ADDRESS SCREEN

    COMMANDS

    Available  Commands                        
    -------------------------------            
    F1  Show Help Text
    F3  Exit without selecting anything
    F4  Select the highlighted address
    F5  Move highlight to previous address
    F6  Move highlight to next address
    F7  Previous page of addresses
    F8  Next page of addresses
    F11 Print
    F12 WhereIs
    
    Navigation                     General Alpine Commands
    -------------------------      -----------------------
     P  Prev Address                ?  Display this help text
     N  Next Address                E  Exit without selecting anything
     -  Previous page               %  Print
    Spc (space bar) Next page
     W  WhereIs
    
    Select Command
    ------------------------------------------------
     S  Select the highlighted address
    

    Description of the Select Address Screen

    This screen gives you an easy way to select an address from all of the address book entries that match the prefix typed so far.

    <End of help on this topic> ===== h_select_rule_screen ===== SELECT A RULE SCREEN

    SELECT A RULE SCREEN

    COMMANDS

    Available  Commands                        
    -------------------------------            
    F1  Show Help Text
    F3  Exit without selecting anything
    F4  Select the highlighted rule
    F5  Move highlight to previous rule
    F6  Move highlight to next rule
    F7  Previous page of rules
    F8  Next page of rules
    F11 Print
    F12 WhereIs
    
    Navigation                     General Alpine Commands
    -------------------------      -----------------------
     P  Prev Rule                   ?  Display this help text
     N  Next Rule                   E  Exit without selecting anything
     -  Previous page               %  Print
    Spc (space bar) Next page
     W  WhereIs
    
    Select Command
    ------------------------------------------------
     S  Select the highlighted rule
    

    Description of the Select Rule Screen

    This screen just gives you an easy way to select a rule from all of your defined rules. The list of rules presented is the list of nicknames of all of the rules defined using Setup/Rules. For selecting messages, it is likely that the Indexcolor rules and possibly the Roles rules will be most useful. The others are there also, in case you find a use for them.

    In order for this to be useful for selecting messages, the nicknames of the rules have to be different. Alpine actually just gets the nickname of the rule that you select and then looks up that rule using the nickname. So if there are duplicate nicknames, the first rule that has that nickname will be used.

    <End of help on this topic> ===== h_select_priority_screen ===== SELECT A PRIORITY SCREEN

    SELECT A PRIORITY SCREEN

    COMMANDS

    Available  Commands                        
    -------------------------------            
    F1  Show Help Text
    F3  Exit without selecting anything
    F4  Select the highlighted priority
    F5  Move highlight to previous priority
    F6  Move highlight to next priority
    F7  Previous page of priorities
    F8  Next page of priorities
    F11 Print
    F12 WhereIs
    
    Navigation                     General Alpine Commands
    -------------------------      -----------------------
     P  Prev Priority               ?  Display this help text
     N  Next Priority               E  Exit without selecting anything
     -  Previous page               %  Print
    Spc (space bar) Next page
     W  WhereIs
    
    Select Command
    ------------------------------------------------
     S  Select the highlighted priority
    

    Description of the Select Priority Screen

    This screen gives you a way to select a priority for the message you are sending. This priority will be placed in the non-standard X-Priority header of your outgoing mail. Some mail programs will display an indication of the priority level to the recipient of the message, some will ignore it. Even in cases where the mail programs of both the sender and the recipient agree on the meaning of this header, keep in mind that it is something that the sender sets so it is only an indication of the priority that the sender attaches to the mail. Alpine can be made to display an indication of this priority in incoming messages by use of one of the tokens (Tokens for Index and Replying) PRIORITY, PRIORITYALPHA, or PRIORITY! in the option.

    <End of help on this topic> ===== h_select_keyword_screen ===== SELECT A KEYWORD SCREEN

    SELECT A KEYWORD SCREEN

    COMMANDS

    Available  Commands                        
    -------------------------------            
    F1  Show Help Text
    F3  Exit without selecting anything
    F4  Select the highlighted keyword
    F5  Move highlight to previous keyword
    F6  Move highlight to next keyword
    F7  Previous page of keywords
    F8  Next page of keywords
    F11 Print
    F12 WhereIs
    
    Navigation                     General Alpine Commands
    -------------------------      -----------------------
     P  Prev Keyword                ?  Display this help text
     N  Next Keyword                E  Exit without selecting anything
     -  Previous page               %  Print
    Spc (space bar) Next page
     W  WhereIs
    
    Select Command
    ------------------------------------------------
     S  Select the highlighted keyword
    

    Description of the Select Keyword Screen

    This screen just gives you an easy way to select a keyword. The list of keywords presented is the list of all keywords defined in your option. If you have given a keyword a nickname, that nickname is displayed instead of the actual keyword.

    <End of help on this topic> ===== h_select_charset_screen ===== SELECT A CHARACTER SET SCREEN

    SELECT A CHARACTER SET SCREEN

    COMMANDS

    Available  Commands                        
    -------------------------------            
    F1  Show Help Text
    F3  Exit without selecting anything
    F4  Select the highlighted character set
    F5  Move highlight to previous character set
    F6  Move highlight to next character set
    F7  Previous page of character sets
    F8  Next page of character sets
    F11 Print
    F12 WhereIs
    
    Navigation                     General Alpine Commands
    -------------------------      -----------------------
     P  Prev Character Set          ?  Display this help text
     N  Next Character Set          E  Exit without selecting anything
     -  Previous page               %  Print
    Spc (space bar) Next page
     W  WhereIs
    
    Select Command
    ------------------------------------------------
     S  Select the highlighted character set
    

    Description of the Select A Character Set Screen

    This screen just gives you an easy way to select a character set from the set of character sets Alpine knows about. The list presented will vary slightly depending on what option you are selecting the character set for.

    <End of help on this topic> ===== h_select_multcharsets_screen ===== SELECT CHARACTER SETS SCREEN

    SELECT CHARACTER SETS SCREEN

    COMMANDS

    Available  Commands
    -------------------------------            
    F1  Show Help Text
    F3  Exit without selecting anything
    F4  Select the highlighted charset (or chosen charsets in ListMode)
    F5  Move highlight to previous charset
    F6  Move highlight to next charset
    F7  Previous page of charsets
    F8  Next page of charsets
    F9  Toggle choices when using ListMode
    F10 Turn on/off ListMode (makes it easy to choose multiple charsets)
    F11 Print
    F12 WhereIs
    
    Navigation                     General Alpine Commands
    -------------------------      -----------------------
     P  Prev Charset                ?  Display this help text
     N  Next Charset                E  Exit without selecting anything
     -  Previous page               %  Print
    Spc (space bar) Next page
     W  WhereIs
    
    Select Command
    ------------------------------------------------
     S  Select the highlighted charset (or chosen charsets in ListMode)
     L  Turn on ListMode (makes it easy to choose multiple charsets)
     1  Turn off ListMode
     X  Toggle choices when using ListMode
    

    Description of the Select Character Set Screen

    This screen just gives you an easy way to select a character set or a list of character sets. The list of character sets presented is the list of all character sets known to Alpine. You may select other character sets by typing them in directly.

    <End of help on this topic> ===== h_select_multkeyword_screen ===== SELECT KEYWORDS SCREEN

    SELECT KEYWORDS SCREEN

    COMMANDS

    Available  Commands
    -------------------------------            
    F1  Show Help Text
    F3  Exit without selecting anything
    F4  Select the highlighted keyword (or chosen keywords in ListMode)
    F5  Move highlight to previous keyword
    F6  Move highlight to next keyword
    F7  Previous page of keywords
    F8  Next page of keywords
    F9  Toggle choices when using ListMode
    F10 Turn on/off ListMode (makes it easy to choose multiple keywords)
    F11 Print
    F12 WhereIs
    
    Navigation                     General Alpine Commands
    -------------------------      -----------------------
     P  Prev Keyword                ?  Display this help text
     N  Next Keyword                E  Exit without selecting anything
     -  Previous page               %  Print
    Spc (space bar) Next page
     W  WhereIs
    
    Select Command
    ------------------------------------------------
     S  Select the highlighted keyword (or chosen keywords in ListMode)
     L  Turn on ListMode (makes it easy to choose multiple keywords)
     1  Turn off ListMode
     X  Toggle choices when using ListMode
    

    Description of the Select Keyword Screen

    This screen just gives you an easy way to select a keyword or a list of keywords. The list of keywords presented is the list of all keywords defined in your option. If you have given a keyword a nickname, that nickname is displayed instead of the actual keyword.

    <End of help on this topic> ===== h_select_incoming_to_monitor ===== SELECT FOLDERS TO CHECK SCREEN

    SELECT FOLDERS TO CHECK SCREEN

    COMMANDS

    Available  Commands
    -------------------------------            
    F1  Show Help Text
    F3  Exit without selecting anything
    F4  Select the marked folders
    F5  Move highlight to previous folder
    F6  Move highlight to next folder
    F7  Previous page of folders
    F8  Next page of folders
    F9  Toggle choices on or off
    F11 Print
    F12 WhereIs
    
    Navigation                     General Alpine Commands
    -------------------------      -----------------------
     P  Prev Folder                 ?  Display this help text
     N  Next Folder                ^C  exit without changing anything
     -  Previous page               %  Print
    Spc (space bar) Next page
     W  WhereIs
    
    Select Command
    ------------------------------------------------
     S  Select the marked folders
     X  Toggle choices on or off
    

    Description of the Select Folders to Check Screen

    This screen is only useful if the feature is set. By default, when you set that feature all of your incoming folders will be checked periodically for Unseen messages. By using this screen, you may restrict the set of monitored folders to a subset of all of the incoming folders.

    Mark the folders you want to monitor for Unseen messages with an "X". When you've finished marking all your selections use the Select command to register your choices. To return to the default of checking all incoming folders delete all folders or unmark all folders.

    <End of help on this topic> ===== h_role_select ===== ROLES SCREEN

    ROLES SCREEN

    ROLES COMMANDS

    Available  Commands                        
    -------------------------------            
    F1  Show Help Text
    F3  Exit without a selection
    F4  Select a role to use in composition
    F5  Move to previous role
    F6  Move to next role
    F7  Previous page of roles
    F8  Next page of roles
    F11 Change Default Role
    F12 Whereis (search role nicknames)
    
    Navigation                     General Alpine Commands
    -------------------------      -----------------------
     P  Prev Role                     ?  Display this help text
     N  Next Role                     E  Exit without a selection
     -  Previous page
    Spc (space bar) Next page
     W  WhereIs (search for word in role nicknames)
    
    Select Role Commands
    ------------------------------------------------
     [Return]  Select highlighted role
     D         Change Default Role
    

    Description of the Roles Screen

    With this screen you select a role to be used in the composition of a message. Use the Previous and Next commands to highlight the role you wish to use. When you type carriage return you will be placed in the composer using the highlighted role.

    You don't have any non-default roles available unless you set them up. You may do so by using the Setup/Rules command on the MAIN MENU.

    By using the D command, you may set a default role that will persist until you change it or until you exit Alpine. The D command toggles through three states: set the default role, unset the default role, and leave the default role as it is.

    <End of help on this topic> ===== h_role_abook_select ===== SELECT ADDRESS BOOK SCREEN

    SELECT ADDRESS BOOK SCREEN

    COMMANDS

    Available  Commands                        
    -------------------------------            
    F1  Show Help Text
    F3  Exit screen without selecting anything
    F4  Select highlighted address book
    F5  Move to previous address book
    F6  Move to next address book
    F7  Previous page of address books
    F8  Next page of address books
    F12 Whereis
    
    Navigation                     General Alpine Commands
    -------------------------      -----------------------
     P  Previous addrbook          ?  Display this help text
     N  Next addrbook
     -  Previous page
    Spc (space bar) Next page
     W  WhereIs
    
    Select Role Commands
    ------------------------------------------------
     S  Select highlighted address book
     E  Exit screen without selecting anything
    

    Description of the Select Address Book Screen

    This screen helps you select one of your address books. Use the Previous and Next commands to highlight the address book you wish to select.

    <End of help on this topic> ======== h_rule_patterns ============= PATTERNS

    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 that 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, but note that a filtering Pattern must have at least one defined part or it will be ignored. 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 that was mentioned in the previous paragraph. 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 that 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 that stands for Recipient (To OR Cc) and the Partic pattern is a header pattern that 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 that 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 that 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 that 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 that 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 that 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 that 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 that detects whether or not this is the first time Alpine has been run this month (doesn't depend on individual messages), and another that 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 that 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 that have a From header that 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 that 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 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 that you get by entering a pair of double quotes ("") should match any message that 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 that 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 that 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 that 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 that is available when the "Folder" line is highlighted, or to use the "Take" command with the configuration feature "" 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 that 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 that 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 that 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 positive or negative integers, with min_score less than or equal to max_score. 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 that 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 that 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 (see Flag Command). 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 Sets

    A message may use one or more character sets. This part of the Pattern matches messages that 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.

    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 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 (or shorthand names). 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 that have Subjects that contain unencoded 8-bit characters. By default, the value of this option is "Don't care", which will match any message. The value "Yes" means that there must be raw 8-bit characters in the Subject of the message in order for there to be a match, and the value "No" is the opposite. 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. By default, the value of this option is "Don't care", which will always match. The value "Yes" means that this must be the first time Alpine has been run this month in order to count as a match, and the value "No" is the opposite.

    Beginning of Year

    This option gives you a way to take some action once per year. By default, the value of this option is "Don't care", which will always match. The value "Yes" means that this must be the first time Alpine has been run this year in order to count as a match, and the value "No" is the opposite.

    Address in Address Books

    This option gives you a way to match messages that have an address that is in one of your address books. Only the simple entries in your address books are searched. Address book distribution lists are ignored! By default, the value of this option is "Don't care", which will match any message. The value "Yes, in any address book" means the address from 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 none of the 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. The addresses from the message that are checked for are determined by the setting you have for "Types of addresses to check for in address book". If you set this to "From" the From address from the message will be looked up in the address book. If you set it to only "To" then the To addresses will be used. If any of the To addresses are in the address book then it is considered a match for "Yes" or not a match for "No". You could set it to both From and To, in which case all of the From and To addresses are used. The "Reply-To" and "Sender" cases are a little unusual. Due to deficiencies in our tools, Reply-To uses the Reply-To address if it exists or the From address if there is no Reply-To address. Same for the Sender address. Setting this option may 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 that 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.

    Here is an example setup for the bogofilter filter.

    <End of help on this topic> ===== h_rules_roles ===== SETUP ROLES SCREEN

    SETUP ROLES SCREEN

    SETUP ROLES COMMANDS

    Available  Commands -- Group 1         Available Commands -- Group 2   
    -------------------------------        ------------------------------  
    F1  Show Help Text                      F1  Show Help Text             
    F2  See commands in next group          F2  See commands in next group
    F3  Back to MAIN Alpine menu
    F4  Change configuration for role
    F5  Move to previous role               F5  Include file in role config
    F6  Move to next role                   F6  Exclude file from config
    F7  Previous page of roles
    F8  Next page of roles
    F9  Add new role                        F9  Replicate existing role
    F10 Delete existing role
    F11 Shuffle the order of roles
    F12 Whereis (search role nicknames)
    
    Navigation                     General Alpine Commands
    -------------------------      -----------------------
     P  Prev Role                     ?  Display this help text
     N  Next Role                     E  Back to MAIN Alpine menu
     -  Previous page
    Spc (space bar) Next page
     W  WhereIs (search for word in role nicknames)
    
    Setup Roles Commands
    ------------------------------------------------
     A  Add new role                  $  Shuffle the order of roles
     D  Delete existing role          C  Change configuration for highlighted role
     R  Replicate existing role
     I  Include file in role config   X  Exclude file from role config
    

    Description of the Setup Roles Screen

    This screen lets you add, delete, modify, or change the order of the rules that determine the role you are playing when composing a message.

    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, that role won't even be considered. (That isn't quite true. If the message you are replying to matches some other role that 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 Pattern 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 that depend on a message (everything other than Current Folder Type) are ignored. In all cases, the Current Folder Type 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'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 header patterns, AllText patterns, and BodyText patterns that are unset are ignored, a role that 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, the Template file, and Other Headers.

    Set From

    The From address is the address used on the From line of the message you are sending.

    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.

    Set Other Headers

    If you want to set the value of the From or Reply-To headers, use the specific fields "Set From" or "Set Reply-To". If you want to set the values of other headers, use this field. This field is similar to the configuration option. Each header you specify here must include the header tag ("To:", "Approved:", etc.) and may optionally include a value for that header. It is different from the 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 be at least one address in the To header (the address you are Replying to). However, if you Reply using a role that sets the To header, that role's To header value will be used instead.

    Set Fcc

    The Fcc is used as the Fcc for the message you are sending.

    Set Signature or Set LiteralSig

    The Signature is the name of a file to be used as the signature file when this role is being used. If the name of the file has a vertical bar following it (|) then it is assumed that the file is a program that should be run to produce the signature. If the LiteralSig is set, then it is used instead of the signature file. LiteralSig is just a different way to store the signature. It is stored in the pine configuration file instead of in a separate signature file. If the option is defined either in the role or as the default signature in the Setup/Config screen, then the signature file is ignored.

    Set Template

    A Template is the name of a file to be included in the message when this role is being used. If the name of the file has a vertical bar following it (|) then it is assumed that the file is a program that should be run to produce the template.

    Both signature files and 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 option that is configured from the Setup/Configuration screen. A remote signature file name might look like:

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

    Once you have named the remote signature or template file you create its contents by using the "F" "editFile" command when the cursor is on the "Set Signature" or "Set Template" line of the role editor.

    Both signature files and template files (or the output of signature programs and template file programs) may contain special tokens that are replaced with contents that depend on the message being replied to or forwarded. See the help for the individual fields inside the role editor for more information on tokens.

    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 "" 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.

    Command Descriptions

    Add

    The Add command is used to add a new role definition to your set of roles. The new role will be added after the highlighted role.

    Delete

    The Delete command deletes the currently highlighted role.

    Change

    The Change command lets you edit the nickname, Uses, Pattern, and Actions of the currently highlighted role.

    Shuffle

    The Shuffle command allows you to change the order of the roles. You may move the currently highlighted role up or down in the list. The order of the roles is important since the roles are tested for a match starting with the first role and continuing until a match is found. You should place the roles with more specific Patterns near the beginning of the list, and those with more general Patterns near the end so that the more specific matches will happen when appropriate.

    Replicate

    The Replicate command is used to copy an existing role and modify it. The new role will be added after the highlighted role.

    IncludeFile

    The IncludeFile command allows you to add a roles file to your configuration. Usually, your roles will be contained in your Alpine configuration file. If you wish, some or all of your roles may be stored in a separate file. If a roles file already exists (maybe it was made by somebody else using Alpine), you may insert it before the currently highlighted role. You may also insert an empty file or a file that does not yet exist. Once you have an empty roles file in your configuration, you may use the Shuffle command to move roles into it. In fact, that's the only way to get the initial role into the file.

    eXcludeFile

    The eXcludeFile command removes a roles file from your roles configuration. A limitation of the program is that in order to exclude a roles file that file must have at least one role in it, otherwise you won't be able to highlight a line in the file. So you may have to add a dummy role to the file in order to exclude the file.

    <End of help on this topic> ===== h_rules_other ===== SETUP OTHER RULES SCREEN

    SETUP OTHER RULES SCREEN

    SETUP OTHER RULES COMMANDS

    Available  Commands -- Group 1         Available Commands -- Group 2   
    -------------------------------        ------------------------------  
    F1  Show Help Text                      F1  Show Help Text             
    F2  See commands in next group          F2  See commands in next group
    F3  Back to MAIN Alpine menu
    F4  Change configuration for rule
    F5  Move to previous rule               F5  Include file in rule config
    F6  Move to next rule                   F6  Exclude file from config
    F7  Previous page of rules
    F8  Next page of rules
    F9  Add new rule                        F9  Replicate existing rule
    F10 Delete existing rule
    F11 Shuffle the order of rules
    F12 Whereis (search rule nicknames)
    
    Navigation                     General Alpine Commands
    -------------------------      -----------------------
     P  Prev rule                     ?  Display this help text
     N  Next rule                     E  Back to MAIN Alpine menu
     -  Previous page
    Spc (space bar) Next page
     W  WhereIs (search for word in rule nicknames)
    
    Setup Other Rules Commands
    ------------------------------------------------
     A  Add new rule                  $  Shuffle the order of rules
     D  Delete existing rule          C  Change configuration for highlighted rule
     R  Replicate existing rule
     I  Include file in rule config   X  Exclude file from rule config
    

    Description of the Setup Other Rules Screen

    This is where you may set various actions that do not fit well into the other Rules categories.

    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 that applies to Other Rules is the Current Folder Type when looking at the description of Patterns given "here".

    The Actions

    Set Sort Order

    When you enter a new folder, these rules will be checked to see if you have set a sort order that is different from your default sort order. The default is set in the Setup/Config screen with the "" 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 (F7$) command, then it will not be re-sorted until the next time it is opened.

    Set Index Format

    When you enter a new folder, these rules will be checked to see if you have set an Index Format that is different from your default Index Format, which is set with the "" 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 that is different from the default startup rule. The default for incoming folders is set in the Setup/Config screen with the "" option. The default for folders other than INBOX that are not part of your incoming collection (see 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, so check for more help.

    Command Descriptions

    Add

    The Add command is used to add a new rule definition to your set of rules. The new rule will be added after the highlighted rule.

    Delete

    The Delete command deletes the currently highlighted rule.

    Change

    The Change command lets you edit the nickname, Pattern, and Action of the currently highlighted rule.

    Shuffle

    The Shuffle command allows you to change the order of the rules. You may move the currently highlighted rule up or down in the list. The order of the rules is important since the rules are tested for a match starting with the first rule and continuing until a match is found. You should place the rules with more specific Patterns near the beginning of the list, and those with more general Patterns near the end so that the more specific matches will happen when appropriate.

    Replicate

    The Replicate command is used to copy an existing rule definition and modify it. The new rule will be added after the highlighted rule.

    IncludeFile

    The IncludeFile command allows you to add a rules file to your configuration. Usually, your rules will be contained in your Alpine configuration file. If you wish, some or all of your rules may be stored in a separate file. If a rules file already exists (maybe it was made by somebody else using Alpine), you may insert it before the currently highlighted rule. You may also insert an empty file or a file that does not yet exist. Once you have an empty rules file in your configuration, you may use the Shuffle command to move rules into it. In fact, that's the only way to get the initial rule into the file.

    eXcludeFile

    The eXcludeFile command removes a rules file from your rules configuration. A limitation of the program is that in order to exclude a rules file that file must have at least one rule in it, otherwise you won't be able to highlight a line in the file. So you may have to add a dummy rule to the file in order to exclude the file.

    <End of help on this topic> ===== h_rules_srch ===== SETUP SEARCH RULES SCREEN

    SETUP SEARCH RULES SCREEN

    SETUP SEARCH RULES COMMANDS

    Available  Commands -- Group 1         Available Commands -- Group 2   
    -------------------------------        ------------------------------  
    F1  Show Help Text                      F1  Show Help Text             
    F2  See commands in next group          F2  See commands in next group
    F3  Back to MAIN Alpine menu
    F4  Change configuration for rule
    F5  Move to previous rule               F5  Include file in rule config
    F6  Move to next rule                   F6  Exclude file from config
    F7  Previous page of rules
    F8  Next page of rules
    F9  Add new rule                        F9  Replicate existing rule
    F10 Delete existing rule
    F11 Shuffle the order of rules
    F12 Whereis (search rule nicknames)
    
    Navigation                     General Alpine Commands
    -------------------------      -----------------------
     P  Prev rule                     ?  Display this help text
     N  Next rule                     E  Back to MAIN Alpine menu
     -  Previous page
    Spc (space bar) Next page
     W  WhereIs (search for word in rule nicknames)
    
    Setup Search Rules Commands
    ------------------------------------------------
     A  Add new rule                  $  Shuffle the order of rules
     D  Delete existing rule          C  Change configuration for highlighted rule
     R  Replicate existing rule
     I  Include file in rule config   X  Exclude file from rule config
    

    Description of the Setup Search Rules Screen

    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 that 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.

    Each rule has a "Pattern" that is used to decide which messages are selected when you use it with the Select command.

    Patterns

    In order to determine whether or not a message should be selected 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".

    Command Descriptions

    Add

    The Add command is used to add a new rule definition to your set of rules. The new rule will be added after the highlighted rule.

    Delete

    The Delete command deletes the currently highlighted rule.

    Change

    The Change command lets you edit the nickname and Pattern of the currently highlighted rule.

    Shuffle

    The Shuffle command allows you to change the order of the rules. This affects only the order they are presented in when you use the ^T subcommand of the Select by Rule command. You may move the currently highlighted rule up or down in the list.

    Replicate

    The Replicate command is used to copy an existing rule definition and modify it. The new rule will be added after the highlighted rule.

    IncludeFile

    The IncludeFile command allows you to add a rules file to your configuration. Usually, your rules will be contained in your Alpine configuration file. If you wish, some or all of your rules may be stored in a separate file. If a rules file already exists (maybe it was made by somebody else using Alpine), you may insert it before the currently highlighted rule. You may also insert an empty file or a file that does not yet exist. Once you have an empty rules file in your configuration, you may use the Shuffle command to move rules into it. In fact, that's the only way to get the initial rule into the file.

    eXcludeFile

    The eXcludeFile command removes a rules file from your rules configuration. A limitation of the program is that in order to exclude a rules file that file must have at least one rule in it, otherwise you won't be able to highlight a line in the file. So you may have to add a dummy rule to the file in order to exclude the file.

    <End of help on this topic> ===== h_rules_incols ===== SETUP INDEX LINE COLORS SCREEN

    SETUP INDEX LINE COLORS SCREEN

    SETUP INDEX LINE COLORS COMMANDS

    Available  Commands -- Group 1         Available Commands -- Group 2   
    -------------------------------        ------------------------------  
    F1  Show Help Text                      F1  Show Help Text             
    F2  See commands in next group          F2  See commands in next group
    F3  Back to MAIN Alpine menu
    F4  Change configuration for rule
    F5  Move to previous rule               F5  Include file in rule config
    F6  Move to next rule                   F6  Exclude file from config
    F7  Previous page of rules
    F8  Next page of rules
    F9  Add new rule                        F9  Replicate existing rule
    F10 Delete existing rule
    F11 Shuffle the order of rules
    F12 Whereis (search rule nicknames)
    
    Navigation                     General Alpine Commands
    -------------------------      -----------------------
     P  Prev rule                     ?  Display this help text
     N  Next rule                     E  Back to MAIN Alpine menu
     -  Previous page
    Spc (space bar) Next page
     W  WhereIs (search for word in rule nicknames)
    
    Setup Index Color Commands
    ------------------------------------------------
     A  Add new rule                  $  Shuffle the order of rules
     D  Delete existing rule          C  Change configuration for highlighted rule
     R  Replicate existing rule
     I  Include file in rule config   X  Exclude file from rule config
    

    Description of the Setup Index Line Colors Screen

    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 within the Setup Color screen. (In PC-Alpine, color is always enabled so there is no option to turn on.) This screen lets you add, delete, modify, or change the order of the rules that cause the lines in the MESSAGE INDEX to be displayed in different colors.

    Each rule has a "Pattern", which is used to decide which of the rules is used; and the color that is used if the Pattern matches a particular message.

    Index Color Patterns

    In order to determine whether or not a message matches an Index Color 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".

    If none of the Index Color rules is a match for a particular index line, then the color used is set using the Setup Kolor screen.

    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.

    Command Descriptions

    Add

    The Add command is used to add a new rule definition to your set of rules. The new rule will be added after the highlighted rule.

    Delete

    The Delete command deletes the currently highlighted rule.

    Change

    The Change command lets you edit the nickname, Pattern, and Index Line Color of the currently highlighted rule.

    Shuffle

    The Shuffle command allows you to change the order of the rules. You may move the currently highlighted rule up or down in the list. The order of the rules is important since the rules are tested for a match starting with the first rule and continuing until a match is found. You should place the rules with more specific Patterns near the beginning of the list, and those with more general Patterns near the end so that the more specific matches will happen when appropriate.

    Replicate

    The Replicate command is used to copy an existing rule definition and modify it. The new rule will be added after the highlighted rule.

    IncludeFile

    The IncludeFile command allows you to add a rules file to your configuration. Usually, your rules will be contained in your Alpine configuration file. If you wish, some or all of your rules may be stored in a separate file. If a rules file already exists (maybe it was made by somebody else using Alpine), you may insert it before the currently highlighted rule. You may also insert an empty file or a file that does not yet exist. Once you have an empty rules file in your configuration, you may use the Shuffle command to move rules into it. In fact, that's the only way to get the initial rule into the file.

    eXcludeFile

    The eXcludeFile command removes a rules file from your rules configuration. A limitation of the program is that in order to exclude a rules file that file must have at least one rule in it, otherwise you won't be able to highlight a line in the file. So you may have to add a dummy rule to the file in order to exclude the file.

    <End of help on this topic> ===== h_rules_filter ===== SETUP FILTERING SCREEN

    SETUP FILTERING SCREEN

    SETUP FILTERING COMMANDS

    Available  Commands -- Group 1         Available Commands -- Group 2   
    -------------------------------        ------------------------------  
    F1  Show Help Text                      F1  Show Help Text             
    F2  See commands in next group          F2  See commands in next group
    F3  Back to MAIN Alpine menu
    F4  Change configuration for filter
    F5  Move to previous filter             F5  Include file in filter config
    F6  Move to next filter                 F6  Exclude file from config
    F7  Previous page of filters
    F8  Next page of filters
    F9  Add new filter                      F9  Replicate existing filter
    F10 Delete existing filter
    F11 Shuffle the order of filters
    F12 Whereis (search filter nicknames)
    
    Navigation                     General Alpine Commands
    -------------------------      -----------------------
     P  Prev Filter                   ?  Display this help text
     N  Next Filter                   E  Back to MAIN Alpine menu
     -  Previous page
    Spc (space bar) Next page
     W  WhereIs (search for word in filter nicknames)
    
    Setup Filters Commands
    ------------------------------------------------
     A  Add new filter                $  Shuffle the order of filters
     D  Delete existing filter        C  Change configuration for highlighted filter
     R  Replicate existing filter
     I  Include file in filter config X  Exclude file from filter config
    

    Description of the Setup Filtering Screen

    This screen lets you add, delete, modify, or change the order of the rules that determine the filtering Alpine does on folders you view.

    The software that 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 (Important, Deleted, New, Answered) and to set for messages. Alpine doesn't have the ability to forward mail to another address or to deliver vacation messages.

    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.

    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 that 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 always 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 be able to set user-defined keywords for a message. Read a little about keywords in the help text for the Flag command.

    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.)

    Command Descriptions

    Add

    The Add command is used to add a new filter definition to your set of filters. The new filter will be added after the highlighted filter.

    Delete

    The Delete command deletes the currently highlighted filter.

    Change

    The Change command lets you edit the nickname, Pattern, and Folder of the currently highlighted filter.

    Shuffle

    The Shuffle command allows you to change the order of the filters. You may move the currently highlighted filter up or down in the list. The order of the filters is important since the filters are tested for a match starting with the first filter and continuing until a match is found. You should place the filters with more specific Patterns near the beginning of the list, and those with more general Patterns near the end so that the more specific matches will happen when appropriate.

    Replicate

    The Replicate command is used to copy an existing filter and modify it. The new filter will be added after the highlighted filter.

    IncludeFile

    The IncludeFile command allows you to add a filters file to your configuration. Usually, your filters will be contained in your Alpine configuration file. If you wish, some or all of your filters may be stored in a separate file. If a filters file already exists (maybe it was made by somebody else using Alpine), you may insert it before the currently highlighted filter. You may also insert an empty file or a file that does not yet exist. Once you have an empty filters file in your configuration, you may use the Shuffle command to move filters into it. In fact, that's the only way to get the initial filter into the file.

    eXcludeFile

    The eXcludeFile command removes a filters file from your filters configuration. A limitation of the program is that in order to exclude a filters file that file must have at least one filter in it, otherwise you won't be able to highlight a line in the file. So you may have to add a dummy filter to the file in order to exclude the file.

    Performance Considerations

    The number and type of patterns being tested can adversely effect performance. Issues to be aware of include:

    • The more filters you have defined the longer it will take to run down the list. Deleting unused filters is a good idea.
    • Filtering in newsgroups served by an NNTP server will be slow if your patterns include tests other than "From:" or "Subject:".

    <End of help on this topic> ===== h_rules_score ===== SETUP SCORING SCREEN

    SETUP SCORING SCREEN

    SETUP SCORING COMMANDS

    Available  Commands -- Group 1         Available Commands -- Group 2   
    -------------------------------        ------------------------------  
    F1  Show Help Text                      F1  Show Help Text             
    F2  See commands in next group          F2  See commands in next group
    F3  Back to MAIN Alpine menu
    F4  Change configuration for rule
    F5  Move to previous rule               F5  Include file in rule config
    F6  Move to next rule                   F6  Exclude file from config
    F7  Previous page of rules
    F8  Next page of rules
    F9  Add new rule                        F9  Replicate existing rule
    F10 Delete existing rule
    F11 Shuffle the order of rules
    F12 Whereis (search rule nicknames)
    
    Navigation                     General Alpine Commands
    -------------------------      -----------------------
     P  Prev rule                     ?  Display this help text
     N  Next rule                     E  Back to MAIN Alpine menu
     -  Previous page
    Spc (space bar) Next page
     W  WhereIs (search for word in rule nicknames)
    
    Setup Scoring Commands
    ------------------------------------------------
     A  Add new rule                  $  Shuffle the order of rules
     D  Delete existing rule          C  Change configuration for highlighted rule
     R  Replicate existing rule
     I  Include file in rule config   X  Exclude file from rule config
    

    Description of the Setup Scoring Screen

    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 that 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 that 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.

    Command Descriptions

    Add

    The Add command is used to add a new scoring rule definition. The new rule will be added after the highlighted rule.

    Delete

    The Delete command deletes the currently highlighted scoring rule.

    Change

    The Change command lets you edit the nickname, Pattern, and Score Value of the currently highlighted scoring rule.

    Shuffle

    The Shuffle command allows you to change the order of the scoring rules. You may move the currently highlighted rule up or down in the list. The order of the rules is important since the rules are tested for a match starting with the first rule and continuing until a match is found. You should place the rules with more specific Patterns near the beginning of the list, and those with more general Patterns near the end so that the more specific matches will happen when appropriate.

    Replicate

    The Replicate command is used to copy an existing rule and modify it. The new rule will be added after the highlighted rule.

    IncludeFile

    The IncludeFile command allows you to add a rules file to your configuration. Usually, your rules will be contained in your Alpine configuration file. If you wish, some or all of your rules may be stored in a separate file. If a rules file already exists (maybe it was made by somebody else using Alpine), you may insert it before the currently highlighted rule. You may also insert an empty file or a file that does not yet exist. Once you have an empty rules file in your configuration, you may use the Shuffle command to move rules into it. In fact, that's the only way to get the initial rule into the file.

    eXcludeFile

    The eXcludeFile command removes a rules file from your rules configuration. A limitation of the program is that in order to exclude a rules file that file must have at least one rule in it, otherwise you won't be able to highlight a line in the file. So you may have to add a dummy rule to the file in order to exclude the file.

    <End of help on this topic> ===== h_direct_config ===== SETUP LDAP DIRECTORY SERVERS SCREEN

    SETUP LDAP DIRECTORY SERVERS SCREEN

    SETUP LDAP DIRECTORY SERVERS COMMANDS

    Available  Commands                        
    -------------------------------            
    F1  Show Help Text                         
    F3  Back to MAIN Alpine menu                 
    F4  Change configuration for directory server  
    F5  Move to previous directory server          
    F6  Move to next directory server              
    F7  Previous page of directory servers         
    F8  Next page of directory servers
    F9  Add new directory server
    F10 Delete existing directory server
    F11 Shuffle the order of directory servers
    F12 Whereis (search directory server titles)   
    
    Navigation                     General Alpine Commands
    -------------------------      -----------------------
     P  Prev Directory Server         ?  Display this help text
     N  Next Directory Server         E  Back to MAIN Alpine menu
     -  Previous page
    Spc (space bar) Next page
     W  WhereIs (search for word in directory server titles)
    
    Setup LDAP Directory Server Commands
    ------------------------------------------------
     A  Add new directory server      $  Shuffle the order of directory servers
     D  Delete existing dir server    C  Change configuration for highlighted server
    

    Description of the Setup LDAP Directory Servers Screen

    This screen lets you add, delete, modify, or change the order of your directory servers. You may also set some optional behavior for each server. The "Add Dir" command brings up a blank form to fill in. You will have to supply at least the name of the LDAP server. You will often have to supply a search base to be used with that server, as well. Once the form has been brought up on your screen, there is help available for each of the options you may set.

    The "Del Dir" command allows you to remove a directory server from your configuration.

    The "Change" command is similar to the "Add Dir" command. The difference is that instead of bringing up a form for a new server configuration, you are changing the configuration of an existing entry. For example, you might want to correct a typing error, change a nickname, or change one of the options set for that server.

    The "Shuffle" command is used to change the order of directory servers.

    <End of help on this topic> ============= h_address_display ======================== SEARCH RESULTS INDEX

    SEARCH RESULTS INDEX

    This screen shows the results, if any, of your Directory Server search. Commands (besides those for screen navigation) are:
    View (F4) (V)
    See the full information for the selected entry.
    Compose (F9) (C)
    Compose a message with the selected entry as the recipient.
    Role (F2) (#)
    Compose a message with the selected entry as the recipient. This differs from Compose in that you may select a role before beginning your composition.
    Forward (F10) (F)
    Send the full information for the selected entry as an email message to someone else.
    Save (F11) (S)
    Save to your address book:
    • the result of the search (as just found through your query) for the selected entry; or
    • the selected entry for repeated Directory Server searching when used in the future.
    or
    Export to a file (external to Alpine):
    • the full information for the selected entry; or
    • the email address from the selected entry; or
    • the selected entry in vCard format.
    WhereIs (F12) (W)
    Search for text in the SEARCH RESULTS INDEX screen. (Searches only the displayed text, not the full records for each entry.)
    <End of help on this topic> ============= h_address_select ======================== SEARCH RESULTS INDEX

    SEARCH RESULTS INDEX

    This screen shows the results, if any, of your Directory Server search. Commands (besides those for screen navigation) are:
    Select
    Select this entry for use.
    ExitSelect
    Exit without selecting any of the entries.
    WhereIs
    Search for text in the SEARCH RESULTS INDEX screen. (Searches only the displayed text, not the full records for each entry.)
    <End of help on this topic> ===== h_folder_maint ===== Help for Folder List

    FOLDER LIST COMMANDS

    Available Commands -- Group 1        Available Commands -- Group 2
    -------------------------------      ------------------------------
    F1  Show Help Text                    F1  Show Help Text               
    F2  See commands in next group        F2  See commands in next group  
    F3  MAIN MENU Screen                  F3  Quit Alpine                    
    F4  Select folder and view it         F4  MAIN MENU Screen
    F5  Move to previous folder
    F6  Move to next folder               F6  Specify a folder to go to
    F7  Show previous screen of listing   F7  Show MESSAGE INDEX of current folder
    F8  Show next screen of listing       F8  Compose a message
    F9  Add a new folder                  F9  Print folder listing
    F10 Delete selected folder
    F11 Rename selected folder
    F12 Whereis (search folder names)
    
    Available Commands -- Group 3
    F1  Show Help Text
    F2  See commands in next group
    F5  Go to next new message
        (or count recent messages if  is set)
    F8  Compose a message using roles
    F9  Export folder to a file
    F10 Import the file back to a folder
    
    Navigating the Folder Screen            Operations on the Selected Folder
    ----------------------------            ---------------------------------
     P   Move to previous folder              V  View Index of selected folder
     N   Move to next folder                  D  Delete
     -   Show previous page of listing        R  Rename
    Spc  (space bar) Show next page           E  Export to file
                                              U  Import from file to folder
    
    FOLDER LIST Screen Commands              General Alpine Command
    ---------------------------              -----------------------
     A  Add a folder                          O  Show all other available commands
     G  Specify a folder to go to             ?  Show Help text
     I  Show MESSAGE INDEX of current folder  M  MAIN MENU Screen
     W  Whereis (search folder names)         Q  Quit Alpine
     %  Print folder listing                  C  Compose a message
                                              #  Compose a message using roles
    

    These commands are only available in the FOLDER LIST screen when the "" feature is set in the SETUP CONFIGURATION screen:

    Select:
    Select folders by certain criteria:
    • All: of limited use, since there is no Apply command.
    • by Property:
      • folder contains messages not yet seen
      • folder contains new messages
      • folder contains exactly as many, more, or fewer messages than a given number
    • by Text:
      • contained in name of folder (Name Select)
      • contained in messages in folder (Content Select)
    Select current:
    Select the folder the cursor is on. (Can be used to "manually" add one or more folders to a set created with the Select command described above.)
    Zoom mode:
    Toggles display of only selected folders or all folders on and off.

    If the feature "" is set then the TAB key will display the number of recent messages and the total number of messages in the highlighted folder.

    The "Export" command causes the lowest common denominator style mailbox to be written to a file. If the file already exists, you are asked if you want to delete it. If you say No, then the operation is aborted. Export might be a reasonable way to store a backup or an archival copy of a folder. The exported-to file is a local file on the system where you are running Alpine. The "Import" command is the opposite of the Export command. It reads a file created by Export and asks where it should save it in your folders. This could be a new folder or an existing folder. If the folder already exists, the messages from the exported file will be appended to the folder.

    Description of the FOLDER LIST Screen
    The purpose of the FOLDER LIST screen is to help you browse and manage the folders and directories (also known as "hierarchy") contained within a collection.

    Folders and directories are arranged alphabetically across lines of the screen. Directories, if present, are denoted by a special character at the end of the name known as the hierarchy delimiter (typically, "/"). By default, folders and directories are mixed together. The "" configuration option can be used to group directories toward the beginning or end of the list.

    The Next/Prev Page commands help browse the list, the Next/Prev Fldr commands change the "selected" (i.e., highlighted) folder or directory, and the View Fldr/Dir commands will "open" the selected item. Folder and directory management is provided via the Rename, Delete and Add commands.

    About Folders
    What are Folders?

    Folders are simply files where messages are kept. Every message has to be in a folder. Most every Alpine user starts out with 3 folders: an INBOX, a folder for sent mail and a folder for saved messages.

    You may create as many other folders as you wish. They must be given names that can be filenames on the filesystem.

    You can move messages from one folder to another by opening the original folder and saving messages into the other folder just as you can save message from your INBOX to any other folder.

    Folders are typically just files in the filesystem. However, the files that are folders have some special formatting in them (so that Alpine knows where one message ends and another begins) and should not be edited outside of Alpine. If you want copies of your messages in text files that you can edit or otherwise manipulate, use the Export command to copy them from Alpine into your regular file area.

    FOR MORE INFORMATION: See the section on Valid Folder Names.

    About Directories

    A directory is simply a container used to group folders within a folder list. You can create as many directories as you like. And directories can even contain directories themselves.

    SPECIAL NOTES: When accessing folders on an IMAP server, it is important to note that not all IMAP servers support directories. If you find that the Add command fails to offer the "Create Directory" subcommand, then it's likely that directories are not supported by the server serving in that collection.

    Similarly, servers that do provide for directories may not do so in the same way. On some servers, for example, each folder name you create is at the same time capable of being a directory. When this happens, Alpine will display both the folder name and the name of the directory (with trailing hierarchy delimiter) in the folder list.

    Another issue with IMAP access, though with a much smaller set of servers, is that not all servers accept the request to list out the available folders and directories in the same way. If you find yourself having trouble viewing folders on your server, you might investigate the "" feature.

    <End of help on this topic> ========= h_valid_folder_names ======== Explanation of Valid Folder Names

    Folder Name Syntax Explained

    Once your folder collections are defined, you can usually refer to folders by their simple (unqualified) name, or pick from a FOLDER LIST display. However, understanding the complete syntax for folder names, both local and remote, is handy when using the Goto command and when you are adding new folder collections via the Setups/collectionList screen.

    An 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:\PINE\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 that 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 here 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.

    <End of help on this topic> ======= h_folder_name_namespaces ======= FOLDER NAME NAMESPACES EXPLAINED

    Folder Name Namespaces Explained

    An 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 server 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 that 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 , but with a minimum time between checks set by , are made for new mail arriving in the MailDropFolder. An example that 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 "" 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 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. You may find some more useful information about Mail Drops at What is a Mail Drop?.

    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.

    No, nothing's simple.

    <End of help on this topic> ============= h_whatis_vcard ======================== VCARD EXPLAINED

    What is the vCard format?

    A "vCard" is a sort of electronic business card, for exchanging information about and among people and organizations electronically. More information about vCard can be found (as of May 1998) on the WWW site of the Internet Mail Consortium at the URL:

    http://www.imc.org/pdi/

    <End of help on this topic> ===== h_folder_open ===== Explanation of Folder Selection

    This screen is designed to allow you to quickly and easily survey your folders and select one to open.

    Navigating the List of Folders             General Alpine Commands
    ------------------------------             -----------------------
     P   Move to previous folder               ?   Show this help text
     N   Move to next folder
     -   Show previous screen of folders
    Spc  (space bar) Show next screen
     W   WhereIs (search folder names)
    
    Folder Selection Commands
    -------------------------
     E   Exit the Folder Select menu (without selecting a folder)
     S   Select the currently highlighted folder
    
    Navigating the List of Folders             General Alpine Commands
    ------------------------------             -----------------------
    F5   Move to previous folder               F1  Show this help text
    F6   Move to next folder
    F7   Show previous screen of folders
    F8   Show next screen of folders
    F12  WhereIs (search folder names)
    
    Folder Selection Commands
    -------------------------
    F3   Exit the Folder Select menu (without selecting a folder)
    F4   Select the currently highlighted folder
    

    FOR MORE INFORMATION: See the section on Valid Folder Names.

    <End of help on this topic> ===== h_folder_subscribe ===== Newsgroup Subscribe Screen explained

    FOLDER SUBSCRIBE HELP

    This screen is designed to help you subscribe to newsgroups you are not currently subscribed to. The screen display is a list of all available newsgroups (or possibly a partial list if you specified a partial name when entering the screen). Groups you have already subscribed to have the letters "SUB" next to them. You may select a single new group to subscribe to by moving the cursor to that group and pressing "S" or carriage return. Alternatively, you may change into ListMode with the "ListMode" command. The display will change slightly so that each group has a checkbox in front of it. Use the cursor and the Set/Unset command to place an "X" in front of each newsgroup you wish to subscribe to.

    When you are finished marking groups, the "Subscribe" command will subscribe you to those groups you have marked. Note, you may not unsubscribe to groups with this command. Instead of the "A" "Subscribe" command, use the "D" UnSbscrbe command.

    Navigating the List of Newsgroups          General Alpine Commands
    ---------------------------------          -----------------------
    F5   Move to previous group                F1   Show this help text
    F6   Move to next group
    F7   Show previous screen of groups
    F8   Show next screen of groups
    F12  WhereIs (search group names)
    F9   Use ListMode
    
    Group Selection Commands
    -------------------------
    F3  Exit the News Subscribe menu (without selecting any groups)
    F4  Subscribe to the currently highlighted newsgroup
    
    Navigating the List of Newsgroups          General Alpine Commands
    ---------------------------------          -----------------------
     P   Move to previous group                ?   Show this help text
     N   Move to next group
     -   Show previous screen of groups
    Spc  (space bar) Show next screen
     W   WhereIs (search group names)
     L   Use ListMode
    
    Group Selection Commands
    -------------------------
     E   Exit the News Subscribe menu (without selecting any groups)
     S   Subscribe to the currently highlighted newsgroup
    

    When in ListMode, there is an additional command for marking groups to subscribe to:

    ListMode Commands
    -------------------------
    F9  Set or unset the highlighted group
    
    ListMode Commands
    -------------------------
    X   Set or unset the highlighted group
    

    <End of help on this topic> ===== h_folder_postnews ===== Newsgroup selecting for Posting explained This screen is designed to allow you to quickly and easily survey the available newsgroups and select one to post news to.

    Navigating the List of Newsgroups          General Alpine Commands
    ---------------------------------          -----------------------
    F5   Move to previous group                F1  Show this help text
    F6   Move to next group
    F7   Show previous screen of groups
    F8   Show next screen of groups
    F12  WhereIs (search group names)
    
    Group Selection Commands
    -------------------------
    F3   Exit the Selection menu (without selecting a group)
    F4   Select the currently highlighted newsgroup
    
    Navigating the List of Newsgroups          General Alpine Commands
    ---------------------------------          -----------------------
     P   Move to previous group                ?  Show this help text
     N   Move to next group
     -   Show previous screen of groups
    Spc  (space bar) Show next screen of groups
     W   WhereIs (search group names)
    
    Group Selection Commands
    -------------------------
     E   Exit the Selection menu (without selecting a group)
     S   Select the currently highlighted newsgroup
    

    <End of help on this topic> ===== h_folder_save ===== Folder Select for Save Explained This screen is designed to allow you to quickly and easily survey your folders and select one to use for saving the current message.

    Navigating the List of Folders             General Alpine Commands
    ------------------------------             -----------------------
    F5   Move to previous folder               F1  Show this help text
    F6   Move to next folder
    F7   Show previous screen of folders
    F8   Show next screen of folders
    F12  WhereIs (search folder names)
    
    Folder Selection Commands
    -------------------------
    F3   Exit the Folder Select menu (without selecting a folder)
    F4   Select the currently highlighted folder
    F11  AddNew folder (just like Select, but you type in a new folder name)
    
    Navigating the List of Folders             General Alpine Commands
    ------------------------------             -----------------------
     P   Move to previous folder               ?  Show this help text
     N   Move to next folder
     -   Show previous screen of folders
    Spc  (space bar) Show next screen of folders
     W   WhereIs (search folder names)
    
    Folder Selection Commands
    -------------------------
     E   Exit the Folder Select menu (without selecting a folder)
     S   Select the currently highlighted folder
     A   AddNew folder (just like Select, but you type in a new folder name)
    

    FOR MORE INFORMATION: See the section on Valid Folder Names.

    <End of help on this topic> ===== h_folder_fcc ===== Folder Select for Fcc Explained This screen is designed to allow you to quickly and easily survey your folders and select one to use as the file carbon copy (fcc) for the current message.

    Navigating the List of Folders             General Alpine Commands
    ------------------------------             -----------------------
    F5   Move to previous folder               F1  Show this help text
    F6   Move to next folder
    F7   Show previous screen of folders
    F8   Show next screen of folders
    F12  WhereIs (search folder names)
    
    Folder Selection Commands
    -------------------------
    F3   Exit the Folder Select menu (without selecting a folder)
    F4   Select the currently highlighted folder
    F11  AddNew folder (just like Select, but you type in a new folder name)
    
    Navigating the List of Folders             General Alpine Commands
    ------------------------------             -----------------------
     P   Move to previous folder               ?  Show this help text
     N   Move to next folder
     -   Show previous screen of folders
    Spc  (space bar) Show next screen of folders
     W   WhereIs (search folder names)
    
    Folder Selection Commands
    -------------------------
     E   Exit the Folder Select menu (without selecting a folder)
     S   Select the currently highlighted folder
     A   AddNew folder (just like Select, but you type in a new folder name)
    

    FOR MORE INFORMATION: See the section on Valid Folder Names.

    <End of help on this topic> ===== h_folder_pattern_roles ===== Folder Select for Current Folder Explained This screen is designed to allow you to quickly and easily survey your folders and select one to use as the specific Current Folder in a Pattern.

    Navigating the List of Folders             General Alpine Commands
    ------------------------------             -----------------------
    F5   Move to previous folder               F1  Show this help text
    F6   Move to next folder
    F7   Show previous screen of folders
    F8   Show next screen of folders
    F12  WhereIs (search folder names)
    
    Folder Selection Commands
    -------------------------
    F3   Exit the Folder Select menu (without selecting a folder)
    F4   Select the currently highlighted folder
    F11  AddNew folder (just like Select, but you type in a new folder name)
    
    Navigating the List of Folders             General Alpine Commands
    ------------------------------             -----------------------
     P   Move to previous folder               ?  Show this help text
     N   Move to next folder
     -   Show previous screen of folders
    Spc  (space bar) Show next screen of folders
     W   WhereIs (search folder names)
    
    Folder Selection Commands
    -------------------------
     E   Exit the Folder Select menu (without selecting a folder)
     S   Select the currently highlighted folder
     A   AddNew folder (just like Select, but you type in a new folder name)
    

    FOR MORE INFORMATION: See the section on Valid Folder Names.

    <End of help on this topic> ===== h_folder_stayopen_folders ===== Folder Select Explained This screen is designed to allow you to quickly and easily survey your folders and select one to use as a Stay-Open folder.

    Navigating the List of Folders             General Alpine Commands
    ------------------------------             -----------------------
    F5   Move to previous folder               F1  Show this help text
    F6   Move to next folder
    F7   Show previous screen of folders
    F8   Show next screen of folders
    F12  WhereIs (search folder names)
    
    Folder Selection Commands
    -------------------------
    F3   Exit the Folder Select menu (without selecting a folder)
    F4   Select the currently highlighted folder
    F11  AddNew folder (just like Select, but you type in a new folder name)
    
    Navigating the List of Folders             General Alpine Commands
    ------------------------------             -----------------------
     P   Move to previous folder               ?  Show this help text
     N   Move to next folder
     -   Show previous screen of folders
    Spc  (space bar) Show next screen of folders
     W   WhereIs (search folder names)
    
    Folder Selection Commands
    -------------------------
     E   Exit the Folder Select menu (without selecting a folder)
     S   Select the currently highlighted folder
     A   AddNew folder (just like Select, but you type in a new folder name)
    

    FOR MORE INFORMATION: See the section on Valid Folder Names.

    <End of help on this topic> ===== h_folder_action_roles ===== Folder Select Explained This screen is designed to allow you to quickly and easily survey your folders and select one to use as the folder into which messages matching this filter will be moved.

    Navigating the List of Folders             General Alpine Commands
    ------------------------------             -----------------------
    F5   Move to previous folder               F1  Show this help text
    F6   Move to next folder
    F7   Show previous screen of folders
    F8   Show next screen of folders
    F12  WhereIs (search folder names)
    
    Folder Selection Commands
    -------------------------
    F3   Exit the Folder Select menu (without selecting a folder)
    F4   Select the currently highlighted folder
    F11  AddNew folder (just like Select, but you type in a new folder name)
    
    Navigating the List of Folders             General Alpine Commands
    ------------------------------             -----------------------
     P   Move to previous folder               ?  Show this help text
     N   Move to next folder
     -   Show previous screen of folders
    Spc  (space bar) Show next screen of folders
     W   WhereIs (search folder names)
    
    Folder Selection Commands
    -------------------------
     E   Exit the Folder Select menu (without selecting a folder)
     S   Select the currently highlighted folder
     A   AddNew folder (just like Select, but you type in a new folder name)
    

    FOR MORE INFORMATION: See the section on Valid Folder Names.

    <End of help on this topic> ===== h_abook_config ===== SETUP ADDRESS BOOKS SCREEN

    SETUP ADDRESS BOOKS SCREEN

    SETUP ADDRESS BOOKS COMMANDS

    Available  Commands                        
    -------------------------------            
    F1  Show Help Text                         
    F3  Back to MAIN Alpine menu                 
    F4  Change configuration for address book  
    F5  Move to previous address book          
    F6  Move to next address book              
    F7  Previous page of address books         
    F8  Next page of address books             
    F9  Add new address book                   
    F10 Delete existing address book           
    F11 Shuffle the order of address books     
    F12 Whereis (search address book titles)   
    
    Navigation                     General Alpine Commands
    -----------------------        -----------------------
     P  Prev Address Book           ?  Display this help text
     N  Next Address Book           E  Back to MAIN Alpine menu
     -  Previous page
    Spc (space bar) Next page
     W  WhereIs (search for word in address book titles)
    
    Setup Address Books Commands
    ------------------------------------------------
     A  Add new address book          $  Shuffle the order of address books
     D  Delete existing address book  C  Change configuration for address book
    

    Description of the Setup Address Books Screen

    This screen lets you add, delete, modify, or change the order of your address books. The "Add Abook" command brings up a blank form to fill in. If you are adding a remote address book on an IMAP server you should fill in the name of the IMAP server. Otherwise, leave that field blank. (Note that remote IMAP address books are an Alpine concept and are unlikely to interoperate with other mail clients.) For a remote address book, fill in the name of the remote folder in the Folder field. This should be a folder that is used only for this one purpose, not a general purpose folder you expect to store messages in.

    If you are adding a local address book, fill in the Folder Name field with a local file name (e.g., .addressbook).

    Please note: Remote address books stored on an IMAP server are of an entirely different format (namely, a special-purpose "mail folder") than that of the local addressbook familiar to Alpine users. Therefore, you cannot use "add a remote address book" to make an existing Alpine .addressbook file you may have on a remote IMAP server accessible to Alpine running on a different host.

    The "Del Abook" command allows you to remove an address book from your configuration. It will also ask you if you wish to remove the data for that address book, which would erase all traces of the address book if you answer Yes.

    The "Change" command is similar to the "Add Abook" command. The difference is that instead of adding a new address book to your configuration, you are changing the configuration of an existing entry. For example, you might want to correct a typing error or change a nickname. The "Change" command is not a move command. If you change the folder name or server name the data will not be moved for you.

    The "Shuffle" command is used for two purposes. If you shuffle an address book toward another address book in the same group then the order of those two address books will be swapped. If you shuffle the last Personal address book down towards the Global address book section, it will become a Global address book. If you shuffle the first Global address book up it will become a Personal address book. The main difference between Personal and Global address books is that Global address books are forced read-only.

    <End of help on this topic> ===== h_abook_top ===== ADDRESS BOOK LIST COMMANDS

    ADDRESS BOOK LIST COMMANDS

    Available  Commands -- Group 1         Available Commands -- Group 2
    -------------------------------        ------------------------------
    F1  Show Help Text                      F1  Show Help Text
    F2  See commands in next group          F2  See commands in next group
    F3  Exit to MAIN MENU                   F3  Quit Alpine
    F4  View/Edit selected address book
    F5  Move to previous address book       F5  FOLDER LIST screen
    F6  Move to next address book           F6  Specify a folder to go to
    F7  Previous page                       F7  MESSAGE INDEX screen
    F8  Next page                           F9  Print list of address books
    F12 Whereis (search for word)
    
    Navigation                       General Alpine Commands
    -----------------------          -----------------------
     P  Previous Entry                ?  Display this help text
     N  Next Entry                    O  Show all other available commands
     -  Previous page                 <  Back to MAIN Alpine menu
    Spc (space bar) Next page         Q  Quit Alpine
     W  WhereIs (search for word)     L  FOLDER LIST screen
    				  G  Specify a folder to go to
    Address Book Commands             I  MESSAGE INDEX screen
    ------------------------------------------------
     >  View/Edit selected address book
    	      or
     >  Search on selected directory server
    
     %  Print list of address books and directory servers
    

    Description of the Address Book List Screen

    From this screen you may choose which address book you wish to view or edit. For more information on address books, view one of your address books (with F4 ">" ) and see the Help Text there.

    You may also choose a directory server on which to search for entries. You do that by highlighting the directory server line and using F4 ">" .

    If you wish to define new address books or directory servers go to the Main menu and choose Setup. You may then either choose to setup AddressBooks or Directory (among other things). It's possible that the Directory option will not be there if the Alpine you are using does not contain LDAP directory lookup functionality.

    <End of help on this topic> ===== h_abook_opened ===== THE ALPINE ADDRESS BOOK

    THE ALPINE ADDRESS BOOK

    ADDRESS BOOK COMMANDS

    
    Available  Commands -- Group 1         Available Commands -- Group 2   
    -------------------------------        ------------------------------  
    F1  Show Help Text                      F1  Show Help Text             
    F2  See commands in next group          F2  See commands in next group
    F3  Exit this screen                    F3  Quit Alpine                  
    F4  View/Edit selected entry            F4  Go to MAIN MENU screen     
    F5  Move to previous entry              F5  FOLDER LIST screen         
    F6  Move to next entry                  F6  Specify a folder to go to  
    F7  Previous page of address book       F7  MESSAGE INDEX screen        
    F8  Next page of address book           F8  Compose to entry using roles
    F9  Add new entry to address book       F9  Print address book         
    F10 Delete selected entry               F10 TakeAddr to another addrbook
    F11 Compose to selected entry           F11 Save or Export addrbook selections
    F12 Whereis (search address book)       F12 Forward entry by mail       
    
    Available Commands -- Group 3                                           
    ------------------------------                                          
    F3  Select                              F6  Zoom (or unZoom)            
    F5  Select Current                      F7  Apply Command to Selection  
    
    Address Book Navigation        General Alpine Commands
    -----------------------        -----------------------
     P  Prev Address                  ?  Display this help text
     N  Next Address                  O  Show all other available commands
     -  Previous page of address book M  Back to MAIN MENU
    Spc (space bar) Next page         Q  Quit Alpine
     W  WhereIs (search for word      C  Compose message to selected addr
         or name in address book)     #  Compose to addr using roles
     <  To List of Address Books if   L  FOLDER LIST screen
         more than one, else to MAIN  G  Specify a folder to go to
                                      I  MESSAGE INDEX screen
    
    Address Book Commands
    ----------------------------------------------------
     >  View/Update selected entry    D  Delete selected entries
     %  Print address book            S  Save or Export address book selections
     F  Forward entries by mail       @  Add new entry to address book
    
     ;  Select command                Z  Toggle Zoom Mode
     :  Select highlighted entry      A  Apply command to selected entries
    
    
    
    Note: The presence or absence of the final four commands above is controlled by the option "".

    Description of the Address Book Screen

    This screen lets you edit and manage entries in your address book. It also acts as a short-cut for composing messages to people in the address book. When, from this screen, you press F11"C" for ComposeTo, the message starts "pre-addressed" to whatever address book entry is currently selected. If you use the F8"#" for Role, you may first select a role to use in your composition.

    Alpine's address book helps you keep a list of addresses you send email to so you do not have to remember addresses that are often complex. Each entry in the address book has five fields, all of them optional. The three elements that are usually visible on the ADDRESS BOOK display, are:

    NICKNAME:
    A short easy-to-remember label to identify the entry. This is what you type in as you are addressing the message in the composer. If there is a matching entry in your address book(s), Alpine will extract the corresponding FullName and Address fields to generate the actual address for your message.

    FULLNAME:
    A longer field where you can put the full name of the person or organization. Usually the full names are put in last name first so they sort nicely in alphabetical order. Whatever you put as the name here will appear on the message when it is finally delivered. Examples:
    	   Garcia Marquez, Gabriel
    	   Henscheid, Eckhard
    	   Alpine-Info mailing list
    	   Library materials renewal requests
    	   Kim An-guk
    	   "George III, King of Great Britain, 1738-1820"
    
    (In the second-to-last example, no comma is used in the name so that the family name appears first in the address book and when the entry is used in the composer. In the last example, retaining the commas is intended; double-quotation marks surround the name to prevent the transposition of its parts when the entry is used in the composer.)

    ADDRESS:
    This is the actual email address itself. This must be a valid Internet address that conforms to the Internet message header standard, RFC-822. (See also Explanation of Address formats.)
    The two fields that aren't usually visible are:

    FCC:
    The name of the folder you would like a copy of any outgoing message to this address to be saved in. If this field is set, and this address is the first one in the message's To: header, then Alpine will use this folder name for the FCC in lieu of the normal FCC folder name.

    COMMENTS:
    This field contains arbitrary text for your convenience.

    Due to screen width limitations, these last two fields do not show up in the normal ADDRESS BOOK display. You may select the "View/Update" command to view or modify them. You may use the configuration variable "" to add these fields to your ADDRESS BOOK display, or to modify the format of the display.

    Sorting the Address book

    By default, address book entries are sorted alphabetically on the full name with distribution lists sorted to the end. Sorting can be changed by resetting the address book sort rule in the Alpine SETUP CONFIGURATION screen --assuming you have "write" permission for the address book file.

    Unlike the sorting of folders (which only changes presentation), sorting an address book actually changes the file as it is kept on the computer. For this reason you won't be able to sort a shared or system-wide address book.

    Adding New Entries

    The easiest way to add new entries to your address book is to use the "TakeAddr" command when viewing a message. This command allows you to take addresses from the header and body of the message and put them into your address book, without having to type them in.

    To manually add a new entry from within the address book screen, use the AddNew (F9"@") command. Use this command both for adding a simple alias and for adding a distribution list.

    Distribution Lists

    Address book entries can be simple cases of aliases (a single nickname is linked to a single email address) or distribution lists (a single nickname pointing at more than one email address). Each distribution list has a nickname, a full name and a list of addresses. The addresses may be actual addresses or they may be other nicknames in your address book. They may even refer to other distribution lists. There's really no difference between a simple alias and a distribution list, other than the number of addresses. Therefore, you can turn a simple alias with one address into a distribution list simply by adding more addresses. To add entries to an existing list or alias use the View/Update (F4">") command. Delete (F10"D") will delete a single address from the list if the cursor is placed on the address; it will delete the entire distribution list if the cursor is on the nickname/fullname line. View/Update may also be used to delete addresses from a list.

    Address field entries in distribution lists may take any one of three forms: a nickname existing in any of the defined address books, a normal address of the form "jsmith@art.example.com", or a complete fullname/address combination, e.g. "John Smith <jsmith@art.example.com>".

    Distribution lists in Alpine address books can only be used by the person or people who have access to that address book. They are not usually used to implement discussion groups, but can be used to facilitate small discussion groups if all the participants have access to the same shared address book.

    FCC and Comments

    As mentioned above, each entry in the address book also has two other optional fields, Fcc and Comments. The command to look at or change either of these is the same View/Update command used for all of the fields (F4">"). The Comments field is just for your own use. The Fcc field overrides the default Fcc if this address is the first one on the To line. The WhereIs command may be used to search for particular strings in the address book, including fields that are not visible (like Comment and Fcc by default).

    Aggregate Operations

    If the feature "" is turned on (the default), then the four commands "Select", "Select Current", "Zoom", and "Apply" are available. The two selection commands allow you to mark a set of address book entries as being selected. If you have more than one address book, the selections may be in more than one of those address books. The "Zoom" command will toggle between displaying only the selected entries and all of the entries. The "Apply" command allows you to apply one of the regular address book commands to all of the selected entries. Usually the address book commands apply to only the entry highlighted by the cursor. The "Apply" command works with the commands "ComposeTo", "Delete", "Print", "Save", "Forward", and "Role".

    Exporting and Forwarding Address book entries

    Under the save option, when you use the Export (F11"X") command, the currently highlighted address book entry is placed in a plain text file in your home directory (which, in the present configuration of your system, is "") or current working directory (which, at least for your current Alpine "session," is "") , depending on the "" configuration setting. If you have some entries selected and use the Apply (F7"A") Export command, all of the selected addresses will be placed in the text file.

    When you use the Forward (F12"F") command, the currently highlighted address book entry is placed in a special attachment and you are put into the composer. You can fill in some comments in the body of the message, if you'd like, and send it to somebody else who uses Alpine. The recipient may use the TakeAddr command on that message to insert the address book entry you sent in their own address book. If you have some entries selected and use the Apply Forward command all of the selected entries will be forwarded in a single message. You may use Apply (F7"A") Forward to forward a copy of an entire address book. The recipient must be using Alpine in order to receive this correctly. One way for the recipient to handle this might be to create an empty address book and then "Take" your forwarded address book entries into that empty address book.

    Multiple and/or Site-Wide Address books

    You may have more than one personal address book. In addition, there may be one or more global address books. This capability allows you to have multiple personal address books (some of which may be shared) and it also allows system administrators to implement site-wide address books that contain entries for users on multiple machines within the organization.

    Searching
    If you enter a nickname when composing a message, your personal address books will be searched through in order, and then the global address book(s) searched. If more than one address book has an entry for the nickname, Alpine uses the first one that it finds, so an entry in your personal address book would override a global address book entry. If after searching all the address books there is still no match, (Unix) Alpine then searches the local host password file on the assumption that you have entered a local user name rather than an address book nickname. You may change the search order of your address books with the F3$ Shuffle command, but global address books are always searched after personal address books.

    Tab completion
    If the feature is turned on (the default) then the Tab key may be used in the composer to complete partially typed nicknames in the To or Cc lines. You type the first few letters of a nickname and then press the Tab key. It there is only one nickname that matches it will be filled in by Alpine. If there is more than one the unambiguous part of the nicknames will be filled in. For example, if your address book or books contains only the two entries "barley" and "barbecue" beginning with the letters "ba", then if you type "ba" followed by a Tab character Alpine will fill in "bar" and stop. If you then type a second Tab character you will be presented with a list of matching nicknames to select from. Alternatively, you could type another "b" resulting in "barb" and then a Tab would fill in the entire "barbecue" entry.

    Defining
    You define multiple personal address books in the SETUP AddressBooks screen, which you may reach from the MAIN MENU. You may add as many as you like. Global address books are usually site-wide address books defined by the System administrator, but you may define global address books of your own just like you define personal address books.

    Creating and updating
    Personal address books are normally created empty and populated by explicit additions from within Alpine, e.g. via the TakeAddr command. Unlike personal address books, global address books may not be modified/updated from within Alpine; that is, they are Read-Only. Thus, global address books are created, populated and updated outside of Alpine. They might be hand-edited, generated by a program from another database, or by copying an existing address book. They might also be some other user's personal address book, and so be modified normally by that user but accessed Read-Only by you. See the Alpine Technical Notes document (included in the Alpine distribution) for more information on this.

    Accessing
    There are two different types of address books in Alpine. A local address book is stored in a regular file and the normal file access permissions apply. A remote address book is stored on an IMAP server in a special folder that contains only messages pertaining to that address book. The last message in the remote folder contains a copy of the address book data, and that data is copied to a local cache file in your home directory. From there it is accessed just like a local address book. The name of the cache file is kept track of in a special file called the , the name of which is stored in your Alpine configuration file the first time you use a remote address book. Just as local Alpine address books use a format that only Alpine understands, remote Alpine address books do the same and other mail reading programs are unlikely to be able to understand them.

    While global address books are explicitly intended to be shared, there is nothing to prevent you from sharing a personal address book with other Alpine users. This might be useful in the case of a small workgroup. However, it is recommended that updates to shared personal address books be done when other Alpine users are not accessing the address book. Alpine does not do any file-locking to manage concurrent updates to the addressbook, but it does check to see if the file has been modified before making any changes. Consequently, inadvertent concurrent updates will only cause other Alpine users to have to restart their address book operation, which will cause Alpine to reopen the updated file.

    Converting to Remote
    The easiest way to convert an existing local address book into a remote address book is to create an empty new remote personal address book by typing "A" to execute the "Add Pers Abook" command in the SETUP Addressbook screen. Make sure you add a personal address book, not a global address book. After you have added the empty remote address book, go into the screen for the address book you wish to copy and "Select" "All". This selects every entry in that address book. Then type the command "Apply Save". You will be asked for the address book to save to. You may use ^P and ^N to get to the new empty address book, then hit RETURN and the addresses will be copied. At this point you'll probably want to unselect all the entries in the local address book before proceeding. You do that with "Select" "unselect All".

    <End of help on this topic> ===== h_abook_select_addr ===== Addressbook Selection Explained

    SELECT ADDRESS

    Navigating the List of Messages               General Alpine Commands
    -------------------------------               -----------------------
    F5   Move to previous entry                   F1  Show this help text
    F6   Move to next entry
    F7   Show previous screen of address book
    F8   Show next screen of address book
    F12  WhereIs (search through address book)
    
    Address Selection Commands
    --------------------------
    F3   Exit the Address Select screen (without selecting an address)
    F4   Select the currently highlighted entry
    
    Navigating the List of Messages               General Alpine Commands
    -------------------------------               -----------------------
     P   Move to previous entry                    ?  Show this help text
     N   Move to next entry
     -   Show previous screen of address book
    Spc  (space bar) Show next screen of address book
     W   WhereIs (search through address book)
    
    Address Selection Commands
    --------------------------
     E   Exit the Address Select screen (without selecting an address)
     S   Select the currently highlighted entry
    

    This screen is designed to let you easily scan your address book(s) in order to select an entry for the message you are composing. You cannot edit your address book in any way at this time, for address book maintenance, select the address book command when not composing a message.

    If you are composing a message and know the nickname of the person/list you want, you can bypass this screen by simply typing in the nickname on the appropriate header line (To:, Cc:, etc.) Exiting this screen without selecting an entry does not cancel your message.

    FOR MORE INFORMATION on addressing see Explanation of Address formats, and the Address Book Screen's help text.

    <End of help on this topic> ===== h_abook_select_top ===== Addressbook Selection Navigation Explained

    NAVIGATING WHILE SELECTING ADDRESSES

    Navigating the List of Address Books       General Alpine Commands
    ------------------------------------       -----------------------
    F4   View the highlighted address book
    F5   Move to previous address book         F1  Show this help text
    F6   Move to next address book
    F7   Show previous screen of address books
    F8   Show next screen of address books
    F12  WhereIs (search through address books)
    
    Address Selection Commands
    --------------------------
    F3   Exit the Address Select screen (without selecting an address)
    F4   Select the currently selected entries (if using ListMode)
    F9   Change to ListMode
    
    Navigating the List of Address Books       General Alpine Commands
    ------------------------------------       -----------------------
     >   View the highlighted address book
     P   Move to previous address book         ?  Show this help text
     N   Move to next address book
     -   Show previous screen of address books
    Spc  (space bar) Show next screen of address books
     W   WhereIs (search through address books)
    
    Address Selection Commands
    --------------------------
     E   Exit the Address Select screen (without selecting an address)
     S   Select the currently selected entries (if using ListMode)
     L   Change to ListMode
    

    This screen is designed to let you easily scan your address book(s) in order to select entries for the message you are composing. You cannot edit your address book in any way at this time. For address book maintenance, select the address book command when not composing a message.

    If you are composing a message and know the nickname of the person/list you want, you can bypass this screen by simply typing in the nickname on the appropriate header line (To:, Cc:, etc.) Exiting this screen without selecting an entry does not cancel your message.

    The ListMode command will add a column at the left edge of the screen. You mark the entries that you wish to select with the "X" command. This allows you to choose more than one entry at a time.

    An alternative method of composing a message to entries in your address book(s) is to first use the "Select" command from the address book maintenance screen and then the "Apply" "ComposeTo" command to start the composer composing to the selected entries.

    FOR MORE INFORMATION on addressing see Explanation of Address formats, and the Address Book Screen's help text.

    <End of help on this topic> ===== h_abook_select_listmode ===== Address Listmode Selection from Composer Explained

    COMPOSER: SELECT ADDRESSES

    Navigating the List of Messages                 General Alpine Commands
    -------------------------------                 -----------------------
    F5   Move to previous entry                     F1  Show this help text
    F6   Move to next entry
    F7   Show previous screen of address book
    F8   Show next screen of address book
    F12  WhereIs (search through address book)
    
    Address Selection Commands
    --------------------------
    F3   Exit the Address Select screen (without selecting an address)
    F4   Select the currently highlighted entry
    F9   Change to ListMode
    
    Navigating the List of Messages                 General Alpine Commands
    -------------------------------                 -----------------------
     P   Move to previous entry                     ?  Show this help text
     N   Move to next entry
     -   Show previous screen of address book
    Spc  (space bar) Show next screen of address book
     W   WhereIs (search through address book)
    
    Address Selection Commands
    --------------------------
     E   Exit the Address Select screen (without selecting an address)
     S   Select the currently highlighted entry
     L   Change to ListMode
    

    This screen is designed to let you easily scan your address book(s) in order to select entries for the message you are composing. You cannot edit your address book in any way at this time, for address book maintenance, select the address book command when not composing a message.

    If you are composing a message and know the nickname of the person/list you want, you can bypass this screen by simply typing in the nickname on the appropriate header line (To:, Cc:, etc.) Exiting this screen without selecting an entry does not cancel your message.

    The ListMode command will add a column at the left edge of the screen. You mark the entries that you wish to select with the "X" command. This allows you to choose more than one entry at a time.

    An alternative method of composing a message to entries in your address book(s) is to first use the "Select" command from the address book maintenance screen and then the "Apply" "ComposeTo" command to start the composer composing to the selected entries.

    FOR MORE INFORMATION on addressing see Explanation of Address formats, and the Address Book Screen's help text.

    <End of help on this topic> ===== h_abook_select_checks ===== Address Selection from Composer Explained

    COMPOSER: SELECT ADDRESSES

    Navigating the List of Messages                 General Alpine Commands
    -------------------------------                 -----------------------
    F5   Move to previous entry                     F1  Show this help text
    F6   Move to next entry
    F7   Show previous screen of address book
    F8   Show next screen of address book
    F12  WhereIs (search through address book)
    
    Address Selection Commands
    --------------------------
    F3   Exit the Address Select screen (without selecting an address)
    F4   Select the currently highlighted entry
    F8   Either Sets or Unsets all entries in this address book
    F9   Set or Unset the highlighted entry
    
    Navigating the List of Messages                 General Alpine Commands
    -------------------------------                 -----------------------
     P   Move to previous entry                     ?  Show this help text
     N   Move to next entry
     -   Show previous screen of address book
    Spc  (space bar) Show next screen of address book
     W   WhereIs (search through address book)
    
    Address Selection Commands
    --------------------------
     E   Exit the Address Select screen (without selecting an address)
     S   Select the currently highlighted entry
     X   Set or Unset the highlighted entry
     A   Either Sets or Unsets all entries in this address book
    

    Mark the entries you wish to select with the "X Set/Unset" command. Type "S Select" to select all of the entries you have marked, just as if you had typed them in by hand.

    An alternative method of composing a message to entries in your address book(s) is to first use the "Select" command from the address book maintenance screen and then the "Apply" "ComposeTo" command to start the composer composing to the selected entries.

    FOR MORE INFORMATION on addressing see Explanation of Address formats, and the Address Book Screen's help text.

    <End of help on this topic> ===== h_abook_select_nicks_take ===== Take Address Nickname Selection Explained

    TAKEADDR: SELECT NICKNAME

    Navigating the List of Messages                 General Alpine Commands
    -------------------------------                 -----------------------
    F5   Move to previous entry                     F1  Show this help text
    F6   Move to next entry
    F7   Show previous screen of address book
    F8   Show next screen of address book
    F12  WhereIs (search through address book)
    
    Message Selection Commands
    --------------------------
    F3   Exit the Nickname Select screen (without selecting an address)
    F4   Select the currently highlighted entry
    
    Navigating the List of Messages                 General Alpine Commands
    -------------------------------                 -----------------------
     P   Move to previous entry                     ?  Show this help text
     N   Move to next entry
     -   Show previous screen of address book
    Spc  (space bar) Show next screen of address book
     W   WhereIs (search through address book)
    
    Message Selection Commands
    --------------------------
     E   Exit the Nickname Select screen (without selecting an address)
     S   Select the currently highlighted entry
    

    This screen is designed to let you modify or add to an existing address book entry. You have already selected the name(s) and address(es) through "Take Address". This screen simply lets you scan your address books and select the nickname to be changed/augmented. If you want to add a new entry, then you are in the wrong place-- Select "Exit" command.

    FOR MORE INFORMATION on addressing see Explanation of Address formats, and the Address Book Screen's help text.

    <End of help on this topic> ===== h_abook_select_nick ===== Nickname Selection Explained

    SELECT NICKNAME

    Navigating the List of Messages                 General Alpine Commands
    -------------------------------                 -----------------------
    F5   Move to previous entry                     F1  Show this help text
    F6   Move to next entry
    F7   Show previous screen of address book
    F8   Show next screen of address book
    F12  WhereIs (search through address book)
    
    Message Selection Commands
    --------------------------
    F3   Exit the Nickname Select screen (without selecting an address)
    F4   Select the currently highlighted entry
    
    Navigating the List of Messages                 General Alpine Commands
    -------------------------------                 -----------------------
     P   Move to previous entry                     ?  Show this help text
     N   Move to next entry
     -   Show previous screen of address book
    Spc  (space bar) Show next screen of address book
     W   WhereIs (search through address book)
    
    Message Selection Commands
    --------------------------
     E   Exit the Nickname Select screen (without selecting an address)
     S   Select the currently highlighted entry
    

    This screen is designed to let you look at the nicknames in your address books before choosing a new one.

    FOR MORE INFORMATION on addressing see Explanation of Address formats, and the Address Book Screen's help text.

    <End of help on this topic> ===== h_takeaddr_screen ===== Take Address Screen Explained

    TAKE ADDRESS COMMANDS

    Navigating the List of Addresses       Address Selection Commands        
    --------------------------------       --------------------------        
     F5  Move to previous entry            F3  Exit without taking address
     F6  Move to next entry                F4  Take current address(es)
     F7  Show previous page of address list
     F8  Show next page of address list
     F2  WhereIs (search list)
    			       --------------
    Mode Toggle            F9  Set/Unset current address
    -----------            F10 Set all
     F12 Toggle between List and single mode       F11 Unset all
    
    Navigating the List of Addresses       Address Selection Commands
    --------------------------------       --------------------------
     P  Move to previous entry              <  Exit without taking address
     N  Move to next entry                  T  Take address
     -  Show previous page of address list
    Spc (space bar) Show next page of address list
     W  WhereIs (search list)              List Mode
    				       ---------
    Single Mode                             X  Set/Unset current address
    -----------                             A  Set all addresses
     L  Switch to list mode                 U  Unset all addresses
    					S  Switch to single mode
    

    Description of the Take Address Screen

    This screen is designed to let you select one or more address/name combinations from the current message and put them into your address book. The cursor is initially placed on the line with the message author. Other lines include the names of people and/or mailing lists who also received the message. Other people "involved" in the message (e.g. the person named as Reply-To:) are also listed here.

    The simple case is adding a new, single entry into your address book. To do this, simply highlight the correct line and press F4. "T". To create a new list or add to an existing list, switch the screen display into List Mode by pressing F12. "L". In List Mode, you select the group of addresses you wish to manipulate by marking them with an "X". The Set/Unset (F9) ("X") command will turn the "X" on for the highlighted address if it was off or turn it off if it was previously on. The SetAll command will select all of the addresses, and the UnSetAll command will turn off all the selections. Once you've gotten the selection the way you want it, you may create a new list by pressing F4. "T".

    In both the simple and list cases, after choosing to take the address, you will be asked for the nickname of the entry. Typing in a new name creates the new entry/list. Entering an existing nickname will replace the entry (simple case) or add to the list (list case). Alternatively, you can press Ctrl-T at the nickname prompt and select an existing nickname from your address book.

    You will normally start in Single Mode, unless you used the Apply command to startup the TakeAddr screen, in which case you will start in List Mode. You may switch between the two modes at any time. If you've already selected several addresses in List Mode, those will be remembered when you switch to Single Mode and then back to List Mode. The set of addresses that are pre-selected when you start in List Mode are the From addresses of all of the messages you are operating on. You may, of course, easily erase those selections with the UnSetAll command.

    If you have more than one writable address book, you will be prompted for the name of the address book you wish to add the new entry to before anything else. You can use ^N and ^P to choose among the defined address books, or type in the address book name.

    FOR MORE INFORMATION on addressing see Explanation of Address formats, and the Address Book Screen's help text.

    <End of help on this topic> ===== h_takeexport_screen ===== Take Export Screen Explained

    TAKE EXPORT COMMANDS

    Navigating the List of Addresses       Address Selection Commands        
    --------------------------------       --------------------------        
     F5  Move to previous entry            F3  Exit without taking address
     F6  Move to next entry                F4  Take current address(es)
     F7  Show previous page of address list
     F8  Show next page of address list
     F2  WhereIs (search list)
    			       --------------
    Mode Toggle            F9  Set/Unset current address
    -----------            F10 Set all
     F12 Toggle between List and single mode       F11 Unset all
    
    Navigating the List of Addresses       Address Selection Commands
    --------------------------------       --------------------------
     P  Move to previous entry              <  Exit without taking address
     N  Move to next entry                  T  Take address
     -  Show previous page of address list
    Spc (space bar) Show next page of address list
     W  WhereIs (search list)              List Mode
    				       ---------
    Single Mode                             X  Set/Unset current address
    -----------                             A  Set all addresses
     L  Switch to list mode                 U  Unset all addresses
    					S  Switch to single mode
    

    Description of the Take Export Screen

    This screen is designed to let you select one or more addresses from the current message and put them into a file. Only the user@domain_name part of each address is put into the file.

    To put a single entry into a file simply highlight the correct line and press F4. "T". To put more than one entry into a file switch the screen display into List Mode by pressing F12. "L". In List Mode, you select the group of addresses you wish to manipulate by marking them with an "X". The Set/Unset (F9) ("X") command will turn the "X" on for the highlighted address if it was off or turn it off if it was previously on. The SetAll command will select all of the addresses, and the UnSetAll command will turn off all the selections. Once you've gotten the selection the way you want it, you may put the addresses in a file by typing F4. "T".

    You will be asked for the name of a file to put the addresses in. If the file already exists, you will be asked whether you want to Overwrite (replace) the contents of the file or Append to the contents of the file.

    <End of help on this topic> ============= h_abook_view ======================== Address Book View Explained This function allows you to view the contents of an address book entry. You can only view one entry at a time.

    Help (F1) (?)
    Display this help text.
    Abook (F3) (<)
    Go back to index of address book entries.
    Update (F4) (U)
    Update (modify) this entry.
    ComposeTo (F5) (C)
    Compose a message to the address(es) in this entry.
    Role (F6) (#)
    Compose a message to the address(es) in this entry using roles.
    Prev Page (F7) (-)
    Show the previous page of the current entry.
    Next Page (F8) (Space)
    Show the next page of the current entry.
    Print (F9) (%)
    Print the current entry. You can select the printer or the print command via the "Setup" command on the MAIN MENU.
    WhereIs (F10) (W)
    Search the entry for a string of letters. If it is found, move to it. The string can be one word or a phrase. If there are multiple occurrences, the cursor moves to the first occurrence beyond the current cursor position.
    Fwd Email (F11) (F)
    Begin composition of a new mail message with the displayed text already inserted in the message body.

    <End of help on this topic> ============= h_ldap_view ======================== LDAP Response View Explained This function allows you to view the contents of a directory entry. You can only view one entry at a time.

    Help (F1) (?)
    Display this help text.
    Results Index (F3) (<)
    Go back to index of search results.
    ComposeTo (F5) (C)
    Compose a message to the address(es) in this entry.
    Role (F6) (#)
    Compose a message to the address(es) in this entry using roles.
    Prev Page (F7) (-)
    Show the previous page of the current entry.
    Next Page (F8) (Space)
    Show the next page of the current entry.
    Print (F9) (%)
    Print the current entry on paper. You can select the printer or the print command via the "Setup" command on the MAIN MENU.
    WhereIs (F10) (W)
    Search the entry for a string of letters. If it is found, move to it. The string can be one word or a phrase. If there are multiple occurrences, the cursor moves to the first occurrence beyond the current cursor position.
    Fwd Email (F11) (F)
    Begin composition of a new mail message with the displayed text already inserted in the message body.
    Save (F12) (S)
    Save the displayed entry to one of your address books or export it to a file.

    <End of help on this topic> ===== h_attachment_screen ===== Attachment Index Screen Explained The "ATTACHMENT INDEX" displays a list of the current message's attachments, and allows various operations on them. The first attachment is usually the message text, but does not include the header portion of the message.

    Available commands include:

    Help
    Show this help text.
    Msg #num
    Leave this screen without displaying or saving any attachments.
    View
    View the currently selected attachment.
    External
    Passes a TEXT/HTML message to an external browser for its display.
    Prev Attach
    Move to previous attachment.
    Next Attach
    Move to next attachment.
    Prev Page
    Previous page of the listed attachments.
    Next Page
    Next page of the listed attachments.
    Delete
    Mark the currently selected attachment for Deletion. This does not modify the current message by deleting the attachment from it, but instead the delete flag only has an effect when saving the message to a folder. Attachments marked for deletion are not copied to the destination folder along with the rest of the message when it is saved. It is ok for the destination folder to be the same as the current folder. In addition, the delete mark only applies to this Alpine session.
    Undelete
    Turn off the Delete flag for the selected attachment.
    Save
    Save the selected attachment to a file. If the attachment is of type "RFC822/Message", then the attachment will be saved to the specified mail folder.
    Export
    If the attachment is of type "RFC822/Message", then "Export" is used to copy the message to a file in the same way this command works on messages in the MESSAGE INDEX and MESSAGE TEXT screens.
    Pipe
    Pipe the attachment contents into a UNIX command (if enabled). A description of the Pipe sub-commands is here.
    WhereIs
    Find a matching string in the attachment list.
    AboutAttch
    Examine various aspects of the selected attachment.
    Print
    Print the selected attachment.
    Forward
    Forward the selected attachment as an attachment.

    All attachments can be saved or piped into a UNIX command, but some may not be readily displayed by either Alpine or an external tool. In such cases, the reason why the message cannot be displayed is displayed on Alpine's message line.

    <End of help on this topic> ============= h_mail_text_att_view ======================== Attachment View Screen Explained This function allows you to view the contents of a text attachment. You can only view one attachment at a time.

    Available commands include:

    Help
    Display this help text
    AttchIndex
    Leave viewer and return to the "ATTACHMENT INDEX" screen
    Prev Page
    Show the previous page of the current attachment.
    Next Page
    Show the next page of the current attachment by pressing the space bar.
    Delete
    Mark the viewed attachment for Deletion. The delete flag only has affect when saving the message to a folder. Attachments marked for deletion are excluded from the message when it is saved. In addition, the delete mark only applies to this Alpine session.
    Undelete
    Turn off the Delete flag for the selected attachment.
    Save
    Copy the current attachment to a file. If you just enter a filename, the attachment will be saved with that name in your home directory (which, in the present configuration of your system, is "") or current working directory (which, at least for your current Alpine "session," is "") , depending on the "" configuration setting. You may enter the full path and filename to save it in another directory instead.
    Export
    If the attachment is of type "RFC822/Message", then "Export" is used to copy the message to a file in the same way this command works on messages in the MESSAGE INDEX and MESSAGE TEXT screens. (If you have any defined, they may affect the contents of the exported file.)
    Pipe
    Pipe the attachment contents into a UNIX command (if enabled)
    WhereIs
    Search the attachment for a string of letters. If it is found, move to it. The string can be one word or a phrase. If there are multiple occurrences, the cursor moves to the first occurrence beyond the current cursor position.
    Print
    Print the current attachment on paper. You can select the printer or the print command via the "Setup" command on the MAIN MENU.
    Forward
    Forward the selected attachment as an attachment.

    <End of help on this topic> ============= h_journal ============== Recent Message Journal Explained The following commands are available on this screen:

    Help
    Show this help text
    Exit
    Exit Viewer, and go back to mail processing
    Prev Page
    Show the previous page text
    Next Page
    Show the next page of text by pressing the space bar
    Print
    Print the displayed text on paper. You can select the printer or the print command via the "Setup" command on the MAIN MENU.
    Fwd Email
    Begin composition of a new mail message with the displayed text already inserted in the message body.
    Save
    Copy the displayed text to a file. If you just enter a filename, the text will be saved with that name in your home directory (which, in the present configuration of your system, is "") or current working directory (which, at least for your current Alpine "session," is "") , depending on the "" configuration setting. You may enter the full path and filename to save it in another directory instead.
    WhereIs
    Search the text for a string of letters. If it is found, move to it. The string can be one word or a phrase. If there are multiple occurrences, the cursor moves to the first occurrence beyond the current cursor position.

    <End of help on this topic> ============= h_debugjournal ============== Debug Journal Explained The following commands are available on this screen:

    Help
    Show this help text
    Exit
    Exit Viewer, and go back to mail processing
    Timestamps
    Turn on or off timestamps.
    DebugView
    Set the level of debugging you want to see. The level may be any number in the range 0-9. Higher numbers show more debugging detail. Note that the debugging information has already been captured. This setting just causes the debugging information that you see to be filtered. If you set this to the number "5" then you will be shown all of the debugging information at levels 5 and below. It's actually a bit more complicated than that. A fixed amount of memory is used to store the debug information. Since the amount of memory used is limited the debugging information has to be trimmed back when it gets too large.
    Prev Page
    Show the previous page text
    Next Page
    Show the next page of text by pressing the space bar
    Print
    Print the displayed text on paper. You can select the printer or the print command via the "Setup" command on the MAIN MENU.
    Fwd Email
    Begin composition of a new mail message with the displayed text already inserted in the message body.
    Save
    Copy the displayed text to a file. If you just enter a filename, the text will be saved with that name in your home directory (which, in the present configuration of your system, is "") or current working directory (which, at least for your current Alpine "session," is "") , depending on the "" configuration setting. You may enter the full path and filename to save it in another directory instead.
    WhereIs
    Search the text for a string of letters. If it is found, move to it. The string can be one word or a phrase. If there are multiple occurrences, the cursor moves to the first occurrence beyond the current cursor position.

    <End of help on this topic> ============= h_simple_text_view ============== Simple Text View Screen Explained The following commands are available on this screen:

    Help
    Show this help text
    Exit
    Exit Viewer, and go back to mail processing
    Prev Page
    Show the previous page text
    Next Page
    Show the next page of text by pressing the space bar
    Print
    Print the displayed text on paper. You can select the printer or the print command via the "Setup" command on the MAIN MENU.
    Fwd Email
    Begin composition of a new mail message with the displayed text already inserted in the message body.
    Save
    Copy the displayed text to a file. If you just enter a filename, the attachment will be saved with that name in your home directory (which, in the present configuration of your system, is "") or current working directory (which, at least for your current Alpine "session," is "") , depending on the "" configuration setting. You may enter the full path and filename to save it in another directory instead.
    WhereIs
    Search the attachment for a string of letters. If it is found, move to it. The string can be one word or a phrase. If there are multiple occurrences, the cursor moves to the first occurrence beyond the current cursor position.

    <End of help on this topic> ======= h_pine_for_windows ======== GETTING HELP IN PC-ALPINE

    Getting Help In PC-Alpine

    PC-Alpine offers general and specific help text. From the MAIN MENU, you will find an overview in the MAIN MENU HELP and the Release Notes. On all screens, specific help for that screen is available from the toolbar Help menu or with the "F1" key. "?" or "Ctrl-G" keys. "Ctrl-G" is used where typing "?" would be mistaken as entering text.

    Although this version of Alpine is for Microsoft Windows, it is not considered a full "Graphical User Interface" application. Yet, many of the controls that Windows users are accustomed to seeing, such as scrollbars and toolbars, are available.

    PC-Alpine offers considerable mouse support. You can view what is "click-able" by dragging your mouse over any screen; when the arrow cursor changes into a hand, you found something. Mouse-click possibilities include navigating between screens and folders and double-clicking on hyperlinks to open your Web browser. Context-sensitive pop-up menus appear with a right-click on your PC-Alpine screen. Examples of right-click options include "copy" after selecting text to copy and "View in New Window" when you click on a particular message in the Message Index. The menu choices available to you will vary based upon what screen is open, where on the screen your cursor is located, and even what action you have already taken.

    <End of help on this topic> ===== h_composer ===== COMPOSER COMMANDS

    COMPOSER COMMANDS

    CURSOR MOTION KEYS                     |EDITING KEYS
      ^B (Left Arrow)   Back character     | ^D       Delete current character
      ^F (Right Arrow)  Forward character  | ^H (DEL) Delete previous character
      ^P (Up Arrow)     Previous line      | ^^       Set a mark
      ^N (Down Arrow)   Next line          | F9^K       Cut marked text or
      ^A                Beginning of line  |           delete current line
      ^E                End of line        | F10^U       Paste text, undelete lines
      ^Y                Previous page      |           cut with ^K, or unjustify
      ^V                Next page          |-------------------------------------
      ^@ (Ctrl-SPACE)   Next word          |SCREEN/COMPOSITION COMMANDS
    ---------------------------------------| F6^W       Whereis (search for string)
    MESSAGE COMMANDS | GENERAL COMMANDS    | F12^T       Spell checker
     F3^C   Cancel     |  F1^G    Get help     | F4^J       Justify paragraph
     F11^O   Postpone   |  ^Z    Suspend      | ^L       Redraw Screen
     F2^X   Send       |  F6^_    Alt. editor  | F5^R       Read in a file

    NOTE:

    1. For help on a particular command, highlight the bold text associated with it above and hit Return.
    2. The availability of certain commands is determined by Alpine configuration files and system capabilities. At some sites, certain commands may not be available due to security or support concerns.
    3. Alpine does not use the following keys: Ctrl-S, Ctrl-Q, Ctrl-], Ctrl-\, ESC.
    4. For special handling of Ctrl-S and Ctrl-Q see special comments regarding "XOFF/XON".

    HINT: To move rapidly to the bottom of a message you are composing, enter ^W^V. To go to the top, ^W^Y. These can be used in conjunction with the Mark and Cut commands to eliminate large amounts of unwanted text in a Reply.

    Description of Composer

    Alpine has a built-in editing program that allows you to compose messages without having to leave Alpine. The editor is designed to be very simple to use so that you can get started writing email right away.

    Messages are usually just text, about 80 columns wide. Using upper and lower case is encouraged. On some systems the size limit of the message is about 100,000 characters, which is about 2,000 lines. You can include punctuation and special characters found on most keyboards, but you can't include characters with diacritical marks and certain special symbols.

    Text automatically wraps as you type past the end of a line so you do not have to hit return. Using the "Justify" command, you can also reformat text explicitly, perhaps after you have deleted some text.

    You can include other text files with the "Read File" command, which will prompt you for the name of the file to insert at the current cursor position.

    <End of help on this topic> ====== h_composer_browse ===== BROWSER

    BROWSER

    This screen lets you browse your files and directories. To go to another directory (identified by "(dir)"), move the cursor to it and choose "Select" (the default choice on the menu); or choose "Goto" and enter the name of the directory. In Unix Alpine, you may use "~" to refer to your home directory or "~user" to refer to another's home directory.

    To select a file, move the cursor to it and choose "Select" (the default choice on the menu).

    • Note if you are currently using the BROWSER for choosing a file for inclusion in the message body (that is, you chose "Read File" with the cursor under the "----- Message Text -----" line while composing, then "To Files"): Since the file selected will become part of the message text, it must be in a format suitable for that (Alpine does not check!), such as a plain text file. Files of other formats (for example, graphics, databases, software programs) should be attached to the message instead -- by moving the cursor in the COMPOSE MESSAGE screen into the message header area and pressing F6. Ctrl-J.

    • Note if you are currently using the BROWSER for saving a message attachment, or exporting a message, to a file: You can use the Add command to provide the name for a new file to save/export to, and then select that name to use it for the save/export operation. Back at the prompt "EXPORT: Copy message to file in ..." hit Enter, then choose either Overwrite or Append (it doesn't make a difference, since the file is so far empty). Note: If you cancel the operation at that point, the file created with the Add command will remain 0 bytes in size.

    <End of help on this topic> ====== h_composer_ins ===== INSERT TEXT FILE

    INSERT TEXT FILE

    Use this function to insert a text file. The file name given can be an absolute file path name for your system (for example, "H:\SIGFILES\FULLINFO.TXT"), a file with a relative pathname, or simply a file name without drive or directory specification. (for example, "/tmp/exported.earlier" on Unix hosts), a file in your home directory, or a file path relative to your home directory. In Unix Alpine, you may use "~" to refer to your home directory or "~user" to refer to another account's home directory.

    No wild card characters may be used. The file must reside on the system running Alpine.

    If the "" feature is set, names are relative to your current working directory (which, at least for your current Alpine "session," is "") rather than your home directory (which, in the present configuration of your system, is "") .

    <End of help on this topic> ====== h_composer_ins_m ===== INSERT MESSAGE

    INSERT MESSAGE

    Type in the number of a message in the currently open folder to insert it into your message.

    <End of help on this topic> ====== h_composer_search ===== Explanation of Composer Whereis Command

    Help For Whereis Command

    Whereis is used to search the message for a word or part of a word. When searching in the composer, only the message part of your mail is searched, and the cursor is put on the first occurrence appearing after the location of the cursor. The search will wrap to the beginning of the message when it no longer finds matches in the remainder of the message. To search for the same string a second time, press "F6" "^W" to begin search and then just press RETURN to accept the previous search string shown in square brackets rather than entering a new search string.

    The "Search" prompt has several sub-command available:

    Get Help
    Takes you to this help page.
    Cancel
    Cancels the prompt. No search takes place.
    First Line
    Takes you back to the composer with the cursor on the first character of the first line of text.
    Last Line
    Takes you back to the composer with the cursor on the last character of the last line of text.
    Replace (Optional)
    This sub-command is enabled by the "" feature (which is on by default); see its help screen for details on how replacing works.
    <End of help on this topic> ====== h_sigedit_search ===== Explanation of Whereis Command

    Help For Whereis Command

    Whereis is used to search for a word or part of a word. When searching the cursor is put on the first occurrence appearing after the location of the cursor. The search will wrap to the beginning of the signature when it no longer finds matches in the remainder of the signature. To search for the same string a second time, press "F6" "^W" to begin search and then just press RETURN to accept the previous search string shown in square brackets rather than entering a new search string.

    The "Search" prompt has several sub-command available:

    Get Help
    Takes you to this help page.
    Cancel
    Cancels the prompt. No search takes place.
    First Line
    Takes you back to the composer with the cursor on the first character of the first line of text.
    Last Line
    Takes you back to the composer with the cursor on the last character of the last line of text.
    Replace (Optional)
    This sub-command is enabled by the "" feature (which is on by default); see its help screen for details on how replacing works.
    <End of help on this topic> ======= h_composer_to ==== THE MESSAGE COMPOSER'S TO FIELD

    THE MESSAGE COMPOSER'S TO FIELD

    The "To:" field

    The address you enter here must be a valid email address that is reachable from your site.

    Email Address Format

    You may enter a full name and email address, a local (meaning, on the same host as the one you are running Alpine on) username that Alpine will complete for you, the nickname of someone in a Alpine Address Book, or a local mail alias defined by your system administrator. When you move the cursor out of this field, the nicknames will be expanded to the addresses in your address book, and the local usernames will be expanded to include the persons' actual names. You may enter as many addresses as you wish, but they must be separated by commas. You can move around this and other header fields with the arrow keys and use many of the usual composer editing keys.

    MESSAGE HEADER COMMANDS

    CURSOR MOTION KEYS----------------------|EDITING KEYS-------------------------
    ^B (Left Arrow)    Back character       | ^D       Delete current character
    ^F (Right Arrow)   Forward character    | ^H (DEL) Delete previous character
    ^P (Up Arrow)      Previous line        |
    ^N (Down Arrow)    Next line            | F9       Cut marked text or
    ^A                 Beginning of line    |            delete current line
    ^E                 End of line          | F10      Undelete line(s)
    F7                 Previous page        | ^W       Whereis (search text)
    F8                 Next page            |-------------------------------------
    ^@ (Ctrl-SPACE)    Next word            |SCREEN/COMPOSITION COMMANDS
    ----------------------------------------|
    MESSAGE COMMANDS  | GENERAL COMMANDS    | F12    To Addressbook/Browser
    F3   Cancel       |  F1    Get help     | F4     Attach File
    F11  Postpone     |  ^Z    Suspend      | ^L     Redraw Screen
    F2   Send         |                     | F5     Rich Headers
    CURSOR MOTION KEYS----------------------|EDITING KEYS-------------------------
    ^B (Left Arrow)    Back character       | ^D       Delete current character
    ^F (Right Arrow)   Forward character    | ^H (DEL) Delete previous character
    ^P (Up Arrow)      Previous line        | 
    ^N (Down Arrow)    Next line            | ^K       Cut marked text or
    ^A                 Beginning of line    |            delete current line
    ^E                 End of line          | ^U       Undelete line(s)
    ^Y                 Previous page        |
    ^V                 Next page            |-------------------------------------
    ^@ (Ctrl-SPACE)    Next word            |SCREEN/COMPOSITION COMMANDS
    ----------------------------------------| ^R     Rich Headers
    MESSAGE COMMANDS  | GENERAL COMMANDS    | ^T     To Addressbook/Browser
    ^C   Cancel       |  ^G    Get help     | ^J     Attach File
    ^O   Postpone     |  ^Z    Suspend      | ^L     Redraw Screen
    ^X   Send         |                     | TAB    Address Completion

    NOTE:

    1. For help on a particular command, highlight the bold text associated with it above and hit Return.
    2. The availability of certain commands is determined by Alpine configuration files and system capabilities. At some sites, certain commands may not be available due to security or support concerns.

    <End of help on this topic> ======= h_composer_cc ==== THE MESSAGE COMPOSER'S CC FIELD

    THE MESSAGE COMPOSER'S CC FIELD

    The Cc: field is just like the To: field, except it is used for addressees that you wish to send a "carbon" copy to. That is, the message is not directly meant directly "for" these recipients, but you wanted them to see the message. The only difference the recipients see is that their name is in the Cc: field, rather than the To: field.

    For help with Cc: field editing commands, check the Help for the To: header.

    <End of help on this topic> ======= h_composer_bcc ==== THE MESSAGE COMPOSER'S BCC FIELD

    THE MESSAGE COMPOSER'S BCC FIELD

    The "Bcc:" (Blind carbon copy) header is used when you wish to send a copy of the message to one or more people whose addresses you do not wish disclosed, either to reduce clutter or for confidentiality.

    The format of the Bcc: field is just the same as the To: and Cc: fields in the way the addresses are entered. The recipients listed here will receive a copy of the message, but --assuming your site's mail transport software is properly configured-- their addresses will not show up in the headers of the message, as delivered to all of the recipients. The To: and Cc: recipients will not know a copy was sent to the Bcc: recipients.

    Note: if there is no To: or Cc: or Lcc: address in the message, Alpine will automatically generate and place in the To: field a pseudo-address of "undisclosed-recipients: ;" or whatever string has been specified in the "" variable.

    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. In addition, it may be less disconcerting to Bcc: recipients to see something in the To: field.

    You can manipulate what text ends up on the (originally) empty To: field. Just remember to put a colon and semicolon at the end of the field, which is a special notation denoting that it is not a real address.

    For information on message header editing commands, check the Help for the To: header.

    <End of help on this topic> ======= h_composer_lcc ==== THE MESSAGE COMPOSER'S LCC FIELD

    THE MESSAGE COMPOSER'S LCC FIELD

    The "Lcc:" (List carbon copy) header is intended to be used when you wish to send a message to a list of people but avoid having all of their addresses visible, in order to reduce clutter when the message is received.

    It is similar to the "Bcc" (Blind carbon copy) header in that individual addressees are hidden, but Lcc is designed to work specifically with distribution lists you have created in your Alpine Address Book. Placing the nickname of the list on the Lcc line will result in the full name of your Alpine Address Book list being placed on the To: line of the message, using a special notation that distinguishes it from a real address. You must leave the To: line blank for your list name to appear there.

    For example, if you have this list entered in your Address Book:

    
    	largo         Key Largo List       DISTRIBUTION LIST:
    					   bogie@mgm.com
    					   lauren@mgm.com
    					   walter@mgm.com
    and you enter "largo" on the Lcc: line while composing a message, the result is:
    
    	To      : Key Largo List: ;
    	Cc      :
    	Bcc     :
    	Fcc     : sent-mail
    	Lcc     : Key Largo List <bogie@mgm.com>,
    		  lauren@mgm.com,
    		  walter@mgm.com
    	Subject :
    Each recipient listed on the Lcc: line receives a copy of the message without their address being visible (as though they were listed on the Bcc: line). The colon-semicolon notation used to put the full-name of the list on the To: line is a special address format that doesn't specify any actual addressees, but does give some information to the recipients of the message.

    Note: if after entering an LCC, you delete the list name that is placed on the To: line, then recipients will see

           To: undisclosed-recipients: ;
    (or whatever string is defined in the "" variable) just as in the BCC case.

    For help with Lcc: field editing commands, check the Help for the To: header.

    <End of help on this topic> ======= h_composer_from ======= THE MESSAGE COMPOSER'S FROM FIELD

    THE MESSAGE COMPOSER'S FROM FIELD

    This header carries your return address. It is the address toward which replies (and often, future unrelated correspondence) will be directed, unless you have defined an optional "Reply-To:" header in the SETUP CONFIGURATION screen. Make sure this address is correct.

    For help with message header editing commands, check the Help for the To: header.

    <End of help on this topic> ======= h_composer_reply_to ======= THE MESSAGE COMPOSER'S REPLY-TO FIELD

    THE MESSAGE COMPOSER'S REPLY-TO FIELD

    Most people should not need this header. The Reply-To: header is used in cases where you would like replies to your messages to be directed to an address other than your normal "From:" address. This is atypical, but can happen when you use multiple machines and do not have the same account name on each one, or when you wish to direct certain replies to accounts or folders designated for specific classes of correspondence.

    For help with message header editing commands, check the Help for the To: header.

    <End of help on this topic> ======= h_composer_custom_addr ==== CUSTOMIZED HEADER FIELD

    CUSTOMIZED HEADER FIELD

    This is a customized header, i.e. not one that is part of Alpine's normal set of Compose headers.

    For help with message header editing commands, check the Help for the To: header.

    <End of help on this topic> ======= h_composer_custom_free ==== CUSTOMIZED HEADER FIELD

    CUSTOMIZED HEADER FIELD

    This is a customized header, i.e. not one that is part of Alpine's normal set of Compose headers.

    This field consists of arbitrary text.

    For help with message header editing commands, check the Help for the To: header.

    <End of help on this topic> ====== h_composer_news ===== THE MESSAGE COMPOSER'S NEWSGRPS LINE

    THE MESSAGE COMPOSER'S NEWSGRPS LINE

    Use the newsgroups line to specify any and all USENET newsgroups to which your message should be posted. When composing a message from scratch, this line may be hidden. If so, just press the rich headers command (F5^R) to make it visible.

    Be aware that when you post to a newsgroup thousands of people will be reading your message. Also, you or your system manager must have defined an "" in your Alpine configuration in order for you to be able to post.

    For help with message header editing commands, check the Help for the To: header.

    <End of help on this topic> ======= h_composer_fcc ====

    THE MESSAGE COMPOSER'S FCC FIELD

    THE MESSAGE COMPOSER'S FCC FIELD

    The FCC (File Carbon Copy) specifies the folder used to keep a copy of each outgoing message. The default value can be configured with the "" and "" options. You can change or remove the file carbon copy on any message you send by editing the FCC header.

    You may type ^T to get a list of all your folders and select one to use as the FCC for this message.

    For help with message header editing commands, check the Help for the To: header.

    <End of help on this topic> ======= h_composer_subject ====

    THE MESSAGE COMPOSER'S SUBJECT FIELD

    THE MESSAGE COMPOSER'S SUBJECT FIELD

    The subject header provides a place to enter a few words that summarize the topic of the message you are sending. You may leave this line blank, but it is considered a courtesy to use a meaningful subject.

    For help with message header editing commands, check the Help for the To: header.

    <End of help on this topic> ======= h_composer_attachment ==== THE MESSAGE COMPOSER'S ATTCHMNT FIELD

    THE MESSAGE COMPOSER'S ATTCHMNT FIELD

    The "Attchmnt:" field is where you specify what file or files you'd like attached to the message you are composing. Those files must reside on the machine running Alpine. If your file is on a PC or Mac and you run Alpine with an account on a Unix machine, you'll have to transfer it before attaching it. Contact local computer support people for assistance with transferring.

    The file name given can be an absolute file path name for your system (for example, "H:\SIGFILES\FULLINFO.TXT"), a file with a relative pathname, or simply a file name without drive or directory specification. (for example, "/tmp/exported.earlier" on Unix hosts), a file in your home directory, or a file path relative to your home directory. In Unix Alpine, you may use "~" to refer to your home directory or "~user" to refer to another account's home directory.

    No wild card characters may be used.

    If the "" feature is set, names are relative to your current working directory (which, at least for your current Alpine "session," is "") rather than your home directory (which, in the present configuration of your system, is "") .

    Alpine uses MIME encoding for attachments, so binaries and files of any length can safely be delivered to any MIME-capable mail reading program. If you send an attachment to someone who does not have a MIME-capable mail reading program yet, then the main message text will be readable, but attachments (even attachments that are just plain text) are not.

    Typing the filename on the Attchmnt: line achieves the same result as using the F6 Ctrl-J command.

    If you Forward a message with attachments, you may delete them from your Forwarded message by editing the Attchmnt header line.

    For help with message header editing commands, check the Help for the To: header.

    <End of help on this topic> ======= h_composer_ctrl_j ==== COMPOSER ATTACH After the F6 Ctrl-J command: At the "File to attach:" prompt, enter the name of the existing file to attach to your message. When the feature "" is set you need only enter the beginning of the filename (enough of it to uniquely identify the file) and press TAB to complete it. Or, press ^T to use the BROWSER screen for selecting the file.

    For more information on attaching files, see the help screen for the composer's Attchmnt: field, which is normally hidden, but can be revealed using the F5 Ctrl-R command with the cursor positioned above the "----- Message Text -----" line in the COMPOSE MESSAGE screen.

    <End of help on this topic> ======= h_edit_nav_cmds ========= Composer Editing Commands Explained

    EDITING and NAVIGATION COMMANDS

    CURSOR MOTION KEYS----------------------|EDITING KEYS-------------------------
    ^B (Left Arrow)    Back character       | ^D       Delete current character
    ^F (Right Arrow)   Forward character    | ^H (DEL) Delete previous character
    ^P (Up Arrow)      Previous line        |
    ^N (Down Arrow)    Next line            | F9       Cut marked text or
    ^A                 Beginning of line    |            delete current line
    ^E                 End of line          | F10      Undelete line(s)
    F7                 Previous page        |
    F8                 Next page            |-------------------------------------
    ^@ (Ctrl-SPACE)    Next word            | MISCELLANEOUS COMMANDS
    ----------------------------------------|
    EXIT COMMANDS    |  GENERAL COMMANDS    | F12    To Addressbook
    F3   Cancel      |   F1    Get help     | F12    RichView (expand lists)
    F2  eXit/save    |   ^Z    Suspend      | ^L     Redraw Screen
    
    CURSOR MOTION KEYS----------------------|EDITING KEYS-------------------------
    ^B (Left Arrow)    Back character       | ^D       Delete current character
    ^F (Right Arrow)   Forward character    | ^H (DEL) Delete previous character
    ^P (Up Arrow)      Previous line        |
    ^N (Down Arrow)    Next line            | ^K       Cut marked text or
    ^A                 Beginning of line    |            delete current line
    ^E                 End of line          | ^U       Undelete line(s)
    ^Y                 Previous page        |
    ^V                 Next page            |-------------------------------------
    ^@ (Ctrl-SPACE)    Next word            | MISCELLANEOUS COMMANDS
    ----------------------------------------|
    EXIT COMMANDS    |  GENERAL COMMANDS    | ^T     To Addressbook
    ^C   Cancel      |   ^G    Get help     | ^R     RichView  (expand lists)
    ^X   eXit/save   |   ^Z    Suspend      | ^L     Redraw Screen
    
    <End of help on this topic> ===== h_composer_sigedit ===== Signature Editor Commands Explained

    SIGNATURE EDITOR COMMANDS

    CURSOR MOTION KEYS                     |EDITING KEYS
      ^B (Left Arrow)   Back character     | ^D       Delete current character
      ^F (Right Arrow)  Forward character  | ^H (DEL) Delete previous character
      ^P (Up Arrow)     Previous line      | ^^       Set a mark
      ^N (Down Arrow)   Next line          | F9       Cut marked text or
      ^A                Beginning of line  |           delete current line
      ^E                End of line        | F10       Paste text, undelete lines
      F7                Previous page      |           cut with ^K, or unjustify
      F8                Next page          |-------------------------------------
      ^@ (Ctrl-SPACE)   Next word          |SCREEN/COMPOSITION COMMANDS
    ---------------------------------------| F6       Whereis (search for string)
    MESSAGE COMMANDS | GENERAL COMMANDS    | F12      Spell checker
     F3   Cancel     |  F1    Get help     | F4       Justify paragraph
                     |  ^Z    Suspend      | ^L       Redraw Screen
     F2   Send       |  F6    Alt. editor  | F5       Read in a file
    
    CURSOR MOTION KEYS                     |EDITING KEYS
      ^B (Left Arrow)   Back character     | ^D       Delete current character
      ^F (Right Arrow)  Forward character  | ^H (DEL) Delete previous character
      ^P (Up Arrow)     Previous line      | ^^       Set a mark
      ^N (Down Arrow)   Next line          | ^K       Cut marked text or
      ^A                Beginning of line  |           delete current line
      ^E                End of line        | ^U        Paste text, undelete lines
      ^Y                Previous page      |           cut with ^K, or unjustify
      ^V                Next page          |-------------------------------------
      ^@ (Ctrl-SPACE)   Next word          |SCREEN/COMPOSITION COMMANDS
    ---------------------------------------| ^W       Whereis (search text)
    MESSAGE COMMANDS | GENERAL COMMANDS    | ^T       Spell checker
     ^C   Cancel     |  ^G    Get help     | ^J       Justify paragraph
                     |  ^Z    Suspend      | ^L       Redraw Screen
     ^X   Send       |  ^_    Alt. editor  | ^R       Read in a file
    
    NOTE: The presence or absence of the following commands is determined by "Feature-List" options in your Alpine configuration. Also, some of these commands may be administratively disabled by your system manager; if they don't work, please check with your local help desk before reporting a bug.

    • Suspend (suspends Alpine and gives a system prompt)
    • Alternate editor (allows you to compose with your own editor)

    Alpine does not use the following keys: Ctrl-S, Ctrl-Q, Ctrl-], Ctrl-\, ESC

    NOTE: For special handling of Ctrl-S and Ctrl-Q see special comments regarding "XOFF/XON".

    <End of help on this topic> ===== h_composer_commentedit ===== Comment Editor Commands Explained

    COMMENT EDITOR COMMANDS

    CURSOR MOTION KEYS                     |EDITING KEYS
      ^B (Left Arrow)   Back character     | ^D       Delete current character
      ^F (Right Arrow)  Forward character  | ^H (DEL) Delete previous character
      ^P (Up Arrow)     Previous line      | ^^       Set a mark
      ^N (Down Arrow)   Next line          | F9       Cut marked text or
      ^A                Beginning of line  |           delete current line
      ^E                End of line        | F10       Paste text, undelete lines
      F7                Previous page      |           cut with ^K, or unjustify
      F8                Next page          |-------------------------------------
      ^@ (Ctrl-SPACE)   Next word          |SCREEN/COMPOSITION COMMANDS
    ---------------------------------------| F6       Whereis (search for string)
    MESSAGE COMMANDS | GENERAL COMMANDS    | F12      Spell checker
     F3   Cancel     |  F1    Get help     | F4       Justify paragraph
                     |  ^Z    Suspend      | ^L       Redraw Screen
     F2   Send       |  F6    Alt. editor  | F5       Read in a file
    
    CURSOR MOTION KEYS                     |EDITING KEYS
      ^B (Left Arrow)   Back character     | ^D       Delete current character
      ^F (Right Arrow)  Forward character  | ^H (DEL) Delete previous character
      ^P (Up Arrow)     Previous line      | ^^       Set a mark
      ^N (Down Arrow)   Next line          | ^K       Cut marked text or
      ^A                Beginning of line  |           delete current line
      ^E                End of line        | ^U        Paste text, undelete lines
      ^Y                Previous page      |           cut with ^K, or unjustify
      ^V                Next page          |-------------------------------------
      ^@ (Ctrl-SPACE)   Next word          |SCREEN/COMPOSITION COMMANDS
    ---------------------------------------| ^W       Whereis (search text)
    MESSAGE COMMANDS | GENERAL COMMANDS    | ^T       Spell checker
     ^C   Cancel     |  ^G    Get help     | ^J       Justify paragraph
                     |  ^Z    Suspend      | ^L       Redraw Screen
     ^X   Send       |  ^_    Alt. editor  | ^R       Read in a file
    
    NOTE: The presence or absence of the following commands is determined by "Feature-List" options in your Alpine configuration. Also, some of these commands may be administratively disabled by your system manager; if they don't work, please check with your local help desk before reporting a bug.

    • Suspend (suspends Alpine and gives a system prompt)
    • Alternate editor (allows you to compose with your own editor)

    Alpine does not use the following keys: Ctrl-S, Ctrl-Q, Ctrl-], Ctrl-\, ESC

    NOTE: For special handling of Ctrl-S and Ctrl-Q see special comments regarding "XOFF/XON".

    <End of help on this topic> ======= h_composer_abook_nick ======= Addressbook Nickname Explained This is a short nickname for this address book entry. If it is used in place of an address from the composer, the composer will fill in the address(es) for the entry that matches the nickname.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_composer_abook_full ======= Addressbook Fullname Explained This is the full name field for this entry. If this is going to be a distribution list (more than one address), it should be a descriptive phrase describing the list. It will be included in the mail header if you put the list in the To: or CC: field, or in the To: line if you put the list in the Lcc: field. It's OK to leave this field blank (and OK to leave any of the other fields blank, too). If this address book entry is going to be a simple entry with just one address, then this field is the person's name. When you send mail to this entry, this is the field to the left of the brackets. That is, it is the most readable part of the address. For example, in the sample address:

           John Doe <jdoe@some.domain>
    
    "John Doe" is the full name field. If you are sorting your address book with one of the options that uses full names, then it might be useful to enter the full name as "Last, First", for example:
           Doe, John
    
    so that it will be sorted using Doe instead of John. This will be changed back into John Doe when you use it.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_composer_abook_fcc ======= Addressbook Fcc Explained If this entry is the first one in the To: line of an outgoing message, this field will be used for the Fcc (File Carbon Copy) instead of whatever you would normally get (which depends on which "" you've chosen).

    If this field consists of two double quotes ("") that tells Alpine that you don't want any Fcc associated with this entry.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_combined_abook_display ===== FEATURE: <!--#echo var="FEAT_combined-addrbook-display"-->

    FEATURE:

    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 "" has an effect.

    <End of help on this topic> ====== h_config_titlebar_color_style ===== OPTION: <!--#echo var="VAR_titlebar-color-style"-->

    OPTION:

    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 Setup Kolor screen.
    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 that 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).

    <End of help on this topic> ====== h_config_index_color_style ===== OPTION: <!--#echo var="VAR_current-indexline-style"-->

    OPTION:

    This option affects the colors used to display the current line in the MESSAGE INDEX screen. If you do not have Index Color Rules 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 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 that is the current line will be displayed exactly the same as a non-interesting line that 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 that 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).

    <End of help on this topic> ====== h_config_expanded_addrbooks ===== FEATURE: <!--#echo var="FEAT_expanded-view-of-addressbooks"-->

    FEATURE:

    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 "" is also set.

    <End of help on this topic> ====== h_config_combined_folder_display ===== FEATURE: <!--#echo var="FEAT_combined-folder-display"-->

    FEATURE:

    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 "" has an effect.

    <End of help on this topic> ====== h_config_combined_subdir_display ===== FEATURE: <!--#echo var="FEAT_combined-subdirectory-display"-->

    FEATURE:

    This feature affects the Folder List screen when the "" 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.

    <End of help on this topic> ====== h_config_separate_fold_dir_view ===== FEATURE: <!--#echo var="FEAT_separate-folder-and-directory-entries"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_expanded_folders ===== FEATURE: <!--#echo var="FEAT_expanded-view-of-folders"-->

    FEATURE:

    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 "" is also set.

    <End of help on this topic> ======= h_config_ldap_server ======= LDAP OPTION: <!--#echo var="VAR_ldap-servers"-->

    LDAP OPTION:

    This is the name of the host where an LDAP server is running. For redundancy, this may be a space-delimited set of server names, in which case the first server that answers is used. Each of the server names may be optionally followed by a colon and a port number. If this form is used then the port number configured below in the port field is not used.

    To find out whether your organization has its own LDAP server, contact its computing support staff.

    <End of help on this topic> ======= h_config_ldap_base ======= LDAP OPTION: Search-Base

    LDAP OPTION: 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.

    <End of help on this topic> ======= h_config_ldap_port ======= LDAP OPTION: Port

    LDAP OPTION: Port

    This is the TCP port number to be used with this LDAP server. If you leave this blank port 389 will be used.

    <End of help on this topic> ======= h_config_ldap_nick ======= LDAP OPTION: Nickname

    LDAP OPTION: Nickname

    This is a nickname to be used in displays. If you don't supply a nickname the server name ("") will be used instead. This option is strictly for your convenience.

    <End of help on this topic> ======= h_config_ldap_binddn ======= LDAP OPTION: Bind-DN

    LDAP OPTION: Bind-DN

    You may need to authenticate to the LDAP server before you are able to use it. This is the Distinguished Name to bind to when authenticating to this server. Try leaving this blank until you know you need it.

    Alpine only knows about LDAP Simple authentication. It does not attempt LDAP SASL authentication. The DN and password will be sent in the clear unless TLS encryption is being used on this connection. Because of this, you may want to set the LDAP feature "Attempt-TLS-On-Connection" or the feature "Require-TLS-On-Connection" if you are going to be providing a password.

    <End of help on this topic> ======= h_config_ldap_opts_impl ======= LDAP FEATURE: Use-Implicitly-From-Composer

    LDAP FEATURE: Use-Implicitly-From-Composer

    Set this 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 that 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 "".

    <End of help on this topic> ======= h_config_ldap_opts_tls ======= LDAP FEATURE: Attempt-TLS-On-Connection

    LDAP FEATURE: Attempt-TLS-On-Connection

    When connecting to this server Alpine will attempt to use TLS encryption on the connection. Also see the closely related feature "Require-TLS-On-Connection"

    Note that if this option is set, then "Require-LDAPS-On-Connection" can not be enabled for this server. You must disable this feature in order to use "Require-LDAPS-On-Connection"

    <End of help on this topic> ======= h_config_ldap_opts_tlsmust ======= LDAP FEATURE: Require-TLS-On-Connection

    LDAP FEATURE: Require-TLS-On-Connection

    When connecting to this server Alpine will attempt to use TLS encryption on the connection. If the StartTLS operation fails then the connection will not be used.

    Note that if this option is set, then "Require-LDAPS-On-Connection" can not be enabled for this server. You must disable this feature in order to use "Require-LDAPS-On-Connection"

    <End of help on this topic> ======= h_config_ldap_opts_ldaps ======= LDAP FEATURE: Require-LDAPS-On-Connection

    LDAP FEATURE: Require-LDAPS-On-Connection

    When connecting to this server Alpine will use LDAPS (LDAP over SSL/TLS) on the connection.

    This feature can not be used along with "Require-TLS-On-Connection" or "Attempt-TLS-On-Connection". If you want to connect using StartTLS to this server, you must disable this feature first.

    <End of help on this topic> ====== h_config_ldap_opts_rhs ===== LDAP FEATURE: Lookup-Addrbook-Contents

    LDAP FEATURE: 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 = bill

    Address = "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".

    <End of help on this topic> ====== h_config_ldap_opts_ref ===== LDAP FEATURE: Save-Search-Criteria-Not-Result

    LDAP FEATURE: 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 "".

    <End of help on this topic> ======= h_config_ldap_opts_nosub ======= LDAP FEATURE: Disable-Ad-Hoc-Space-Substitution

    LDAP FEATURE: 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.

    <End of help on this topic> ====== h_config_ldap_searchtypes ======= LDAP OPTION: Search-Type

    LDAP OPTION: 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 configuration options:

    <End of help on this topic> ====== h_config_ldap_searchrules ======= LDAP OPTION: Search-Rule

    LDAP OPTION: 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".

    <End of help on this topic> ======= h_config_ldap_email_attr ======= LDAP OPTION: EmailAttribute

    LDAP OPTION: EmailAttribute

    This is the name of the attribute that 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.

    <End of help on this topic> ======= h_config_ldap_sn_attr ======= LDAP OPTION: SurnameAttribute

    LDAP OPTION: SurnameAttribute

    This is the name of the attribute that 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".

    <End of help on this topic> ======= h_config_ldap_gn_attr ======= LDAP OPTION: GivennameAttribute

    LDAP OPTION: GivennameAttribute

    This is the name of the attribute that 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".

    <End of help on this topic> ======= h_config_ldap_cn_attr ======= LDAP OPTION: NameAttribute

    LDAP OPTION: NameAttribute

    This is the name of the attribute that 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".

    <End of help on this topic> ======= h_config_ldap_time ======= LDAP OPTION: Timelimit

    LDAP OPTION: 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.

    <End of help on this topic> ======= h_config_ldap_size ======= LDAP OPTION: Sizelimit

    LDAP OPTION: 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.

    <End of help on this topic> ======= h_config_ldap_cust ======= LDAP OPTION: Custom-Search-Filter

    LDAP OPTION: 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:

    <End of help on this topic> ======= h_composer_abook_comment ======= Addressbook Comment Explained This is a comment to help you remember what this entry is. The WhereIs command searches comments so that it is easier to find an entry with a comment you know about attached to it. This field is not used in the outgoing message.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_composer_abook_addrs ======= Addressbook Lists

    Addressbook Lists

    This is a list of addresses to send to when sending to this address book entry. Each member of the list may be an address or another nickname from any of your address books. If it is an address, it is OK to include the full name field as well as the electronic address portion of that address. For example, the following are all legitimate entries in this field:
     
    john    (a nickname in your address book)
    jdoe@some.domain
    John Doe <jdoe@some.domain>
    The addresses should be listed separated by commas, just like you would enter them from the composer.

    The only difference between a distribution list and a simple entry with a single address, is that a distribution list has more than one address listed in the Addresses: field, whereas a simple personal entry has just one address.

    For individual address book entries, if there is a full name in the Fullname: field (filling in the Fullname: field is not required), it is used. If the full name is specified in the Address: field and not in the Fullname: field, then the full name from the Address: field is used.

    If you type the nickname of a distribution list from one of your address books in the Lcc: field, then the full name of that list is used in the To: field. If you put a list in the To: or Cc: fields, that list will be expanded into all of its addresses. If the list has a full name, then that will appear at the beginning of the addresses.

     
    Sewing Club <john@somewhere>, nancy@something.else, Sal <sal@here.there>
    If the first address in the distribution list also has a full name, then the list full name and that full name are combined into something like the following:
     
    Sewing Club -- John Smith <john@somewhere>
    If you specify a list via Lcc, the full name is used in the To: line. If you specify a list in the To: or Cc: fields, then it uses the same method as for individual entries for filling in the full name.

    For help with editing and navigation commands, check the Help for the Nickname: field.

    <End of help on this topic> ======= h_config_xoauth2_client_id ======= Client-Id Explained

    Client-Id Explained

    If you have registered Alpine with your service provider to use the XOAUTH2 authenticator, or someone has shared a client-id and client-secret with you, use this field to input the client-id.

    The Client-Id field is a string that your provider generates for the program being registered. However, some providers allow different users to register the same program. Users of the Mutt email program already do this to use XOAUTH2 authentication in Gmail.

    <End of help on this topic> ======= h_config_xoauth2_client_secret ======= Client-Secret Explained

    Client-Secret Explained

    If you have registered Alpine with your service provider to use the XOAUTH2 authenticator, or someone has shared a client-id and client-secret with you, use this field to input the client-secret. Some servers require both a client-id and a client-secret, some other servers do not require a client-secret. If a client-secret is required, use this field to add one.

    The client-secret field is supposed to be kept secret, that is, not shared with any of the users, but due to the open source nature of Alpine, it is not possible to keep it secret in any meaningful way. The intention of this field is so that only the coders of an app can use the codes given to them and authenticate their users to the services they are requesting. This means that other coders would not be able to impresonate that app, and use it to steal data from those users. In the case of Alpine this is not possible, as Alpine does not steal data from its users, so users are safe sharing client-secrets. Just make sure you obtain your copy of Alpine from a reputable provider or compile the source code by yourself. The official source code of this project is located at

    http://repo.or.cz/alpine.git.

    <End of help on this topic> ======= h_config_xoauth2_tenant ======= Tenant Explained

    Tenant Explained

    The tenant is a way in which a service can either restrict an app to access only certain portions of its service. For example, a service may allow an app to have access to your work data, or school data, and not every app is allowed to access this data, or the access is not allowed for all accounts, but only those restructed in the tenant.

    When Alpine registers with an email service provider, it does so with the intention that you can use Alpine for any of your needs (work, school or personal), and the client-id and tenant that it uses would allow you access to only your work email, say, and not your personal email, because the app is trusted only at work, and so the client-id and tenant are good for that organization only.

    <End of help on this topic> ======= h_config_xoauth2_flow ======= Flow Explained

    Flow Explained

    The first time you connect to a service to authorize Alpine access to your email, you will have to do a certain number of steps, which typically involve to login to your account using a browser, and agreeing to give Alpine certain rights to access your account.

    How this process is going to be done depends on the service. Some services allow you to give access to Alpine and later generate a code that you input into Alpine, while others give you a code you have to use before you approve access to Alpine to access your email.

    An example of a service that gives you a code after you authorize Alpine is Gmail, and this process is called internally as "Authorize". An example of a service that gives you a code before you authorize Alpine is Outlook, and this process is called "Device". However, some services, like Outlook, offer both services, and you can choose which flow you would like to use. You can choose between the "Authorize&qupt; and "Device" in these servers. If you forget to configure this, Alpine will ask you in these situations which method to use before it starts to setup the process to get your authrization.

    <End of help on this topic> ======= h_config_xoauth2_username ======= Username Explained

    Username Explained

    This variable is a list of usernames for which the configuration for the given service is valid. You may have more than one username for which this configuration is correct.

    Alpine will use the usernames in this list to associate your username with the correct configuration in Alpine. If Alpine cannot determine which configuration to use, Alpine will offer you a list of client-ids that you have configured for that service and ask you to pick one. Your answer will be saved in your .pinerc file.

    <End of help on this topic> ======= h_config_role_nick ======= Nickname Explained

    Nickname Explained

    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.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_comment ======= Comment Explained

    Comment Explained

    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.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_other_nick ======= Nickname Explained

    Nickname Explained

    This is a nickname to help you. You should have a different nickname for each rule you define. The nickname will be used in the SETUP OTHER RULES screen to allow you to pick a rule to edit.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_score_nick ======= Nickname Explained

    Nickname Explained

    This is a nickname to help you. You should have a different nickname for each scoring rule you define. The nickname will be used in the SETUP SCORING RULES screen to allow you to pick a rule to edit.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_incol_nick ======= Nickname Explained

    Nickname Explained

    This is a nickname to help you. You should have a different nickname for each color rule you define. The nickname will be used in the SETUP INDEX COLOR RULES screen to allow you to pick a rule to edit.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_filt_nick ======= Nickname Explained

    Nickname Explained

    This is a nickname to help you. You should have a different nickname for each filtering rule you define. The nickname will be used in the SETUP FILTERING RULES screen to allow you to pick a rule to edit.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_score_topat ======= "To:" Pattern Explained

    "To:" Pattern Explained

    Any text you enter as the "To pattern" will be compared to the recipients from the To: line of the message being scored. When the text you entered matches all or part of the To: line of a message, then the Score Value you have specified will be added to the score for the message. (Any other non-blank parts of the Pattern must match, too.)

    You may enter a complete email address, part of an address, or a list of addresses or partial addresses. For example:

     To pattern = friend@public.com
    
     To pattern = rated.net
    
     To pattern = xxx@adults.com
                  admin@msn.com
                  fool@motleyfool.com
    

    Each of those are valid To patterns.

    Messages match those patterns if any of the addresses in the To: line of the message contains the pattern. If the pattern is a list of patterns (like the last example above) then it is a match if any of the patterns in the list match any of the addresses in the To: line. (It is not possible to specify two addresses that must BOTH be present for a match. It is only possible to specify that EITHER address1 OR address2 must be present. That is exactly what using a list does.)

    Some messages may be "bounced" to you, and will have a "Resent-To:" header line. If the message contains a Resent-To: line and the feature is turned on, Alpine will look for matches to your "To patterns" there, and NOT in the original To: line.

    When entering a pattern, you may choose an address from your address book with the "T" command.

    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 that 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
    

    You are not limited to using the six standard header patterns that are normally shown (To, From, Sender, Cc, News, and Subject). You may add any other header to a Pattern by using the "eXtraHdr" command to specify a different message header line; and then the Add or Change command to fill in a pattern for the new header line, just like you would for a standard header.

    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.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_incol_topat ======= "To:" Pattern Explained

    "To:" Pattern Explained

    Any text you enter as the "To pattern" will be compared to the recipients from the To: lines of the messages in the index. When the text you entered matches all or part of the To: line of a message, then the Index Line Color you have specified will be used for that line in the index. (Any other non-blank parts of the Pattern must match, too.)

    You may enter a complete email address, part of an address, or a list of addresses or partial addresses. For example:

     To pattern = friend@public.com
     To pattern = rated.net
     To pattern = xxx@adults.com
                  admin@msn.com
                  fool@motleyfool.com
    

    Each of those are valid To patterns.

    Messages match those patterns if any of the addresses in the To: line of the message contains the pattern. If the pattern is a list of patterns (like the last example above) then it is a match if any of the patterns in the list match any of the addresses in the To: line. (It is not possible to specify two addresses that must BOTH be present for a match. It is only possible to specify that EITHER address1 OR address2 must be present. That is exactly what using a list does.)

    Some messages may be "bounced" to you, and will have a "Resent-To:" header line. If the message contains a Resent-To: line and the feature is turned on, Alpine will look for matches to your "To patterns" there, and NOT in the original To: line.

    When entering a pattern, you may choose an address from your address book with the "T" command.

    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 that 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
    

    You are not limited to using the six standard header patterns that are normally shown (To, From, Sender, Cc, News, and Subject). You may add any other header to a Pattern by using the "eXtraHdr" command to specify a different message header line; and then the Add or Change command to fill in a pattern for the new header line, just like you would for a standard header.

    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.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_other_topat ======= "To:" Pattern Explained

    "To:" Pattern Explained

    For some of the OTHER RULES actions, there is no message that is being compared against. If that is the case, then only the Current Folder Type is checked. In particular, this To pattern is ignored. Actions that fall into this category include both Sort Order and Index Format.

    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.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_filt_topat ======= "To:" Pattern Explained

    "To:" Pattern Explained

    Any text you enter as the "To pattern" will be compared to the recipients from the To: line of messages when Alpine opens folders. When the text you entered matches all or part of the To: line of a message, then the Filter Action you have specified will be carried out. (Any other non-blank parts of the Pattern must match, too.)

    You may enter a complete email address, part of an address, or a list of addresses or partial addresses. For example:

     To pattern = friend@public.com
     To pattern = rated.net
     To pattern = xxx@adults.com
                  admin@msn.com
                  fool@motleyfool.com
    

    Each of those are valid To patterns.

    Messages match those patterns if any of the addresses in the To: line of the message contains the pattern. If the pattern is a list of patterns (like the last example above) then it is a match if any of the patterns in the list match any of the addresses in the To: line. (It is not possible to specify two addresses that must BOTH be present for a match. It is only possible to specify that EITHER address1 OR address2 must be present. That is exactly what using a list does.)

    Some messages may be "bounced" to you, and will have a "Resent-To:" header line. If the message contains a Resent-To: line and the feature is turned on, Alpine will look for matches to your "To patterns" there, and NOT in the original To: line.

    When entering a pattern, you may choose an address from your address book with the "T" command.

    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 that 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
    

    You are not limited to using the six standard header patterns that are normally shown (To, From, Sender, Cc, News, and Subject). You may add any other header to a Pattern by using the "eXtraHdr" command to specify a different message header line; and then the Add or Change command to fill in a pattern for the new header line, just like you would for a standard header.

    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.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_topat ======= "To:" Pattern Explained

    "To:" Pattern Explained

    Any text you enter as the "To pattern" will be compared to the recipients from the To: line of the message being replied to or forwarded. (Any other non-blank parts of the Pattern must match, too.) In the case of the Compose command, this pattern and the other header patterns are ignored.

    You may enter a complete email address, part of an address, or a list of addresses or partial addresses. For example:

     To pattern = friend@public.com
     To pattern = rated.net
     To pattern = xxx@adults.com
                  admin@msn.com
                  fool@motleyfool.com
    

    Each of those are valid To patterns.

    Messages match those patterns if any of the addresses in the To: line of the message contains the pattern. If the pattern is a list of patterns (like the last example above) then it is a match if any of the patterns in the list match any of the addresses in the To: line. (It is not possible to specify two addresses that must BOTH be present for a match. It is only possible to specify that EITHER address1 OR address2 must be present. That is exactly what using a list does.)

    Some messages may be "bounced" to you, and will have a "Resent-To:" header line. If the message contains a Resent-To: line and the feature is turned on, Alpine will look for matches to your "To patterns" there, and NOT in the original To: line.

    When entering a pattern, you may choose an address from your address book with the "T" command.

    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 that 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
    

    You are not limited to using the six standard header patterns that are normally shown (To, From, Sender, Cc, News, and Subject). You may add any other header to a Pattern by using the "eXtraHdr" command to specify a different message header line; and then the Add or Change command to fill in a pattern for the new header line, just like you would for a standard header.

    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.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_frompat ======= "From:" Pattern Explained

    "From:" Pattern Explained

    This is just like the "To pattern" except that it is compared with the address in the From: line of the message instead of the addresses from the To: line. See the help for the To pattern for more information on header patterns.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_senderpat ======= "Sender:" Pattern Explained

    "Sender:" Pattern Explained

    This is just like the "To pattern" except that it is compared with the address from the Sender: line of the message instead of the addresses from the To: line. See the help for the To pattern for more information on header patterns.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_ccpat ======= "Cc:" Pattern Explained

    "Cc:" Pattern Explained

    This is just like the "To pattern" except that it is compared with the addresses from the Cc: line of the message instead of the addresses from the To: line. See the help for the To pattern for more information on header patterns.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_recippat ======= Recipient Pattern Explained

    Recipient Pattern Explained

    This is just like the "To pattern" except that it is compared with the addresses from both the To: line and the Cc: line of the message instead of just the addresses from the To: line. In other words, it is considered a match if the pattern matches EITHER an address in the To: line OR an address in the Cc: line. (Notice that defining the Recipient pattern does not have the same effect as defining both the To and Cc patterns. Recipient is To OR Cc; not To AND Cc. It is equivalent to having two different rules; one with a To pattern and the other with the same Cc pattern.)

    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.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_particpat ======= Participant Pattern Explained

    Participant Pattern Explained

    This is just like the "To pattern" except that it is compared with the addresses from the From: line, the To: line, and the Cc: line of the message instead of just the addresses from the To: line. In other words, it is considered a match if the pattern matches EITHER an address in the From: line, OR an address in the To: line, OR an address in the Cc: line. (Notice that defining the Participant pattern does not have the same effect as defining all of the From, To, and Cc patterns. Participant is From OR To OR Cc; not From AND To AND Cc. It is equivalent to having three different rules; one with a From pattern, another with the same To pattern, and a third with the same Cc pattern.)

    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.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_newspat ======= News Pattern Explained

    News Pattern Explained

    If this pattern is non-blank, then for this rule 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.)

    It is possible to add a NOT to the News Pattern meaning with the "!" "toggle NOT" command. This changes the meaning of the News pattern so that it has the opposite meaning. It will be considered a match if there are no matches between the addresses in the Newsgroups: line and the list of News 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 News pattern, the pattern will look like:

     News pattern = !frizzle
    

    This means you want to match the 8 character sequence "!frizzle". In order to match messages that do not have "frizzle" in their Newsgroups header, first type the characters "frizzle" followed by carriage return for the value of the News pattern, then negate it by typing the "!" command. It should end up looking like

     ! News pattern = frizzle
    

    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.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_subjpat ======= "Subject:" Pattern Explained

    "Subject:" Pattern Explained

    This is similar to the other parts of the Pattern. It is compared with the contents from the Subject of the message.

    Look "here" for more information on Patterns.

    It is possible to add a NOT to the Subject Pattern meaning with the "!" "toggle NOT" command. This changes the meaning of the Subject pattern so that it has the opposite meaning. It will be considered a match if there are no matches between the text in the Subject: line and the list of Subject patterns.

    If you wish to have a header pattern that is not one of the six standard header patterns, you may add it with the "eXtraHdr" command.

    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.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_alltextpat ======= AllText Pattern Explained

    AllText Pattern Explained

    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.

    It is possible to add a NOT to the AllText Pattern meaning with the "!" "toggle NOT" command. This changes the meaning of the AllText pattern so that it has the opposite meaning. It will be considered a match if there are no matches between the text of the message and the list of AllText 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 AllText pattern, the pattern will look like:

     AllText pattern = !frizzle
    

    This means you want to match the 8 character sequence "!frizzle". In order to match messages that do not have "frizzle" in the text of the message, first type the characters "frizzle" followed by carriage return for the value of the AllText pattern, then negate it by typing the "!" command. It should end up looking like

     ! AllText pattern = frizzle
    

    It is possible that you may notice degraded performance when using AllText Patterns.

    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.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_bodytextpat ======= BodyText Pattern Explained

    BodyText Pattern Explained

    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 body.

    It is possible to add a NOT to the BodyText Pattern meaning with the "!" "toggle NOT" command. This changes the meaning of the BodyText pattern so that it has the opposite meaning. It will be considered a match if there are no matches between the text of the body of the message and the list of BodyText 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 BodyText pattern, the pattern will look like:

     BdyText pattern = !frizzle
    

    This means you want to match the 8 character sequence "!frizzle". In order to match messages that do not have "frizzle" in their BodyText, first type the characters "frizzle" followed by carriage return for the value of the BodyText pattern, then negate it by typing the "!" command. It should end up looking like

     ! BodyText pattern = frizzle
    

    It is possible that you may notice degraded performance when using BodyText Patterns.

    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.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_charsetpat ======= Character Set Pattern Explained

    Character Set Pattern Explained

    A message may use one or more character sets. This part of the Pattern matches messages that 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 that 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.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_keywordpat ======= Keyword Pattern Explained

    Keyword Pattern Explained

    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 option in the Setup/Config screen. After you have added a potential keyword with the 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. A keyword that you have not defined using the option in the Setup/Config screen will not be a match.

    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. A keyword that you have not defined using the option in the Setup/Config screen will not be a match, so a NOT of that keyword does match.

    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 that 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
    

    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.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_arbpat ======= Extra Header Patterns Explained

    Extra Header Patterns Explained

    The header patterns that come after the Participant pattern but before the AllText pattern are extra header patterns that you have added to a rule's Pattern. These are just like the other header patterns except that the contents of the particular header listed on the left hand side will be used for comparisons.

    The "eXtraHdr" command may be used to add more of these header patterns to the rule you are editing.

    The "RemoveHdr" command may be used to delete the highlighted extra header pattern from the rule you are editing.

    It is possible to add a NOT to the Extra Header Pattern meaning with the "!" "toggle NOT" command. This changes the meaning of the pattern so that it has the opposite meaning. It will be considered a match if there are no matches between the text in the header line and the list of 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 pattern, the pattern will look like:

     Xyz pattern = !frizzle
    

    This means you want to match the 8 character sequence "!frizzle". In order to match messages that do not have "frizzle" in their Xyz field, first type the characters "frizzle" followed by carriage return for the value of the pattern, then negate it by typing the "!" command. It should end up looking like

     ! Xyz pattern = frizzle
    

    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.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_cat_cmd ======= Categorizer Command Explained

    Categorizer Command Explained

    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 cause no harm if the command didn't exist. However, if you have a filter that 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.

    Here is an example setup for the bogofilter filter.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_cat_cmd_example ======= Categorizer Command Example

    Categorizer Command Example

    Bogofilter (http://bogofilter.sourceforge.net/) is a mail filter that attempts to classify mail as spam or non-spam using statistical analysis of the message content. When run with no arguments and a message as standard input, it exits with exit status 0 if it thinks a message is spam and 1 if it thinks it is not spam. To use bogofilter as your Categorizer Command you would simply set Command to the pathname of the bogofilter program. For example,

    Command = /usr/local/bin/bogofilter

    Exit status of zero is what you are interested in, so you'd set the Exit Status Interval to

    Exit Status Interval = (0,0)

    In order to prevent downloading an entire huge message to check for spam, you might want to set the Character Limit to a few thousand characters (the assumption being that the spam will reveal itself in those characters)

    Character Limit = 50000

    You would probably use bogofilter in an Alpine Filter Rule, and have the action be to move the message to a spam folder. It would usually be wise to also check the "Message is Recent" part of the rule so that messages are only checked when they first arrive, and to restrict the Current Folder Type to just your INBOX. The reason for checking only Recent messages is to save the time it takes to run bogofilter on each message. As an experiment, you might start out by using this in an Indexcolor Rule instead of a Filter Rule. In that case, you probably wouldn't check the Recent checkbox.

    The use described above assumes that you are somehow maintaining bogofilter's database of words associated with spam and non-spam messages. One way to start your database would be to select a bunch of spam messages in Alpine (you might Save spam messages to a special folder or use Alpine's Select command to select several) and then Apply () a pipe command to the spam messages. For example, you could have a shell script or an alias called this_is_spam, which would simply be the command

    bogofilter -s

    It is probably best to use the pipe command's Raw Text, With Delimiter, and Free Output options, which are at the bottom of the screen when you type the pipe command. That's because bogofilter expects the raw message as input, and uses the Delimiters to tell when a new message starts. You would not need to use a separate pipe for each message, because bogofilter can handle multiple messages at once.

    Similarly, you would select a group of non-spam messages and run them through a this_is_nonspam script that was something like

    bogofilter -n

    For the more adventurous, the next step might be to automate the upkeep of the bogofilter database. It might make more sense to have bogofilter be part of the delivery process, but it is also possible to do it entirely from within Alpine. Instead of using just plain "bogofilter" as the Categorizer Command, the "-u" argument will cause bogofilter to update the database.

    Command = /usr/local/bin/bogofilter -u

    You'd want a couple more aliases or shell scripts called something like change_to_spam

    bogofilter -Ns

    and change_to_nonspam

    bogofilter -Sn

    When you run across a message in your INBOX that should have been classified as spam you would pipe it to the change_to_spam script, and when you run across a message in your spam folder that should have been left in your INBOX you would pipe it through change_to_nonspam.

    There is a technical problem with this approach. Alpine may check your filters more than once. In particular, every time you start Alpine the filters will be checked for each message. Also, if you have any filters that depend on message state (New, Deleted, etc.) then Alpine will recheck for matches in messages that have changed state at the time you close the folder and before expunging. This is usually ok. However, in this case it is a problem because the command

    Command = /usr/local/bin/bogofilter -u

    has the side effect of updating the database. So you run the risk of updating the database multiple times for a single message instead of updating it just once per message. There are some ways to work around this problem. What you need is a way to mark the message after you have run the filter. One way to mark messages is with the use of a keyword (say "Bogo"). Besides having the filter move the message to a spam folder, also have it set the Bogo keyword. (Note that you will have to set up the "Bogo" keyword in the option in Setup/Config.) This rule can only set the Bogo keyword for the messages that it matches. You will also need to add a second rule right after this one that matches all the messages that don't have the Bogo keyword set (put the keyword in the Keyword pattern and toggle the Not with the ! command) and takes the action of setting it. Then change the "bogofilter -u" rule so that it won't be a match (and so it won't re-run the bogofilter command) if the keyword is already set.

    What you will end up with is a rule that runs "bogofilter -u" on all messages that don't have the Bogo keyword set. This will have the side effect of inserting that message in the bogofilter database, match or not. If this rule matches (it is spam), the Bogo keyword will be set and the message will be moved to a spam folder. If it does not match, the following rule will mark the message by turning on the keyword. This second rule should be a non-terminating (Dont-Stop-Even-if-Rule-Matches) rule so that it doesn't stop the filtering process before the rest of your rules are consulted.

    In summary, the first rule is something like

      Nickname          = bogofilter -u rule
      Current Folder Type =
                   (*) Specific
                       Folder = INBOX
    
      ! Keyword pattern = Bogo
    
      External Categorizer Commands =
           Command              = /usr/local/bin/bogofilter -u
           Exit Status Interval = (0,0)
           Character Limit      =   (optionally set this)
    
      Filter Action =
           (*) Move
               Folder = spam
      
      Set These Keywords   = Bogo
    

    and the following rule is

      Nickname          = Set Bogo Keyword
      Current Folder Type =
                   (*) Specific
                       Folder = INBOX
    
      ! Keyword pattern = Bogo
    
      Filter Action =
           (*) Just Set Message Status
    
      Set These Keywords   = Bogo
    
      Features =
          [X]  dont-stop-even-if-rule-matches
    

    If it is possible for you to insert bogofilter in the delivery process instead of having it called from Alpine you could prevent having to wait for the bogofilter processing while you read your mail. You would have bogofilter add a header to the message at the time of delivery that identified it as spam or nonspam. With this method, you could avoid using a Categorizer Command while running Alpine, and just match on the header instead. You might still want to use the scripts mentioned above to initialize the database or to re-classify wrongly classified messages.

    Finally, it isn't for the faint-hearted, but it is also possible to run bogofilter from PC-Alpine. You can install Cygwin from http://www.cygwin.com/ and then compile bogofilter in the cygwin environment, and run it from within PC-Alpine. You would end up with a Categorizer command that looked something like

    Command = C:\cygwin\bin\bogofilter.exe -u

    Note that the ".exe" extension is explicit, and that the bogofilter.exe executable should be in the same directory as cygwin1.dll.

    <End of help on this topic> ======= h_config_role_cat_status ======= Exit Status Interval Explained

    Exit Status Interval Explained

    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.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_cat_limit ======= Character Limit Explained

    Character Limit Explained

    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.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_age ======= Age Interval Explained

    Age Interval Explained

    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.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_size ======= Size Interval Explained

    Size Interval Explained

    The Size Interval, if defined, is part of the Pattern. If you use this, it should be set to something like:

    (min_size,max_size)

    where "min_size" and "max_size" 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_size1,max_size1),(min_size2,max_size2),...

    When there is a Size Interval defined, it is a match if the size 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 size of the message is contained in any of the intervals.

    The size interval

    (10000,50000)

    matches all messages with sizes greater than or equal to 10000, and less than or equal to 50000. The interval

    (100000,INF)

    matches all messages with sizes greater than or equal to 100000.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_scorei ======= Score Interval Explained

    Score Interval Explained

    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" may 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 that match the message. Scoring rules are created using the "SETUP SCORING" screen.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_fldr_type ======= Current Folder Type Explained

    Current Folder Type Explained

    The Current Folder Type is part of the role's 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 role 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 role's Pattern is set to "News", for example, then that role 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 Select the "Specific" button AND fill in the name (or list of names) of the folder in the "Folder List" 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/user=vincent}mail/art-class

    {news.example.com/nntp/user=peter}#news.comp.mail.pine

    Observe that in order for an external folder (IMAP, POP, News) to be a match, you must also add the /user= option in the definition of the incoming folder.

    The easiest way to fill in the "Folder List" field is to use the "T" command that is available when the "Folder List" line is highlighted, or to use the "Take" command with the configuration feature "" turned on. Note that you won't be able to edit the "Folder List" line unless the Current Folder Type is set to "Specific", and any value that "Folder List" 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".

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_filt_rule_type ======= Filter Action Explained

    Filter Action Explained

    The Filter Action specifies the action to be taken when the Pattern is a match. It may be set to "Delete" "Move", or "Just Set Message Status".

    If it is set to "Delete", then the message that matches the Pattern will be deleted from the open folder.

    If it is set to "Move", then the name of the folder to which the matching message should be moved is given in the "Folder List" field on the next line of the screen. A list of folders separated by commas may be given, in which case the message will be copied to all of the folders in the list before it is deleted.

    If it is set to neither of those two values (it is set to the value labeled "Just Set Message Status") then the message status setting will happen but the message will not be deleted or moved.

    If you are Moving a message you may also set Message Status if you wish.

    The easiest way to fill in the "Folder List" field is to use the T command that is available when the "Folder List" line is highlighted. Note that you won't be able to edit the "Folder List" line unless the Filter Action is set to "Move", and any value that "Folder List" has is ignored unless the type is set to "Move".

    There are a few tokens that may be used in the names in the Folder List. They are all related to the date on which the filtering is taking place. The tokens are words surrounded by underscores. For example, if you want your filter to move messages to a folder named

    abc-year-mon

    you could specify the folder as

    abc-_CURYEAR_-_CURMONTHABBREV_

    which would result in a file named something like

    abc-2004-oct

    or

    abc-_CURYEAR2DIGIT_-_CURMONTH2DIGIT_

    which would result in a file named something like

    abc-04-10

    The available tokens are listed here.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_score_fldr_type ======= Current Folder Type Explained

    Current Folder Type Explained

    The Current Folder Type is part of the scoring rule's Pattern. It refers to the type of the folder that the message being scored is in. In order for a rule 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 Pattern will only 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 Select the "Specific" button AND fill in the name (or list of names) of the folder in the "Folder List" 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 List" field is to use the T command that is available when the "Folder List" line is highlighted. Note that you won't be able to edit the "Folder List" line unless the Current Folder Type is set to "Specific", and any value that "Folder List" 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, if you have Index Line Coloring rules that have Score Intervals defined then the scores for all the visible messages will need to be calculated. If some of your Scoring rules have a Current Folder Type of "Any" or "News" this may cause the MESSAGE INDEX screen to draw more slowly when in a newsgroup.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_other_fldr_type ======= Current Folder Type Explained

    Current Folder Type Explained

    The Current Folder Type is part of the rule's Pattern. It refers to the type of the folder being viewed. In order for a rule 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 Pattern will only match if the current folder is a newsgroup. 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 Select the "Specific" button AND fill in the name (or list of names) of the folder in the "Folder List" 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 List" field is to use the T command that is available when the "Folder List" line is highlighted. Note that you won't be able to edit the "Folder List" line unless the Current Folder Type is set to "Specific", and any value that "Folder List" has is ignored unless the type is set to "Specific".

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_incol_fldr_type ======= Current Folder Type Explained

    Current Folder Type Explained

    The Current Folder Type is part of the Line Coloring rule's Pattern. It refers to the type of the folder for which the MESSAGE INDEX is being viewed. In order for a rule 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 Pattern will only 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 Select the "Specific" button AND fill in the name (or list of names) of the folder in the "Folder List" 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 List" field is to use the T command that is available when the "Folder List" line is highlighted. Note that you won't be able to edit the "Folder List" line unless the Current Folder Type is set to "Specific", and any value that "Folder List" 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 rule 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.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_filt_fldr_type ======= Current Folder Type Explained

    Current Folder Type Explained

    The Current Folder Type is part of the Filtering rule's Pattern. It refers to the type of the folder for which the filtering is being done. In order for a rule 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 Pattern will only 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 Select the "Specific" button AND fill in the name (or list of names) of the folder in the "Folder List" 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 List" field is to use the T command that is available when the "Folder List" line is highlighted. Note that you won't be able to edit the "Folder List" line unless the Current Folder Type is set to "Specific", and any value that "Folder List" 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 rule with a Current Folder Type of either "Any" or "News" may cause the filtering to happen more slowly when opening a newsgroup.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_stat_imp ======= Message Important Status Explained

    Message Important Status Explained

    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 a match.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_stat_new ======= Message New Status Explained

    Message New Status Explained

    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.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_stat_recent ======= Message Recent Status Explained

    Message Recent Status Explained

    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.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_stat_del ======= Message Deleted Status Explained

    Message Deleted Status Explained

    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. That option is at the bottom of the Filter configuration screen.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_stat_ans ======= Message Answered Status Explained

    Message Answered Status Explained

    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.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_abookfrom ======= Address in Address Book Explained

    Address in Address Book Explained

    This option gives you a way to match messages that contain an address that is in one of your address books. Only the simple entries in your address books are searched. Address book distribution lists are ignored!

    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 at least one of the addresses from 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 none of the 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 that 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.

    The addresses from the message that are checked for are determined by the setting you have for "Types of addresses to check for in address book". If you set this to "From" the From address from the message will be looked up in the address book. If you set it to "To" instead then the To addresses will be used. If any of the To addresses are in the address book then it is considered a match for "Yes" or not a match for "No". You could set it to both From and To, in which case all of the From and To addresses are used. The "Reply-To" and "Sender" cases are a little unusual. Due to deficiencies in our tools, Reply-To uses the Reply-To address if it exists or the From address if there is no Reply-To address. Same for the Sender address.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_inabook_from ======= From

    From

    Setting the From line will cause the address from the From header line of the message to be checked for in the address book.

    <End of help on this topic> ======= h_config_inabook_replyto ======= Reply-To

    Reply-To

    Setting the Reply-To line will cause the address from the Reply-To header line of the message to be checked for in the address book. However, if there is no Reply-To header line in the message the From header line will be used instead. We understand this is dumb but we don't have an easy way around it.

    <End of help on this topic> ======= h_config_inabook_sender ======= Sender

    Sender

    Setting the Sender line will cause the address from the Sender header line of the message to be checked for in the address book. However, if there is no Sender header line in the message the From header line will be used instead. We understand this is dumb but we don't have an easy way around it.

    <End of help on this topic> ======= h_config_inabook_to ======= To

    To

    Setting the To line will cause the address from the To header line of the message to be checked for in the address book.

    <End of help on this topic> ======= h_config_inabook_cc ======= CC

    CC

    Setting the CC line will cause the address from the CC header line of the message to be checked for in the address book.

    <End of help on this topic> ======= h_config_role_stat_8bitsubj ======= Raw 8-bit in Subject Explained

    Raw 8-bit in Subject Explained

    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 that have Subjects that contain unencoded 8-bit characters.

    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.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_bom ======= Beginning of Month

    Beginning of Month

    This option gives you a limited ability to take different actions depending on whether this is the first time Alpine has been run this month or not. Though it would be nice to have such an option available, this is not the same as whether or not this is the first time a paricular folder has been opened this month. If you want some action (probably Filtering) to take place in a folder each month, then you will need to be sure that the folder is opened during the first Alpine session of the month in order for this option to be helpful.

    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.

    Look "here" for more information on Patterns.

    Here are some technical details. 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 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.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_boy ======= Beginning of Year

    Beginning of Year

    This option gives you a limited ability to take different actions depending on whether this is the first time Alpine has been run this year or not. Though it would be nice to have such an option available, this is not the same as whether or not this is the first time a paricular folder has been opened this year. If you want some action (probably Filtering) to take place in a folder each year, then you will need to be sure that the folder is opened during the first Alpine session of the year in order for this option to be helpful.

    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.

    Look "here" for more information on Patterns.

    Here are some technical details. 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 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.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_inick ======= Initialize Values From Role Explained

    Initialize Values From Role Explained

    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.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_setfrom ======= Set From Explained

    Set From Explained

    This describes part of the action to be taken if the Pattern for this role is a match. This field consists of a single address that 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 you wish, you may choose an address from your address book with the "T" command.

    If this is left blank, then your normal From address will be used.

    You may also find it useful to add the changed From address to the configuration option.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_setreplyto ======= Set Reply-To Explained

    Set Reply-To Explained

    This describes part of the action to be taken if the Pattern for this role is a match. This field consists of a single address that will be used as the Reply-To address on the message you are sending. This may be a fully-qualified address like

    Full Name <user@domain>

    or just

    user@domain

    If you wish, you may choose an address from your address book with the "T" command.

    If this is left blank, then there won't be a Reply-To address unless you have configured one specially with the "" configuration option.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_setfcc ======= Set Fcc Explained

    Set Fcc Explained

    This describes part of the action to be taken if the Pattern for this role is a match. This field consists of a single folder name that 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 "" 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.

    If you wish, you may choose a folder from your folder collections by using the "T" command.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_usesmtp ======= Use SMTP Server Explained

    Use SMTP Server Explained

    This describes part of the action to be taken if the Pattern for this role is a match. 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 "" variable in the Setup/Config screen.

    If you are using this to post from home when you are at home and from work when you are at work you need to be careful about postponing messages. When you postpone a composition that was using a role with this variable set, the SMTP server list will be saved with the postponed composition. It cannot be changed later. Because of this, 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. In your "Home" role you would put the home SMTP server first and the work SMTP server last. In your "Work" role you would put the work SMTP server first and the home SMTP server last. Then if you start a composition as "Work", postpone it, and then later resume it from home the work SMTP server will fail but the home SMTP server later in the list will succeed.

    You may be able to simplify things by making the regular "" variable in the Setup/Config screen a list instead of using roles to set the SMTP server.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_usenntp ======= Use NNTP Server Explained

    Use NNTP Server Explained

    This describes part of the action to be taken if the Pattern for this role is a match. If this field has a value, then it will be used as the NNTP server to post to newsgroups when this role is being used (unless the NNTP server variable is set in the system-wide fixed configuration file). It has the same semantics as the "" variable in the Setup/Config screen.

    This role setting can facilitate posting to the right nntp server for someone who reads news from various news sources. The feature "" allows for setting the correct without having to individually set a role for that , but for greater flexibility, setting nntp servers for roles may be more desirable for some people.

    If you are using this to post from home when you are at home and from work when you are at work you need to be careful about postponing messages. When you postpone a composition that was using a role with this variable set, the NNTP server list will be saved with the postponed composition. It cannot be changed later. Because of this, you may want to make this a list of NNTP servers with the preferred server at the front of the list and alternate servers later in the list. In your "Home" role you would put the home NNTP server first and the work NNTP server last. In your "Work" role you would put the work NNTP server first and the home NNTP server last. Then if you start a composition as "Work", postpone it, and then later resume it from home the work NNTP server will fail but the home NNTP server later in the list will succeed.

    You may be able to simplify things by making the regular "" variable in the Setup/Config screen a list instead of using roles to set the NNTP server.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_setotherhdr ======= Set Other Headers Explained

    Set Other Headers Explained

    This describes part of the action to be taken if the Pattern for this role is a match. 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 above.

    This field is similar to the "" 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 (F5) (Ctrl-R) command. Here's an example that 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 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 that sets the To header, that role's To header value will be used instead.

    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.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_setlitsig ======= Set Literal Signature Explained

    Set Literal Signature Explained

    This describes part of the action to be taken if the Pattern for this role is a match. 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 file. Tokens work the same way they do with Set Signature, so refer to the help text there for more information.

    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.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_setsig ======= Set Signature Explained

    Set Signature Explained

    This describes part of the action to be taken if the Pattern for this role is a match.

    If either the default option from Setup/Config or the "Set LiteralSig" option for this role are defined, then this option will be ignored. You can tell that that is the case because the value of this option will show up as

    <Ignored: using LiteralSig instead>

    You may either use all Literal Signatures (signatures stored in your configuration file) throughout Alpine, or all signature files. You can't mix the two.

    This field consists of a filename that will be used as the signature file when using this role.

    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 that 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 signature. A remote signature name might look like:

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

    The syntax used here is the same as the syntax used for a remote . Note that you may not access an existing signature file remotely, you have to create a new folder that contains the signature data. If the name you use here for the signature data is a remote name, then when you edit the file using the "F" command the data will be saved remotely in the folder. You aren't required to do anything special to create the folder, it gets created if you use a remote name.

    If you type "F" you may edit the contents of the file (as opposed to the name of the file) you have specified. If you type "T" you may use a browser to choose an existing filename.

    Besides containing regular text, a signature file may also contain (or a signature program may produce) tokens that are replaced with text that 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 that has a signature file for a plain composition (that is, not a reply or forward) then there is no original message, so any tokens that 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 that 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.

    An alternate method for storing the signature is available in Set Literal Signature.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_settempl ======= Set Template Explained

    Set Template Explained

    This describes part of the action to be taken if the Pattern for this role is a match. This field consists of a filename that will be used as the template file when using this role. The template file is a file that 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 that 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 template may be stored remotely in an IMAP folder. In order to do this, you must use a remote name for the template. A remote template name might look like:

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

    The syntax used here is the same as the syntax used for a remote . Note that you may not access an existing template file remotely, you have to create a new folder that contains the template data. If the name you use here for the template is a remote name, then when you edit the file using the "F" command the data will be saved remotely in the folder. You aren't required to do anything special to create the folder, it gets created if you use a remote name.

    If you type "F" you may edit the contents of the file (as opposed to the name of the file) you have specified. If you type "T" you may use a browser to choose an existing filename.

    Besides containing regular text, the template file may also contain (or a template file program may produce) tokens that are replaced with text that 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 that has a template file for a plain composition (that is, not a reply or forward) then there is no original message, so any tokens that 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 that 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 template field means that Alpine will not use a template file when this role is being used.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_filt_stat_imp ======= Set Important Status Explained

    Set Important Status Explained

    This describes part of the action to be taken if the Pattern for this filter is a match. If set to "Don't change it" then this does nothing. If set to "Set this state" then the Important flag is set for the matching message. If set to "Clear this state" then the Important flag is cleared for the matching message. The important flag usually causes an asterisk to show up in the MESSAGE INDEX. It may also be useful when selecting a set of messages with the Select command.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_filt_stat_new ======= Set New Status Explained

    Set New Status Explained

    This describes part of the action to be taken if the Pattern for this filter is a match. If set to "Don't change it" then this does nothing. If set to "Set this state" then the matching message is marked New. If set to "Clear this state" then the matching message is marked Seen.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_filt_stat_ans ======= Set Answered Status Explained

    Set Answered Status Explained

    This describes part of the action to be taken if the Pattern for this filter is a match. If set to "Don't change it" then this does nothing. If set to "Set this state" then the Answered flag is set for the matching message. If set to "Clear this state" then the Answered flag is cleared for the matching message.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_filt_stat_del ======= Set Deleted Status Explained

    Set Deleted Status Explained

    This describes part of the action to be taken if the Pattern for this filter is a match. If set to "Don't change it" then this does nothing. If set to "Set this state" then the matching message is marked Deleted. If set to "Clear this state" then the matching message is marked UnDeleted.

    You should not use this option unless you are prepared to have matching messages expunged from the folder permanently. For example, if you type the Expunge command, this filter is applied before the expunge, so matching messages will be marked Deleted and then will be permanently expunged from the folder. However, since the index isn't redrawn in between the time that the message is marked Deleted and the time that you are asked to expunge, the only indication that you are expunging the message comes in the number of messages being expunged. The same thing may happen when you close a folder. It is also possible that an expunge not initiated by you will delete matching messages.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_scoreval ======= Score Value Explained

    Score Value Explained

    A message's score is the sum of the Score Values from all of the Scoring rules with Patterns that match the message. The value you give here is the Score Value associated with this rule. A Score Value is an integer between -100 and 100, with the default value of zero.

    Alternatively, if the "Score From Header" field is defined (on the line right below the "Score Value" field) then the "Score Value" is ignored and the "Score From Header" field is used instead.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_scorehdrtok ======= Score Value From Header Explained

    Score Value From Header Explained

    This option provides a way to use a number that appears in the headers of your messages as the message's score, or as a component of that score. If this field is defined then it is used instead of the "Score Value". The idea behind this option is that there may be a score embedded in the headers of messages that has already been calculated outside of Alpine. For example, messages delivered to you may contain an "X-Spam" header and somewhere in that header there is a score.

    The value for this option is the name of the header followed by parentheses with two arguments inside:

    HeaderName(field_number,field_separators)

    No space is allowed between the comma and the start of the field_separators. It would be interpreted as the first separator if it was there. Field 0 is the whole line, Field 1 is the data up to the first separator, Field 2 starts after that and goes to the second separator, and so on. It's easier to explain with examples.

    X-Spam(2," ")

    In the above example the header that is used is the "X-Spam" header. The value of that header (the part after the colon and the space) is split into fields separated by spaces.

    Field1 <space> Field2 <space> Field3 ...

    The second field is selected and converted to an integer. It only makes sense if Field2 really is an integer.

    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 use the hits value as a score. Since the score is an integer value you can't make use of the decimal part of the number, but you might split off the hits=10 part as a score by using the characters "=" and "." as your separators.

    X-Spam-Status(2,"=.")

    The first field starts with the Y in Yes and goes until the "=" after hits. The second field is "10" so the score value would be 10.

    Another example we've seen has headers that look like

    X-Spam: Gauge=IIIIIII, Probability=7%, Report=...

    Because there are two equals before the 7% the value

    X-Spam(3,"=%")

    should capture the probability as the score.

    The Score From Header scoring value actually works just like the regular Score Value in that the rest of the pattern has to match before it is used and the scores from all the different scoring rules that match for a particular message are added together. When using the Score From Header method it may (or may not) make sense to use only a single scoring rule with a pattern that matches every message.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_role_replyuse ======= Reply Use Explained

    Reply Use Explained

    This option determines how this particular role will be used when Replying to a message. There are three possible values for this option. The value "Never" means that this role will not be a candidate for use when Replying. The role's Pattern will not be checked for a match, however the role will be available to be manually switched to if there is a confirmation prompt.

    The options "With confirmation" and "Without confirmation" mean that you do want to consider this role when Replying. For either of these settings, the role's Pattern will be compared with the message being replied to. 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 also have a chance to manually change the role to any one of your other roles.

    You won't be prompted for confirmation if none of your role Patterns match the message being replied to. This is independent of the value of the current option. The feature may be used to change this behavior.

    <End of help on this topic> ======= h_config_role_forwarduse ======= Forward Use Explained

    Forward Use Explained

    This option determines how this particular role will be used when Forwarding a message. There are three possible values for this option. The value "Never" means that this role will not be a candidate for use when Forwarding. The role's Pattern will not be checked for a match, however the role will be available to be manually switched to if there is a confirmation prompt.

    The options "With confirmation" and "Without confirmation" mean that you do want to consider this role when Forwarding. For either of these settings, the role's Pattern will be compared with the message being forwarded. 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 also have a chance to manually change the role to any one of your other roles.

    You won't be prompted for confirmation if none of your role Patterns match the message being forwarded. This is independent of the value of the current option. The feature may be used to change this behavior.

    <End of help on this topic> ======= h_config_role_composeuse ======= Compose Use Explained

    Compose Use Explained

    This option determines how this particular role will be used when Composing a new message using the "Compose" command. This does not affect what happens when using the "Role" command to compose a new message. The "Role" command allows you to select a role from all of the roles you have defined, regardless of what Uses you've assigned to those roles.

    There are three possible values for this option. The value "Never" means that this role will not be a candidate for use when Composing. The role's Current Folder Type will not be checked for a match, however the role will be available to be manually switched to if there is a confirmation prompt.

    The options "With confirmation" and "Without confirmation" mean that you do want to consider this role when Composing. For either of these settings, the role's Current Folder Type will be checked (since there is no message to compare with, the rest of the Pattern is considered a match). 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 also have a chance to manually change the role to any one of your other roles.

    When using the Compose command the role checking is a little different because there is no message being replied to or forwarded. Because of this the Current Folder Type is checked but the header pattern fields, the AllText pattern, the BodyText pattern, and the Score Interval are all ignored. A role is considered to be a match if it is a candidate for Compose Use and its Current Folder Type matches the currently open folder. This could be useful if you want to set a role based on the folder you are reading, or the type of folder you are reading.

    You won't be prompted for confirmation if none of your role Patterns are a match. This is independent of the value of the current option. The feature may be used to change this behavior.

    <End of help on this topic> ======= h_config_filter_folder ======= Filter Folder Explained

    Filter Folder Explained

    When the Filter Action is set to "Move", the folder or folders specified here will be used to store messages matching the provided pattern.

    If you set the Filter Action to "Move" you must give a folder name here.

    If you wish, you may choose a folder from your folder collections by using the "T" command.

    Besides regular text, the folder name may also contain tokens that are replaced with text representing the current date when you run Alpine. For example, if the folder name you use is

    abc-_CURYEAR_-_CURMONTHABBREV_

    that is replaced with something like

    abc-2004-oct

    Or,

    abc-_CURYEAR2DIGIT_-_CURMONTH2DIGIT_

    becomes

    abc-04-10

    The token names must be surrounded by underscores in order to be recognized as tokens. The tokens that may be used are those that are derived from the current date. They're listed near the bottom of the list of tokens give here.

    Look "here" for more information on Patterns.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_filter_kw_set ======= Set These Keywords Explained

    Set These Keywords Explained

    This describes part of the action to be taken if the Pattern for this filter is a match. Read a little about keywords in the help text for the Flag command. This option is a list of keywords that will be Set when there is a match. If you wish, you may choose keywords from the list of keywords you have defined with the "T" command. You may add new keywords by defining them in the option in the Setup/Config screen. If you have given a keyword a nickname when configuring it, that nickname may be used instead of the actual keyword.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_config_filter_kw_clr ======= Clear These Keywords Explained

    Clear These Keywords Explained

    This describes part of the action to be taken if the Pattern for this filter is a match. Read a little about keywords in the help text for the Flag command. This option is a list of keywords that will be Cleared when there is a match. If you wish, you may choose keywords from the list of keywords you have defined with the "T" command. You may add new keywords by defining them in the option in the Setup/Config screen. If you have given a keyword a nickname when configuring it, that nickname may be used instead of the actual keyword.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_index_tokens ======= Tokens for Index and Replying This set of special tokens may be used in the "" option, in the "" 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 "" option, but they must be surrounded by underscores for the "" 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 SHORTSUBJECT, SUBJKEY, SHORTSUBJKEY, SUBJKEYINIT, SHORTSUBJKEYINIT, 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 , which adjusts for the timezone the message was sent from, may have an effect 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 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. 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").
    SMARTTIME24
    This token has the structure "day hour:minute" (e.g. "Sun 19:03") for messages dated less than a week from the current date, or "month day" (e.g. "Nov 23") for messages dated less than 6 months ago, or "day/month/year" (e.g "06/Jan/16") for messages dated more than 6 months ago. It uses 9 characters of the width of the screen, and it left aligned.
    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 that 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 may have an effect on the values of these tokens. If you want more control you may use one of the following.
    SMARTDATE
    If the option 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 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 that are all very similar. The ones that 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 may have an effect on the values of these tokens. The possible choices are:
    SMARTDATETIME
    If the option 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 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 that 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

    MSGNO
    This token represents the message's current position in the folder that, 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 "" 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 "" or the "" feature is set (or you actually are on a slow link). The third character is either 'D' (Deleted), 'A' (Answered), 'F' (Forwarded), '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 "" could slow down the display a little while Alpine collects the necessary information.
    SHORTSUBJECT
    This token is the same as SUBJECT, but removes text between "[" and "]". Typically text enclosed between these characters corresponds to mailing list names, and may be unnecessary or unwanted in some instances.
    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 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 . Having this set in the will also cause the keywords to be prepended to the subject in the MESSAGE TEXT screen. If you have given a keyword a nickname (), that nickname is displayed instead of the actual keyword. The option may be used to modify this token slightly. It is also possible to color keywords in the index using the Setup/Kolor screen (Keyword Colors).
    SHORTSUBJKEY
    This token is the same as SUBJKEY, but it is based on SHORTSUBJECT, instead of in SUBJECT.
    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 that 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 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 . The option may be used to modify this token slightly. It is also possible to color keywords in the index using the Setup/Kolor screen (Keyword Colors).

    SHORTSUBJKEYINIT
    This token is the same as SUBJKEYINIT, but it is based on SHORTSUBJECT, instead of in SUBJECT.
    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 .
    SUBJKEYTEXT
    Same as SUBJKEY 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.
    SUBJKEYINITTEXT
    Same as SUBJKEYINIT but with the opening message text.
    KEY
    This is a space-delimited list of keywords that are set for the message. Only those keywords that you have defined in your 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 . 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 (Keyword Colors). 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 .
    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 (Keyword Colors). 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 .
    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. This token may be colored with the Index Priority Symbol Colors.
    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

    This token may be colored with the Index Priority Symbol Colors.

    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. This token may be colored with the Index Priority Symbol Colors.
    ATT
    This is a one column wide field that 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 "" 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 that 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(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 , 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 accommodate the widest possible score. You will probably want to use the 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 may slow down the display of the MESSAGE INDEX screen.

    Tokens Available for all but

    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

    See the help for the "" option to see why you might want to use this. Since the 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 an Alpine internal variable that 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.

    <End of help on this topic> ======= h_reply_token_conditionals ======= Conditional Inclusion of Text for <!--#echo var="VAR_reply-leadin"-->, Signatures, and Templates

    Conditional Inclusion of Text for , Signatures, and Templates

    Conditional text inclusion may be used with the "" option, in signature files, and in template files used in "roles". It may not be used with the "" 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 that 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 "" 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 that 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 in your template file. The text just continues until the next double quotation, even if it's not on the same line.

    Here's an example for use in the "":

    On _DAYDATE_, _FROM__CURNEWS_("", "", "seen in _CURNEWS_,") wrote

    If this was in your and you were replying to a message while reading the newsgroup comp.mail.pine the resulting text would be:

    On Sat, 24 Oct 1998, Fred Flintstone, seen in comp.mail.pine, wrote:

    If you were replying to a message while reading an email folder instead of a newsgroup the resulting leadin text would be

    On Sat, 24 Oct 1998, Fred Flintstone wrote:

    Here's one more (contrived) example illustrating a matching argument that is not the empty string.

    _SMARTDATE_("Today", _SMARTDATE_, "On _DATE_") _FROM_ wrote:

    If this was the value of your "" option and you were replying to a message that was sent today, then the value of the "" 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:

    <End of help on this topic> ======= h_composer_cntxt_nick ======= Collection Nickname Explained

    Collection Edit Help -- Nickname Field

    This field is provided so you can add a short nickname to use when referring to this collection within Alpine. Spaces are allowed, and you don't need to use double-quotes. However, the double-quote character is not allowed.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_folder_server_syntax ======= Server Name Syntax

    Server Name Syntax

    This help describes the syntax that may be used for server names that 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 "" 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 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

    STARTTLS
    This is a unary parameter indicating communication with the server must take place over a TLS connection. If you use this parameter, Alpine will establish an insecure connection to the server, and later will attempts to use a secure encrypted connection. If the attempt to use TLS fails then this parameter will cause the connection to fail instead of falling back to an insecure connection.

    Use this option when you are told to use STARTTLS. If you are told to use SSL or TLS on port 993, use the /ssl unary parameter instead, and not this parameter. Use this parameter when establishing a connection to a server on an insecure port (normally port 143 for IMAP) and then needing to establish a secure connection using STARTTLS.

    Learn more about security considerations when you use this option.

    /starttls

    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. Using this option will make Alpine try to connect to the server using the most secure encrypted SSL connection that both your version of Alpine and the server support.

    /ssl

    TLS1
    This parameter indicates that the connection to the server will be made over the SSL port, but using the TLSv1 protocol, instead of the usual SSLv3 or SSLv2 protocols. Alpine must be linked with an SSL library for this option to be operational.

    /tls1

    TLS1_1
    This parameter indicates that the connection to the server will be made over the SSL port, but using the TLSv1.1 protocol. Alpine must be linked with an SSL library that supports this encryption protocol for this option to be operational.

    /tls1_1

    TLS1_2
    This parameter indicates that the connection to the server will be made over the SSL port, but using the TLSv1.2 protocol. Alpine must be linked with an SSL library that supports this encryption protocol for this option to be operational.

    /tls1_2

    TLS1_3
    This parameter indicates that the connection to the server will be made over the SSL port, but using the TLSv1.3 protocol. Alpine must be linked with an SSL library that supports this encryption protocol for this option to be operational.

    /tls1_3

    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. You should avoid using this option, and instead install the certificate of the server, so you are not a victim of a cracker-in-the-middle attack.

    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 "" 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. Learn more about security considerations when you use this option.

    /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 pine -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.

    Loser
    This option makes sense only for IMAP servers that do not perform a SEARCH command correctly. If your filtering rules fail to filter some messages, that should have been filtered, then this option will make Alpine download all data necessary data to perform that search. There is a performance penalty when using this option. Downloading the data to perform the search will take longer than requesting the IMAP server to perform the filtering, but the filtering will be done correctly.

    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 "".

    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

    <End of help on this topic> ======= h_security_considerations ======= SSL, TLS, STARTTLS and More Security Considerations

    SSL, TLS, STARTTLS and More Security Considerations

    The purpose of this text is to educate users on how to best choose the type of security connection to a remote server using the SSL and TLS encryption protocols.

    In the past, and when Alpine originally started to support encrypted connections to remote servers, the /ssl modifier was needed, and it meant any of the SSLv2 or SSLv3 protocols. Those encryption protocols are considered not fully secure anymore, and in fact, you might not be able to use them anymore.

    Today the /ssl modifier means to use the most secure encryption protocol between your version of Alpine and what the server supports. This might mean more modern protocols, such as TLS 1.0, TLS 1.1, etc. As of this writing, Alpine supports connection using TLS 1.3. These protocols are considered more secure today and they should be preferred over the old SSL protocols.

    A source of confusion for Alpine users might be the meaning of the modifier /tls with respect to the names of the encryption protocols, such as TLS 1.2. The meaning of /tls is to start an encrypted connection to a server after an insecure connection has been established, and we will discuss this later in this help text. The preferred way flag is to use /starttls, instead of /tls.

    The best way to start an encrypted connection to a server is to use the /ssl modifier. If your provider allows encrypted connections on port 993 for IMAP, or port 995 for POP3, or in port 465 for SMTP, just define your server by adding the /ssl modifier and do not add the port to the server. Alpine knows that the secure connection will be done in the correct port, and will use the most secure encryption available between Alpine and the server. You only need to use the port number when it is different from the default port numbers for this type of connections, and those were given above.

    Most email service providers identify secure connections by saying "SSL or TLS". In this case, use the /ssl modifier, and only use the port number in case it is different to the ones above.

    If your service provider says to use STARTTLS, then you need to use the /starttls modifier. If your service provider gives you the option to use SSL or TLS and to use STARTTLS choose the secure port and choose the /ssl modifier. This is because connections using the /starttls modifier can be attacked and your username and password can be stolen by a hacker. The next paragraph describes in short how to do this.

    When you use the /starttls modifier, Alpine connects insecurely to the remote server. Because the connection is insecure, it is possible that you connect to a different server, which connects you to the real server. This is called "man-in-the-middle" attack, and so your communication will pass through the hackers computer before it reaches the real target. An example of a possible man-in-the-middle is your internet service provider, or your employer in some instances. This means that the hacker can modify the replies from the correct server and give you the illusion of security before you are actually connected to the secure server. Therefore, you might disclose your username and password to the hacker before you establish a secure connection to the correct server.

    Therefore, if possible avoid using STARTTLS (for IMAP and POP) or SUBMIT for SMTP (in port 587), as these are subject to attack. If possible ask your provider for secure connections for SSL or TLS in the secure ports 993 for IMAP, 995 for POP or 465 for SMTP.

    In the current state, even as of TLS 1.3, these protocols are considered secure but they do not protect your privacy. For example your internet service provider might track to which servers you are connecting securely. Encryption protocols are evolving to not only protect the security of your data, but also your privacy.

    Other types of errors can lead to insecure connections. An example is when the name of the server as provided by the user does not match the name of the server in the certificate. Read more about security errors of this type and learn how to protect yourself against this type of errors.

    <End of help on this topic> ======= h_composer_cntxt_server ======= Collection Server: Explained

    Collection Edit Help -- Server Field

    This collection's "Server:" definition indicates the hostname of the server providing access to the folders in this collection. The syntax of this server name is the same as for other server names used in remote folder names in Alpine and is described here.

    <End of help on this topic> ======= h_composer_cntxt_path ======= Collection Path: Explained

    Collection Edit Help -- Path Field

    The collection's "Path:" definition indicates the location of the folders in this collection. If the path or any of its components do not exist, Alpine will prompt you for their creation when exiting the Add/Change screen.

    By default the path 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 in the collection, or, typically, the home directory if no server is defined.

    To define a collection outside the default "area", prefix the path with the "namespace" to use when interpreting the given path. If a namespace is specified, the Path 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.
    #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.

    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.

    No, nothing's simple.

    <End of help on this topic> ======= h_composer_cntxt_view ======= Collection View: Explained

    Collection Edit Help -- View Field

    The collection's "View:" definition provides a way to limit the displayed list of folders within a collection. By default, only folders that contain the specified characters anywhere in their name are shown in the collection's folder list.

    Additionally, you can use a wildcard character to better control the list of folders selected for display. The wildcard specifier is the star, "*", character.

    So, for example, to define a collection of all folders ending with "c", you'd specify a view of "*c" (without the quote characters!). Or, similarly, to define a collection of folders whose names start with "a" and end with "z", you'd specify a view of "a*z".

    <End of help on this topic> ======= h_composer_abook_add_server ======= Addressbook Server Name Field Explained This field should be left blank if the address book is stored in a regular file on this system. If it is a remote address book stored on an IMAP server then this is the name of that IMAP server.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_composer_abook_add_folder ======= Addressbook Folder Name Field Explained For a remote address book (one for which the Server Name is filled in) this is the name of a folder on the remote server. The address book data will be stored in this folder. This folder should be used only for storing this single address book, not for other address books or for other messages.

    For a local address book (one for which the Server Name is not filled in) this is the name of a file in which the address book will be stored. The file is in the same directory as the Alpine configuration file if the configuration file is local. If the configuration file is remote, then this will be in the home directory for Unix Alpine and in the directory specified by the "-aux local_directory" command line argument.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_composer_abook_add_nick ======= Addressbook NickName Field Explained This is just an optional nickname for this address book. If present, it is used in some of the displays and error messages in the address book maintenance screens. It is for your convenience only and serves no other purpose.

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ======= h_composer_qserv_cn ======= Directory Query Form Explained Fill in as many of these fields as you wish to narrow down your search. All the fields you fill in must match in order for an entry to be returned. You may use the wildcard character "*" in any of the fields, it matches any zero or more characters at that point in the string. There are no implicit wildcards, so the match is exact unless you include wildcards.

    Note that if an attribute isn't present at all, then the match will fail. For example, if a server doesn't support the Locality attribute, then no matter what you put in the Locality field (other than leaving it empty) the search will fail.

    This field, the Common Name field, is typically a person's full name.

    EDITING and NAVIGATION COMMANDS

    CURSOR MOTION KEYS----------------------|EDITING KEYS-------------------------
    ^B (Left Arrow)    Back character       | ^D       Delete current character
    ^F (Right Arrow)   Forward character    | ^H (DEL) Delete previous character
    ^P (Up Arrow)      Previous line        |
    ^N (Down Arrow)    Next line            | F9       Cut marked text or
    ^A                 Beginning of line    |            delete current line
    ^E                 End of line          | F10      Undelete line(s)
    F7                 Previous page        |
    F8                 Next page            |-------------------------------------
    ^@ (Ctrl-SPACE)    Next word            | MISCELLANEOUS COMMANDS
    ----------------------------------------|
    EXIT COMMANDS    |  GENERAL COMMANDS    | F5    Restore previous search
    F2   Cancel      |   F1    Get help     |
    F3   Search      |   ^Z    Suspend      | ^L    Redraw Screen
    
    CURSOR MOTION KEYS----------------------|EDITING KEYS-------------------------
    ^B (Left Arrow)    Back character       | ^D       Delete current character
    ^F (Right Arrow)   Forward character    | ^H (DEL) Delete previous character
    ^P (Up Arrow)      Previous line        |
    ^N (Down Arrow)    Next line            | ^K       Cut marked text or
    ^A                 Beginning of line    |            delete current line
    ^E                 End of line          | ^U       Undelete line(s)
    ^Y                 Previous page        |
    ^V                 Next page            |-------------------------------------
    ^@ (Ctrl-SPACE)    Next word            | MISCELLANEOUS COMMANDS
    ----------------------------------------|
    EXIT COMMANDS    |  GENERAL COMMANDS    | ^R     Restore previous search
    ^C   Cancel      |   ^G    Get help     |
    ^X   Search      |   ^Z    Suspend      | ^L     Redraw Screen
    

    <End of help on this topic> ======= h_composer_qserv_sn ======= The Surname is usually the family name of a person. ======= h_composer_qserv_gn ======= This is the part of a person's name that isn't the surname or initials. ======= h_composer_qserv_mail ======= This is the email address of a person. ======= h_composer_qserv_org ======= This is the organization a person belongs to. ======= h_composer_qserv_unit ======= This is the organizational unit a person belongs to. ======= h_composer_qserv_country ======= This is the country a person belongs to. ======= h_composer_qserv_state ======= This is the state a person belongs to. ======= h_composer_qserv_locality ======= This is the locality a person belongs to. ======= h_composer_qserv_custom ======= This one is for advanced users only! If you put something in this field, then the rest of the fields are ignored. This field may be set to the string representation of an LDAP search filter (see RFC1960). Here are some examples: To search for an entry with a surname equal to "clinton" you could set the custom filter to: (sn=clinton) This is equivalent to putting "clinton" in the SurName field. To search for an entry that has a surname that begins with "clint" and has a givenname equal to "william" you could use: (&(sn=clint*)(givenname=william)) This is equivalent to setting the SurName field to "clint*" and the GivenName field to "william". To search for an entry where either the common name OR the email address contains "abcde" you could use: (|(cn=*abcde*)(mail=*abcde*)) That isn't equivalent to anything you can do by setting the other fields because of the OR. ======= h_composer_qserv_qq ======= This one is a little different from the rest of the categories. It causes a search to be formed from the configured search filter that you filled in when you added the directory server to your configuration. It can also be combined with the other fields if you'd like. ======= h_address_format ======= INTERNET EMAIL ADDRESS FORMAT

    INTERNET EMAIL ADDRESS FORMAT

    A valid email address on the Internet has a username, an "@" sign, and then a domain, with no spaces. For example, jsmith@art.example.com might be the email address of a person with the username "jsmith" who has an account in the domain "art.example.com". The number of dot-separated segments on the right of the "@" sign can vary - a shorter example would be isabelle@elsewhere.edu (the shortest possible form: here, only the organization's domain is specified after the "@" sign); a longer example would be jsingh@shakti.edutech.example.com (here, the name of the host "shakti" in the domain edutech.example.com is also specified).

    If you do not know the exact email address of someone you want to write to, ask them what it is using other means of communication than email; or use the tools for finding people's addresses that are available on the Internet.

    If you are sending to someone on the same system as you are, you can leave the "@" sign and all the information to its right off of the address, and Alpine will fill it in automatically, unless the feature "" is set in SETUP CONFIGURATION.

    When an email address you send a message to is not reachable -- either because it is simply an incorrect address, or because email can temporarily not be delivered to it due to a technical problem on the way to or at the recipient's end -- you will almost always get an error notification email message back.

    If you encounter problems with, or have questions about, email delivery or email address syntax, contact your local network computing consultants.

    <End of help on this topic> ======= h_flag_user_flag ======= STATUS FLAG: User Defined Keyword

    STATUS FLAG: User Defined Keyword

    This is a keyword that is defined for this folder. It was most likely defined by the owner of the folder. Alpine will not set or clear this flag on its own.

    <End of help on this topic> ======= h_flag_important ======= STATUS FLAG: Important

    STATUS FLAG: Important

    The Important flag, indicated by an asterisk in Alpine's MESSAGE INDEX screen, can only be set by the user, and is intended to be used in whatever fashion makes sense to you. You are the only one that can set or clear it.

    <End of help on this topic> ======= h_flag_new ======= STATUS FLAG: New

    STATUS FLAG: New

    The New flag, indicated by the letter 'N' in Alpine's MESSAGE INDEX screen, is automatically set when messages are delivered to your Inbox (or other folder specified outside of Alpine). Likewise, it is cleared automatically the first time you read the message it is associated with.

    Sometimes it's helpful in prioritizing your mail. For example, perhaps a message isn't weighty enough to assign it an Important flag, but you'd like to be reminded of it next time you read mail. This can be done easily by explicitly resetting the New flag.

    <End of help on this topic> ======= h_flag_answered ======= STATUS FLAG: Answered

    STATUS FLAG: Answered

    The Answered flag, indicated by the letter 'A' in Alpine's MESSAGE INDEX screen, is automatically set when you reply to a message. This flag is not automatically cleared.

    <End of help on this topic> ======= h_flag_forwarded ======= STATUS FLAG: Forwarded

    STATUS FLAG: Forwarded

    The Forwarded flag, indicated by the letter 'F' in Alpine's MESSAGE INDEX screen, is automatically set when you forward a message. This flag is not automatically cleared.

    <End of help on this topic> ======= h_flag_deleted ======= STATUS FLAG: Deleted

    STATUS FLAG: Deleted

    The Deleted flag, indicated by the letter 'D' in Alpine's MESSAGE INDEX screen, is set when you use the ""D Delete" command. It is cleared when you use the "U Undelete" command.

    Messages marked with this flag will be permanently removed from the folder when you issue the Expunge command, or when you indicate acceptance of their removal upon leaving the folder.

    Note, there can be other actions implicit in the "D Delete" command, such as advancing to the next message, that may be momentarily undesirable. For this reason, it's sometimes useful to set or clear the Deleted flag explicitly.

    <End of help on this topic> ====== h_config_incoming_timeo ====== OPTION: <!--#echo var="VAR_incoming-check-timeout"-->

    OPTION:

    This option has no effect unless the feature is set, which in turn has no effect unless "" 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.

    <End of help on this topic> ====== h_config_incoming_interv ====== OPTION: <!--#echo var="VAR_incoming-check-interval"-->

    OPTION:

    This option has no effect unless the feature is set, which in turn has no effect unless "" 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 applies to all other monitored folders.

    <End of help on this topic> ====== h_config_incoming_second_interv ====== OPTION: <!--#echo var="VAR_incoming-check-interval-secondary"-->

    OPTION:

    This option has no effect unless the feature is set, which in turn has no effect unless "" is set.

    This option together with the 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 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 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.

    <End of help on this topic> ====== h_config_incoming_list ====== OPTION: <!--#echo var="VAR_incoming-check-list"-->

    OPTION:

    This option has no effect unless the feature is set, which in turn has no effect unless "" 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.

    <End of help on this topic> ====== h_config_pers_name ====== OPTION: <!--#echo var="VAR_personal-name"-->

    OPTION:

    This value is used to determine the full name part of the "From" address on messages you send. PC-Alpine requires that this be set in order to properly construct the "From" address. If unset, Unix Alpine will obtain your full name from the system password file. PC-Alpine, on the other hand, requires that this be set.

    If you want to change the value of what gets included in the From header in messages you send (other than just the Personal Name) look here for a description.

    <End of help on this topic> ====== h_config_pruned_folders ======

    OPTION: <!--#echo var="VAR_pruned-folders"-->

    OPTION:

    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

    ={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.

    <End of help on this topic> ====== h_config_upload_cmd ====== OPTION: <!--#echo var="VAR_upload-command"-->

    OPTION:

    This option affects the behavior of the Composer's "Read File" (^R in the message body) and "Attach File" (^J 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.

    Note: this facility is intended for use with serial line transfer protocols, such as kermit, xmodem, or zmodem. It is not intended to work with TCP/IP file transfer programs such as ftp.

    If a program is specified, the commands listed above are modified to offer a subcommand (^Y) to activate the transfer. Obviously, the Unix program specified here must match the transfer program or protocol available on the personal computer.

    Alpine expects to exchange uploaded data via a file on your Unix system. When the specified upload program finishes, Alpine expects the uploaded data to be contained in this file.

    When upload is invoked via the "Read File" subcommand, Alpine generates a temporary file name that it will pass to the specified Unix program. Alpine will read the resulting uploaded text from this file and then delete it when the upload command is finished.

    When upload is invoked via the "Attach File" subcommand, Alpine will prompt you for the name of the file that is to contain the uploaded information that it is to attach. Alpine will attach this file to the composition, but will not delete this file after the upload command is finished.

    The special token "_FILE_" may be included among the Unix program's command line arguments. Alpine will replace this symbol with the name of the file being used to exchange the uploaded information. This token allows you to position the file name where it is required in the Unix program's command line arguments.

    If the "_FILE_" token is not present in the specified command, the temporary file's name is automatically appended to the specified Unix program. In other words, you don't need to use "_FILE_" if it is the last command line argument.

    <End of help on this topic> ====== h_config_upload_prefix ====== OPTION: <!--#echo var="VAR_upload-command-prefix"-->

    OPTION:

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

    The special token "_FILE_" may be included in the string specification. That symbol will be replaced with the (Alpine-created) name of the temporary file in which Alpine will expect to find the uploaded file.

    <End of help on this topic> ====== h_config_download_cmd ====== OPTION: <!--#echo var="VAR_download-command"-->

    OPTION:

    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.

    Note: this facility is intended for use with serial line transfer protocols, such as kermit, xmodem, or zmodem. It is not intended to work with TCP/IP file transfer programs such as ftp.

    If a program is specified, the Export command is modified to offer a subcommand (^V) to activate the transfer (in lieu of saving it to the machine where Alpine is running). Obviously, the Unix program specified here must match the transfer program or protocol available on the personal computer.

    When this subcommand is selected and before Alpine invokes the specified Unix program, Alpine will create a temporary file containing the text of the exported message. Alpine uses this file to pass the exported message text to the specified Unix program.

    The special token "_FILE_" may be included among the Unix program's command line arguments. Alpine will replace this symbol with the temporary file's name before executing the Unix program. This token allows you to position the file name where it is required in the Unix program's command line arguments.

    If the "_FILE_" token is not present in the specified command, the temporary file's name is automatically appended to the specified Unix program. In other words, you don't need to use "_FILE_" if it is the last command line argument.

    <End of help on this topic> ====== h_config_download_prefix ====== OPTION: <!--#echo var="VAR_download-command-prefix"-->

    OPTION:

    This option is used in conjunction with the 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).

    The special token "_FILE_" may be included in the string specification. That symbol will be replaced with the (Alpine-created) name of the temporary file into which Alpine will place the message to be downloaded.

    <End of help on this topic> ====== h_config_mailcap_path ====== OPTION: <!--#echo var="VAR_mailcap-search-path"-->

    OPTION:

    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. The default search path can be found in this Alpine Configuration help, near the bottom. If there is more than one file name listed, list members should be delimited by a semi-colon (;) under Windows; for example:
            C:\MYCONFIG\MAILCAP.TXT;H:\NETCONFIG\MAILCAP.TXT
    
    a colon (:) under UNIX; for example:
            ~/.mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap
    

    <End of help on this topic> ====== h_config_mimetype_path ====== OPTION: <!--#echo var="VAR_mimetype-search-path"-->

    OPTION:

    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. The default search path can be found in this Alpine Configuration help.

    If there is more than one file name listed, list members should be delimited by a colon (:) under UNIX and a semi-colon (;) under Windows.

    <End of help on this topic> ====== h_config_system_certs_path ====== OPTION: <!--#echo var="VAR_system-certs-path"-->

    OPTION:

    When Alpine is built to support secure connections to remote servers, a directory must be reserved in the system to store certificates that will be used to validate remote servers. This is normally configured at the time that Alpine is built, but there might be circumstances under which a user might want to use a different directory. For example, the directory might not be accessible, or has not been updated and contains old certificates that have expired.

    This variable can be used to list the directory where such certificates can be found. Alpine will use the first directory in this list that exists in your system and can be accessed. This allows for users to be able to use the same pinerc file in different systems.

    Example of values for this option might be:

    System CACerts Dir = /etc/ssl/certs
                         /usr/local/ssl/certs
                         C:\\libressl\\ssl\\certs
    
    
    

    In unix systems, the default location of the certificates for openssl can be obtained by first executing the command

    openssl version -d
    and adding "/certs" to that value. In Windows the default location for the certificates is C:\\libressl\\ssl\\certs. This value was set by LibreSSL developers, and this option can be used to override this default.

    <End of help on this topic> ====== h_config_system_certs_file ====== OPTION: <!--#echo var="VAR_system-certs-file"-->

    OPTION:

    This option sets the location of the container file that holds certificate authority (CA) certificates. Alpine will use the first container in this list that exists in your system and can be accessed. This allows for users to be able to use the same pinerc file in different systems.

    Example of values for this option might be:

    System Certs Path = /etc/ssl/certs/cert.pem
                        /usr/local/ssl/ca-root-nss.crt
                        C:\\libressl\\ssl\\certs\\cert.pem
    
    
    

    In unix systems, the default location of the certificates for openssl can be obtained by first executing the command

    openssl version -d
    and adding "/certs" to that value. In Windows the default location for the certificates is C:\\libressl\\ssl\\certs\\cert.pem. This value was set by LibreSSL developers, and this option can be used to override this default.

    <End of help on this topic> ====== h_config_set_att_ansi ====== OPTION: Set printer to attached ansi printer

    OPTION: Set printer to attached ansi printer

    Type "S" to set your printer to "attached-to-ansi".
    It is OK to include "attached-to-ansi" in your personal list below.

    <End of help on this topic> ====== h_config_set_att_ansi2 ====== OPTION: Set printer to attached ansi printer (no formfeed)

    OPTION: Set printer to attached ansi printer (no formfeed)

    Type "S" to set your printer to "attached-to-ansi-no-formfeed".
    It is OK to include "attached-to-ansi-no-formfeed" in your personal list below.

    This is the same as the "attached-to-ansi" option except that a formfeed character will not be appended to the end of the print job. If your printer already ejects the paper by itself at the end of the job, you may prefer the "no-formfeed" form of this printer so that you don't get an extra blank page between print jobs.

    <End of help on this topic> ====== h_config_set_att_wyse ====== OPTION: Set printer to attached Wyse60 printer

    OPTION: Set printer to attached Wyse60 printer

    Type "S" to set your printer to "attached-to-wyse".
    It is OK to include "attached-to-wyse" in your personal list below.

    This is very similar to "attached-to-ansi". The only difference is in the control characters sent to turn the printer on and off. The ansi version of the printer uses ESC LEFT_BRACKET 5 i to turn on the printer and ESC LEFT_BRACKET 4 i to turn it off. The Wyse version uses Ctrl-R for on, and Ctrl-T for off. <End of help on this topic> ====== h_config_set_att_wyse2 ====== OPTION: Set printer to attached Wyse60 printer (no formfeed)

    OPTION: Set printer to attached Wyse60 printer (no formfeed)

    Type "S" to set your printer to "attached-to-wyse-no-formfeed".
    It is OK to include "attached-to-wyse-no-formfeed" in your personal list below.

    This is the same as the "attached-to-wyse" option except that a formfeed character will not be appended to the end of the print job. If your printer already ejects the paper by itself at the end of the job, you may prefer the "no-formfeed" form of this printer so that you don't get an extra blank page between print jobs.

    <End of help on this topic> ====== h_config_set_stand_print ====== OPTION: Set default printer

    OPTION: Set default printer

    Move to the printer you want and type "S" to set it to be your default printer. This list is not modifiable by you and has been set up by the system administrators. If there is more than one printer listed in the Command List, you will be able to cycle through that whole list at the time you print, starting with your default. It is OK to include entries from this Standard list in your personal list below.

    <End of help on this topic> ====== h_config_set_custom_print ====== OPTION: Set default printer

    OPTION: Set default printer

    You may add as many print commands as you want to your personal list. Specify one of them as your default printer by moving to the printer you want and typing "S". If there is more than one printer listed in the Command List, you will be able to cycle through that list at the time you print, starting with your default. It is OK to include entries from the Standard list above or to include the command "attached-to-ansi", "attached-to-ansi-no-formfeed", "attached-to-wyse", or "attached-to-wyse-no-formfeed" as one of the entries here.

    <End of help on this topic> ====== h_config_user_id ===== OPTION: <!--#echo var="VAR_user-id"-->

    OPTION:

    This value is used as part of the "From" address on messages you send. It is also the default login name for remote IMAP server access. Set this to the username part you want to appear on outgoing email.

    If you want to change the value of what gets included in the From header in messages you send (other than just the User ID) look here for a description.

    <End of help on this topic> ====== h_config_user_dom ===== OPTION: <!--#echo var="VAR_user-domain"-->

    OPTION:

    This value specifies the domain part (right-hand side) of your return address on outgoing email and is also used as the default domain for email composed to a local user. This value is required for PC-Alpine. If you are unsure as to what this should be, contact your local help desk, system administrator, or Internet Service Provider. If unset, Unix Alpine will obtain the domain from the system. Often this value will be set for your whole site by the system administrator.

    If you set this, see also the "" feature.

    If you want to change the value of what gets included in the From header in messages you send (other than just the User Domain) look here for a description.

    <End of help on this topic> ====== h_config_smtp_server ===== OPTION: <!--#echo var="VAR_smtp-server"-->

    OPTION:

    This value specifies the name of one or more SMTP (Simple Mail Transfer Protocol) servers for sending mail. You must have an SMTP server for use with PC-Alpine. SMTP servers are normally set up by a system administrator for use by all members of a given campus or department. Contact your local help desk to ask what SMTP servers you should use. Unix Alpine users may not need to set an SMTP server. Alpine will attempt to execute the program (usually sendmail) that is used to insert mail into the mail system. If this works for you, you may leave this option blank. If there is an SMTP server running on the Unix host you may be able to improve sending performance slightly by setting the SMTP server option to "localhost" or to the actual name of the Unix host.

    If the Unix host doesn't work the way Alpine was expecting you will need to set the value of this option. SMTP servers are normally set up by a system administrator for use by all members of a given campus or department. Contact your local help desk to ask what SMTP servers you should use.

    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 "/starttls" to the name then the connection will fail instead of falling back to a non-secure connection.

    smtpserver.example.com/starttls

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

    <End of help on this topic> ====== h_config_nntp_server ===== OPTION: <!--#echo var="VAR_nntp-server"-->

    OPTION:

    This value specifies the name of one or more NNTP (Network News Transfer Protocol) servers for reading and posting USENET news. NNTP servers are normally set up by a system administrator for use by all members of a given campus or department. Contact your local help desk to ask what NNTP servers you should use. Often Unix Alpine users will find that this variable has been set for the whole system (and they don't have to worry about it). When you define an NNTP server here, 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. For more about reading news with Alpine, see how to use Alpine to read 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 that 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.

    <End of help on this topic> ====== h_config_inbox_path ===== OPTION: <!--#echo var="VAR_inbox-path"-->

    OPTION:

    This value overrides the default value of your INBOX name/path/location. PC-Alpine users must specify an inbox path and it must be a folder on an IMAP server. Unix and VMS Alpine users will often find that this variable has been pre-configured by your system administrator. You may be able to specify an alternate INBOX that is either a local folder or a folder on an IMAP server.

    A typical remote entry would be: {monet.art.example.com}INBOX where "monet.art.example.com" is replaced by the name of your IMAP mail server.

    See the section on Valid Folder Names for details on the syntax of folder definitions.

    See Missing mail and the mbox driver if your mail is disappearing.

    <End of help on this topic> ====== h_config_change_your_from ===== How to Change your From Address

    How to Change your From Address

    If the From address that Alpine includes in mail that you send is not correct, you may want to configure a different default value for the From address. You may follow these directions to change the default:

    • Go to the Main Alpine Menu
    • From there type the Setup Command
    • From there type the Config Command

    You've probably already seen this SETUP CONFIGURATION screen. If not, there are many options you may want to set here. To set the value of the From header you may use the option. Find it by scrolling down a few pages or use the WhereIs command to search for "customized". You may want to read the help text associated with the option.

    To add a custom From header, type the Add command and enter the full header line, including the leading "From: ". For example:

    From: Full Name <user@example.com>

    Now exit the Setup command and try sending mail to yourself to see what the From line looks like.

    When you are in the composer you may edit the custom From line by typing Ctrl-R while your cursor is in the headers of the message and then moving to the From line and editing. If you want to leave the default value the same but add the possibility of being able to edit the header when you compose, add just the header name without a value. For example:

    From:

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

    <End of help on this topic> ====== h_config_default_fcc ===== OPTION: <!--#echo var="VAR_default-fcc"-->

    OPTION:

    This value specifies where a copy of outgoing mail should be saved. 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 carbon copy only applies when the "" is set to use the default folder. PC-Alpine default is "SENTMAIL" (normally stored as SENTMAIL.MTX) Unix Alpine default is normally "sent-mail" in the default folder collection.

    If you access your email through an IMAP server, especially if you often switch between Unix Alpine and PC-Alpine, or between various desktop email systems, you may want to set this to a folder on your IMAP server (remember that in order to later access this remote folder through Alpine, it must be in a folder collection. See Folder Collections Explained for more information). An example:

    {monet.art.example.com}mail/sent-mail

    To suppress saving of outgoing mail, set: =""

    See the section on Valid Folder Names for details on the syntax of folder definitions.

    <End of help on this topic> ====== h_config_def_save_folder ===== OPTION: <!--#echo var="VAR_default-saved-msg-folder"-->

    OPTION:

    This option determines the default folder name for save-message operations ("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 "" doesn't override it. PC-Alpine default is "SAVEMAIL" (normally stored as SAVEMAIL.MTX). Unix Alpine default is normally "saved-messages" in the default folder collection. If you access your email through an IMAP server, especially if you often switch between Unix and PC-Alpine, or between various desktop email systems, you may want to set this to a folder on an IMAP server (remember that in order to later access this remote folder through Alpine, it should be in a folder collection. See Folder Collections Explained for more information). An example:

    {monet.art.example.com}mail/saved-messages

    See the section on Valid Folder Names for details on the syntax of folder definitions.

    <End of help on this topic> ====== h_config_postponed_folder ===== OPTION: <!--#echo var="VAR_postponed-folder"-->

    OPTION:

    This value overrides the default name for the folder where postponed messages are saved. If this is not a path name, it will be in the default collection for message Saves. Any valid folder specification, local or remote, is allowed. PC-Alpine default is "POSTPOND" (stored as POSTPOND.MTX). The Unix Alpine default is normally "postponed-msgs" in the default collection.

    Tip: If you are using different installations of (PC-)Alpine -- for example, PC-Alpine on your personal computer at home, and Unix Alpine on campus -- you can postpone a composition begun with one Alpine and resume it later with the other if you set this option to the same folder on the same IMAP host in all Alpine copies you use. (Remember that in order to later access this remote folder through Alpine, it must be in a folder collection. See Folder Collections Extensions Explained for more information). An example:

    {monet.art.example.com}mail/postponed-msgs

    See the section on Valid Folder Names for details on the syntax of folder definitions.

    <End of help on this topic> ====== h_config_read_message_folder ===== OPTION: <!--#echo var="VAR_read-message-folder"-->

    OPTION:

    By virtue of specifying a folder name here, Alpine will be configured to save all messages that you have read during a session into the designated "read messages" folder. This allows you to more easily distinguish between your really new email (in your INBOX) and those that you have already read. Depending on how you define the "auto-move-read-messages" setting, you may or may not be asked when you quit Alpine if you want read messages to be moved to this folder. In either case, moving the messages means they will be deleted from your INBOX.

    If this is not a path name, it will be in the default collection for saves. Any valid folder specification, local or remote (via IMAP), is allowed. There is no default for the name of the read message folder.

    See the section on Valid Folder Names for details on the syntax of folder definitions.

    <End of help on this topic> ====== h_config_form_folder ===== OPTION: <!--#echo var="VAR_form-letter-folder"-->

    OPTION:

    A "" 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 "". 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.

    See the section on Valid Folder Names for details on the syntax of folder definitions.

    <End of help on this topic> ====== h_config_archived_folders ===== OPTION: <!--#echo var="VAR_incoming-archive-folders"-->

    OPTION:

    This is like , only more general. You may archive any of the folders in your incoming collection. 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-messages" setting, 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.

    The name of the first folder in each pair can be either the technical specification of the folder (like what appears in your configuration file) or (much easier) the nickname that you gave the folder when you made it an incoming folder.

    For example:

    {monet.art.example.com}inbox {monet.art.example.com}mail/inbox-archive

    or, using nicknames:

    inbox inbox-archive

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

    See the section on Valid Folder Names for details on the syntax of folder definitions.

    <End of help on this topic> ====== h_config_newsrc_path ====== OPTION: <!--#echo var="VAR_newsrc-path"-->

    OPTION:

    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.

    If this option is not set, PC-Alpine looks first for $HOME\NEWSRC (where $HOME defaults to the root of the current drive, e.g. "C:\") and then it looks in the same directory as your pinerc file for NEWSRC. Unix Alpine looks for the file ~/.newsrc (that is, the file named .newsrc in your account's home directory).

    <End of help on this topic> ====== h_config_literal_sig ===== OPTION: <!--#echo var="VAR_literal-signature"-->

    OPTION:

    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 option.

    This is simply a different way to store the signature. The signature is stored inside your Alpine configuration file instead of in a separate file. Tokens work the same way they do with the so look there for help.

    The Setup/Signature command on Alpine's MAIN MENU will edit the "" by default. However, if no "" is defined and the file named in the "" option exists, then the latter will be used instead.

    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 SETUP CONFIGURATION window after you are done editing the signature.

    <End of help on this topic> ====== h_config_signature_file ===== OPTION: <!--#echo var="VAR_signature-file"-->

    OPTION:

    If a option is defined, then this "" option will be ignored. You can tell that that is the case because the value of the "" will show up as

    <Ignored: using instead>

    You may either use all Literal Signatures (signatures stored in your configuration file) throughout Alpine, or all signature files. You can't mix the two.

    This is the name of a file that 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 "" setting in the feature list.

    The default file name is "PINE.SIG" in the same directory as your PINERC file if your PINERC file is a local file. If your PINERC file is remote, then it will be in the directory specified by the "-aux local_directory" command line option. ".signature".

    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 that 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 name might look like:

    {myimaphost.myschool.k12.wa.us}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 that 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 that are replaced with text that 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 that 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 that 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.

    An alternate method for storing the signature data is available by using the configuration option. This variable will be used by default.

    <End of help on this topic> ====== h_config_init_cmd_list ===== OPTION: <!--#echo var="VAR_initial-keystroke-list"-->

    OPTION:

    The initial keystroke--or command--list option lets you start Alpine at any place you like. Whatever keystrokes you specify here will be executed by Alpine upon startup as a macro. The words SPACE, TAB, DOWN, UP, LEFT, and RIGHT indicate the pressing of those keys. CR indicates the pressing of the RETURN key. F1 through F12 represent the function keys, and ^ followed by a character indicates that key pressed along with the control key (in other words, ^P means Ctrl-P). As a shortcut notation, an element of the list may be several characters surrounded by double-quotes ("). That will be expanded into the individual keystrokes (excluding the double-quote characters). For example, the quoted-string

    "ABC"

    is interpreted the same as the three separate list members

    A and B and C

    which is also the same as

    A,B,C

    An example: To view message 1 on startup, you could use an equal to

    I,J,1,CR,V

    An equivalent version of this is

    "IJ1",CR,V

    Restrictions: You cannot pre-type into the composer with the initial keystroke list, and you cannot mix function key commands with letter commands.

    <End of help on this topic> ====== h_config_comp_hdrs =====

    OPTION: <!--#echo var="VAR_default-composer-hdrs"-->

    OPTION:

    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 that 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.

    <End of help on this topic> ====== h_config_custom_hdrs ===== OPTION: <!--#echo var="VAR_customized-hdrs"-->

    OPTION:

    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 list, otherwise they become part of the rich header set that you only see when you press the Rich Header (F5) (Ctrl-R) command. (If you are looking for a way to change which headers are displayed when you view a message, take a look at the option instead.) Here's an example that 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 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 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 . For example, if you are Replying to a message the Subject field will already be filled in. In that case, if the 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 configuration option.

    Limitation: Because commas are used to separate the list of , 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.

    <End of help on this topic> ====== h_config_viewer_headers ===== OPTION: <!--#echo var="VAR_viewer-hdrs"-->

    OPTION:

    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 "" list are present in the message, then they will be shown. The order of the headers you list will be honored. If the special value "all-except" is included as the first header in the "" list, then all headers in the message except those in the list will be shown. The values are all case insensitive.

    Note that once you put anything in the "" list, then the original default headers are ignored. So, if you just wanted to add the header Organization to the list, you would have to list Organization plus all of the other headers originally in the default list. If you just included Organization and nothing else, then you would see only the Organization header, nothing else.

    The default list of headers includes:

    • From
    • Resent-From
    • To
    • Resent-To
    • Cc
    • Resent-cc
    • Bcc
    • Newsgroups
    • Followup-To
    • Date
    • Resent-Date
    • Subject
    • Resent-Subject
    • Reply-To

    If you are looking for a way to control which headers are included in outgoing mail and are visible or not in the composer, take a look at the options and instead of this option.

    <End of help on this topic> ====== h_config_viewer_margin_left ===== OPTION: <!--#echo var="VAR_viewer-margin-left"-->

    OPTION:

    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 , 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 and the is fewer than 8, then margins of zero will be used instead.

    <End of help on this topic> ====== h_config_viewer_margin_right ===== OPTION: <!--#echo var="VAR_viewer-margin-right"-->

    OPTION:

    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 and the is fewer than 8, then margins of zero will be used instead.

    <End of help on this topic> ====== h_config_quote_suppression ===== OPTION: <!--#echo var="VAR_quote-suppression-threshold"-->

    OPTION:

    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 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 that 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 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 "" 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.

    <End of help on this topic> ====== h_config_saved_msg_name_rule ===== OPTION: <!--#echo var="VAR_saved-msg-name-rule"-->

    OPTION:

    This option determines the default folder name when saving a message.

    The default option is "default-folder", which is the folder called "saved-messages" in Unix Alpine and "savemail" in PC-Alpine. To change the default folder, modify the Alpine option called "".

    Choosing any of the "by-" options cause 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 aggregrate 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" is 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.

    Choosing the option called "last-folder-used", causes Alpine to save to the folder that you saved to the last time you saved a message. The first time you save a message in an Alpine session, Alpine attempts to save the message to the default folder.

    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"

    <End of help on this topic> ====== h_config_fcc_rule ===== OPTION: <!--#echo var="VAR_fcc-name-rule"-->

    OPTION:

    This option determines the default name for folder carbon copy. Choose one:
    default-fcc
    This is the normal default, the value of which is set in the "" variable as specified earlier in this configuration.
    last-fcc-used
    Causes Alpine to use the folder that was last used in the fcc field
    by-nickname
    Means that Alpine will use the nickname from your address book that matches the first address in the To line. If there is no match, it will use the value of the "" variable.
    by-recipient
    Means Alpine will form a folder name based on the left hand side of the first address in the To line.
    by-nick-then-recip
    Means that it will use the matching nickname from your address book if there is one, otherwise it will extract the recipient name from the address and use that (like by-recipient).
    current-folder
    Causes a copy to be written to the currently open folder, unless that is the INBOX. In the case where the current folder is the INBOX, the "" is used instead.

    Note: Whatever the fcc specified by the rule here, it will be over-ridden by any fcc entries you have in your address book.

    <End of help on this topic> ====== h_config_sort_key ===== OPTION: <!--#echo var="VAR_sort-key"-->

    OPTION:

    This option determines the order in which messages will be displayed in the MESSAGE INDEX screen. Choose from:

    Each type of sort may also be reversed. Normal default is by "Arrival".

    A possible point of confusion arises when you change the configuration of the . 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 (F7$) command, then it will not be re-sorted until the next time it is opened.

    <End of help on this topic> ====== h_config_other_startup ===== OPTION: Set Startup Rule

    OPTION: Set Startup Rule

    This option determines which message will be the current message when the folder is first opened. It works the same way that the option works, so look there for help. It may be used for any folder, not just incoming folders.

    <End of help on this topic> ====== h_config_perfolder_sort ===== Set Sort Order

    Set Sort Order

    This option determines the order in which messages will be displayed in the MESSAGE INDEX screen when the Current Folder Type set in the Pattern is a match. Choose from:

    Each type of sort may also be reversed. Normal default is by "Arrival".

    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 (F7$) command, then it will not be re-sorted until the next time it is opened.

    <End of help on this topic> ====== h_config_fld_sort_rule ===== OPTION: <!--#echo var="VAR_folder-sort-rule"-->

    OPTION:

    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".

    <End of help on this topic> ====== h_config_ab_sort_rule ===== OPTION: <!--#echo var="VAR_addrbook-sort-rule"--></a>

    OPTION:

    This option controls the order in which address book entries will be presented. Choose one of the following:
    fullname
    use fullname field, lists mixed in
    fullname-with-lists-last
    use fullname field, but put lists at end
    nickname
    use nickname field, lists mixed in
    nickname-with-lists-last
    use nickname field, but put lists at end
    dont-sort
    don't change order of file

    The normal default is "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 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.

    <End of help on this topic> ====== h_config_post_char_set ===== OPTION: <!--#echo var="VAR_posting-character-set"-->

    OPTION:

    The configuration option is used when sending messages.

    When sending a message the text typed in the composer is labeled with the character set specified by this option. If the composed text is not fully representable in the specified , then it is labeled as "UTF-8." instead;

    Attachments are labeled with your "Keyboard Character Set".

    Generally, there should be little need to set this option. If left unset, the default behavior is to label composed text as specifically as possible. That is, if the composed text has no non-ASCII characters, it is labeled as "US-ASCII." Similarly, if it is composed of only ISO-8859-15 characters, it is labeled as such. Alpine will attempt to automatically detect a number of character sets including 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, and EUC-KR. If the message contains a mix of character sets, it is labeled as "UTF-8."

    This setting is provided to allow you to force a particular character set that Alpine does not automatically detect. For example, if a message is representable in more than one character set then Alpine may choose a different default than you want. Lastly, by setting this option explicitly to "UTF-8" all non-ASCII messages you send will be labeled as "UTF-8" instead of something more specific.

    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.

    The options "Display Character Set" and "Keyboard Character Set" are closely related. Setting the feature "Use System Translation" should cause this option to be ignored.

    <End of help on this topic> ====== h_config_unk_char_set ===== OPTION: <!--#echo var="VAR_unknown-character-set"-->

    OPTION:

    The configuration option is used when reading or replying to messages.

    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 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.

    Instead of just unlabeled text, this option also affects text which is labeled with the charsets "X-Unknown", "MISSING_PARAMETER_VALUE" or "US-ASCII".

    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.

    <End of help on this topic> ====== h_config_char_set ===== OPTION: Display Character Set

    OPTION: Display Character Set

    The Display Character Set configuration option is used when viewing messages.

    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 that 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 that 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 . 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.

    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 that 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 . 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 Ukrainian
    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 "".

    The 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 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 that 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.

    The options "" and "Keyboard Character Set" are closely related to this option. Setting the feature "Use System Translation" should cause this option to be ignored.

    When displaying a message, Alpine compares this setting to the character set specified in the message. If not all of the characters in the message can be displayed using the Display Character Set then Alpine places an editorial comment in the displayed text (enclosed in square-brackets) indicating that some characters may not be displayed correctly. This comment may be eliminated by turning on the option .

    <End of help on this topic> ====== h_config_key_char_set ===== OPTION: Keyboard Character Set

    OPTION: Keyboard Character Set

    UNIX Alpine only.

    The Keyboard Character Set identifies the character set of the characters coming from your keyboard. It defaults to having the same value as your "Display Character Set", which in turn defaults to a value obtained from your environment. It is unlikely that you will need to use this option, because the keyboard almost always produces the same kind of characters as the display displays.

    This character set is also used when accessing files in your local file system. The names of the files are assumed to be in the same character set as what the keyboard produces, as well as the contents of the files.

    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.

    The options "Display Character Set" and "" are closely related. Setting the feature "Use System Translation" should cause this option to be ignored.

    <End of help on this topic> ====== h_config_editor ===== OPTION: <!--#echo var="VAR_editor"-->

    OPTION:

    specifies the program invoked by ^_ in the Composer. This is normally an alternative to Alpine's internal composer (Pico). You could use this setting to specify an alternate editor to use occasionally or if you have a favorite editor and want to use it all the time (see the "" setting).

    If you specify multiple editors for this option, ^_ will invoke the first one of those specified that exists and is executable. When specifying a program for use here, make sure that the format of the text it saves -- which, when you exit it, will become the message body in Alpine -- is appropriate for the body of an email message; avoid proprietary formats that may result in a message body that the recipient of your message will be unable to decipher.

    If you are in doubt about what editors are available on your system, or which of them may be appropriate for specification here, ask your local computing support staff.

    Note that if is unset, outgoing text will be set as flowed. In most cases this will be fine, but if the editor has a "flowed text" mode, it would be best to use that.

    <End of help on this topic> ====== h_config_speller ===== OPTION: <!--#echo var="VAR_speller"-->

    OPTION:

    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

    aspell --dont-backup --mode=email check

    if it knows where to find "aspell". If there is no "aspell" command available but the command "ispell" is available then the command used is

    ispell -l

    Otherwise, the ancient "spell" command is used.

    If you specify a value for this command (with full pathname) then that is what will be used instead of any of the defaults. When invoking this 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 that program Alpine will read the tempfile back into the composer.

    Don't set this speller option to the standard Unix spell command. That won't work because spell works in a different way.

    <End of help on this topic> ====== h_config_aspell_dictionary ===== OPTION: <!--#echo var="VAR_aspell-dictionary-list"-->

    OPTION:

    PC Alpine only.

    This option specifies a list of dictionaries you will use with aspell. A sample entry is "en_US" for american english, or "en_GB" for british english.

    <End of help on this topic> ====== h_config_display_filters ===== OPTION: <!--#echo var="VAR_display-filters"-->

    OPTION:

    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, exporting to a text file). For security reasons, the full path name of the filter command must be specified.

    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 that 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 is sent in this way to improve security. The number is unique to the current Alpine session and is only generated once per session.
    _SILENT_
    When the filter is executed, this token tells Alpine not to repaint the screen while the command is being executed. This can be used with filters that do not interact with the user, and therefore repainting the screen is not necessary.

    The feature 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.

    <End of help on this topic> ====== h_config_sending_filter ===== OPTION: <!--#echo var="VAR_sending-filters"-->

    OPTION:

    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.

    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. 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.
    _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.

    NOTE: Only the body text, which is visible in the Composer, is piped through this filter. Attachments are not sent to the filter.

    Sending filters are not used if the feature "" is set.

    <End of help on this topic> ====== h_config_keywords ===== OPTION: <!--#echo var="VAR_keywords"-->

    OPTION:

    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 (F11*) 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 "" option or the "" 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 option. The 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 that 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 that 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.

    There are a couple limitations. First, not all servers support keywords. Second, some servers (including the IMAP server included with Alpine) have a per folder limit on the number of keywords that may be defined. This count commonly includes every keyword you have ever used in the folder, even if it is no longer being used. In other words, you can add keywords but you cannot remove them easily. If you have changed keywords over the life of a folder and find that you have reached such a limit, one possible solution might be to copy all of the messages to a newly created folder (using Alpine) and then delete the original and rename the new folder. The reason this might work is that only the keywords currently set in any of the messages will be used in the new folder, hopefully putting you under the limit.

    <End of help on this topic> ====== h_config_alt_addresses ===== OPTION: <!--#echo var="VAR_alt-addresses"-->

    OPTION:

    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 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 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 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.

    <End of help on this topic> ====== h_config_abook_formats ===== OPTION: <!--#echo var="VAR_addressbook-formats"-->

    OPTION:

    This option specifies the format that address books are displayed in. Normally, 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. So, for example, to get the default behavior you could list

    =NICKNAME FULLNAME ADDRESS

    (You can also use the token DEFAULT to get the default behavior for an address book format.)

    The tokens are separated by spaces. "" is a list, so if you have more than one address book you may have a separate format for each by putting its format at the corresponding location in the "" list.

    Listed first are the personal address books, then the global address books. So, if you have two personal address books and one global address book, you may have up to three formats in the "" list. If "" doesn't have as many elements as there are address books, the last element is used repeatedly.

    Each of the tokens may also be optionally followed by parentheses with either a number or a percentage inside the parentheses. For example, FULLNAME(13) means to allocate 13 characters of space to the fullnames column, FULLNAME(20%) means to allocate 20% of the available space (the screen width minus the space for inter-column spaces) to the fullnames column, while plain FULLNAME means the system will attempt to figure out a reasonable number of columns.

    There are always 2 spaces between every column, so if you use fixed column widths (like 13) you should remember to take that into account.

    <End of help on this topic> ====== h_config_set_index_format ===== Set Index Format

    Set Index Format

    This option is used to customize the content of lines in the MESSAGE INDEX screen. This action works exactly like the regular "" option in the Setup/Config screen, except that you can have a folder-specific value for it if you specify it here. Consult the help for "" for more information.

    <End of help on this topic> ====== h_config_index_format ===== OPTION: <!--#echo var="VAR_index-format"-->

    OPTION:

    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 token's associated data should occupy on the index line by appending to the token 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:

    STATUS MSGNO SMARTDATETIME24 FROMORTO(33%) SIZENARROW SUBJKEY(67%)

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

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

    If you want to retain the default format that Pine 4.64 had, use

    =STATUS MSGNO DATE FROMORTO(33%) SIZE SUBJKEY(67%)

    and set the feature .

    <End of help on this topic> ====== h_config_reply_intro ===== OPTION: <!--#echo var="VAR_reply-leadin"-->

    OPTION:

    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 "" 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 "". 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 "" 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 "".

    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.

    <End of help on this topic> ====== h_config_remote_abook_history ===== OPTION: <!--#echo var="VAR_remote-abook-history"-->

    OPTION:

    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.

    This option is also used to determine how many extra copies of remote Alpine configuration files are kept.

    <End of help on this topic> ====== h_config_remote_abook_validity ===== OPTION: <!--#echo var="VAR_remote-abook-validity"-->

    OPTION:

    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.

    <End of help on this topic> ====== h_config_user_input_timeo ===== OPTION: <!--#echo var="VAR_user-input-timeout"-->

    OPTION:

    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 that 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.

    <End of help on this topic> ====== h_config_ssh_open_timeo ===== OPTION: <!--#echo var="VAR_ssh-open-timeout"-->

    OPTION:

    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.

    <End of help on this topic> ====== h_config_rsh_open_timeo ===== OPTION: <!--#echo var="VAR_rsh-open-timeout"-->

    OPTION:

    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. This might be useful if rsh connections will never work in your environment but are causing delays due to firewalls or some other reason.

    <End of help on this topic> ====== h_config_tcp_open_timeo ===== OPTION: <!--#echo var="VAR_tcp-open-timeout"-->

    OPTION:

    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.

    <End of help on this topic> ====== h_config_tcp_readwarn_timeo ===== OPTION: <!--#echo var="VAR_tcp-read-warning-timeout"-->

    OPTION:

    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.

    Related option: .

    <End of help on this topic> ====== h_config_tcp_writewarn_timeo ===== OPTION: <!--#echo var="VAR_tcp-write-warning-timeout"-->

    OPTION:

    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.

    Related option: .

    <End of help on this topic> ====== h_config_tcp_query_timeo ===== OPTION: <!--#echo var="VAR_tcp-query-timeout"-->

    OPTION:

    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.

    <End of help on this topic> ====== h_config_quit_query_timeo ===== OPTION: <!--#echo var="VAR_close-connection-timeout"-->

    OPTION:

    The original purpose of this option was to close a connection after this much time has elapsed without response from the server. The problem this generates is that a server might not reply on time due to a slow operation (for example, sorting a large folder, or filtering messages, etc.) In those situations it is desirable to wait for the server, even when this takes a long time.

    In order to have a good compromise so that a user can distinguish between when a connection is closed, therefore we do not need to wait for it, and the operation that the user is waiting for takes a long time, this option only applies to the "NOOP" IMAP command. So, if a NOOP command has been issued, and the connection does not return after the number of seconds configured here, which must be at least the amount configured in the option , then Alpine will close the connection.

    Closing connections that have connectivity problems is a good idea. In an ideal world, one would like all connections to be fast and reliable, so the amount of time and effort put into parsing a folder to report its state when it is opened is not wasted, so keeping connections alive is good, but the problem with this is that waiting for a user to reply to a "keep connection alive?" question can take a long time, and that might affect other connections that could be closed because Alpine is not pinging them while it is waiting for a reply from a user for a different connection. Therefore setting this value helps to keep other connections alive, in case you have several incoming folders in other servers.

    The default value for this option is 0, which means that no connections will be closed automatically, so if you want connections to be closed automatically you must set this option to a positive number bigger or equal than the value of the option .

    <End of help on this topic> ====== h_config_incoming_folders ===== OPTION: <!--#echo var="VAR_incoming-folders"-->

    OPTION:

    This is a list of one or more folders other than INBOX that may receive new messages. It is related to the "" feature. This variable is normally manipulated with the Add, Delete, and Rename commands in the FOLDER LIST for the Incoming Message Folders collection.

    <End of help on this topic> ====== h_config_folder_spec ===== OPTION: <!--#echo var="VAR_folder-collections"-->

    OPTION:

    This is a list of one or more collections where saved mail is stored. The first collection in this list is the default collection for Saves, including .

    This variable is normally manipulated using the Setup/collectionList screen.

    <End of help on this topic> ====== h_config_news_spec ===== OPTION: <!--#echo var="VAR_news-collections"-->

    OPTION:

    This is a list of collections where news folders are located.

    This variable is normally manipulated using the Setup/collectionList screen.

    <End of help on this topic> ====== h_config_address_book ===== OPTION: <!--#echo var="VAR_address-book"-->

    OPTION:

    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.

    Use the Setup/AddressBook screen to modify this variable.

    <End of help on this topic> ====== h_config_glob_addrbook ===== OPTION: <!--#echo var="VAR_global-address-book"-->

    OPTION:

    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. Global address books are defined to be ReadOnly.

    Use the Setup/AddressBook screen to modify this variable.

    <End of help on this topic> ====== h_config_last_vers ===== OPTION: <!--#echo var="VAR_last-version-used"-->

    OPTION:

    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.

    <End of help on this topic> ====== h_config_printer ===== OPTION: Printer

    OPTION: Printer

    Your default printer selection.

    Use the Setup/Printer screen to modify this variable.

    <End of help on this topic> ====== h_config_print_cat ===== OPTION: <!--#echo var="VAR_personal-print-category"-->

    OPTION:

    This is an internal Alpine variable. It will be equal to 1, 2, or 3 depending on whether the default printer is attached, standard, or a personal print command.

    Use the Setup/Printer screen to modify this variable.

    <End of help on this topic> ====== h_config_print_command ===== OPTION: <!--#echo var="VAR_personal-print-command"-->

    OPTION:

    List of personal print commands.

    Use the Setup/Printer screen to modify this variable.

    <End of help on this topic> ====== h_config_pat_old ===== OPTION: Patterns

    OPTION: Patterns

    The option Patterns is obsolete in Alpine and in Pine 4.50 and later, replaced by the options Patterns-Roles, Patterns-Filters, Patterns-Scores, Patterns-Indexcolors, and Patterns-Other. Patterns-Scores and Patterns-Filters have been replaced since then by Patterns-Scores2 and Patterns-Filters2.

    Use the Setup/Rules screens to modify these variable.

    <End of help on this topic> ====== h_config_pat_roles ===== OPTION: <!--#echo var="VAR_patterns-roles"-->

    OPTION:

    List of rules used for roles. The option Patterns is obsolete in Alpine and in Pine 4.50 and later, replaced by this and other options.

    Use the Setup/Rules/Roles screen to modify this variable.

    <End of help on this topic> ====== h_config_pat_filts ===== OPTION: <!--#echo var="VAR_patterns-filters2"-->

    OPTION:

    List of rules used for filters.

    Use the Setup/Rules/Filters screen to modify this variable.

    <End of help on this topic> ====== h_config_pat_scores ===== OPTION: <!--#echo var="VAR_patterns-scores2"-->

    OPTION:

    List of rules used for scoring.

    Use the Setup/Rules/SetScores screen to modify this variable.

    <End of help on this topic> ====== h_config_pat_other ===== OPTION: <!--#echo var="VAR_patterns-other"-->

    OPTION:

    List of rules used for miscellaneous configuration.

    Use the Setup/Rules/Other screen to modify this variable.

    <End of help on this topic> ====== h_config_pat_incols ===== OPTION: patterns-indexcolors

    OPTION: patterns-indexcolors

    List of rules used for coloring lines in the index.

    Use the Setup/Rules/Indexcolor screen to modify this variable.

    <End of help on this topic> ====== h_config_pat_srch ===== OPTION: patterns-search

    OPTION: patterns-search

    List of rules used only for searching with the Select command in the MESSAGE INDEX.

    Use the Setup/Rules/searCh screen to modify this variable.

    <End of help on this topic> ====== h_config_font_name ===== OPTION: Font Name

    OPTION: Font Name

    PC-Alpine only.

    Name of normal font.

    Use the pulldown Config menu to modify this variable.

    <End of help on this topic> ====== h_config_font_size ===== OPTION: Font Size

    OPTION: Font Size

    PC-Alpine only.

    Size of normal font.

    Use the pulldown Config menu to modify this variable.

    <End of help on this topic> ====== h_config_font_style ===== OPTION: Font Style

    OPTION: Font Style

    PC-Alpine only.

    Style of normal font.

    Use the pulldown Config menu to modify this variable.

    <End of help on this topic> ====== h_config_font_char_set ===== OPTION: Font Character Set

    OPTION: Font Character Set

    PC-Alpine only.

    Character set of normal font.

    Use the pulldown Config menu to modify this variable.

    <End of help on this topic> ====== h_config_print_font_name ===== OPTION: Print-Font-Name

    OPTION: Print-Font-Name

    PC-Alpine only.

    Name of printer font.

    Use the pulldown Config menu to modify this variable.

    <End of help on this topic> ====== h_config_print_font_size ===== OPTION: Print-Font-Size

    OPTION: Print-Font-Size

    PC-Alpine only.

    Size of printer font.

    Use the pulldown Config menu to modify this variable.

    <End of help on this topic> ====== h_config_print_font_style ===== OPTION: Print-Font-Style

    OPTION: Print-Font-Style

    PC-Alpine only.

    Style of printer font.

    Use the pulldown Config menu to modify this variable.

    <End of help on this topic> ====== h_config_print_font_char_set ===== OPTION: Print-Font-Char-Set

    OPTION: Print-Font-Char-Set

    PC-Alpine only.

    Character set of printer font.

    Use the pulldown Config menu to modify this variable.

    <End of help on this topic> ====== h_config_window_position ===== OPTION: Window-Position

    OPTION: Window-Position

    PC-Alpine only.

    Position on the screen of the Alpine window.

    Alpine normally maintains this variable itself, and it is set automatically. This variable is provided to those who wish to use the same window position across different machines from the same configuration. must also be set for this setting to be used.

    The format for this variable is of the form: CxR+X+Y, where C is the number of columns, R is the number of rows, and X and Y specify the top left corner of the window.

    <End of help on this topic> ====== h_config_cursor_style ===== OPTION: Cursor Style

    OPTION: Cursor Style

    PC-Alpine only.

    Cursor style.

    Use the pulldown Config menu to modify this variable.

    <End of help on this topic> ====== h_config_ldap_servers ===== OPTION: <!--#echo var="VAR_ldap-servers"-->

    OPTION:

    List of LDAP servers and associated data.

    Use the Setup/Directory screen to modify this variable.

    <End of help on this topic> ====== h_config_sendmail_path ===== OPTION: <!--#echo var="VAR_sendmail-path"-->

    OPTION:

    This names the path to an alternative program, and any necessary arguments, to be used in posting mail messages. See the Technical notes for more information.

    <End of help on this topic> ====== h_config_oper_dir ===== OPTION: <!--#echo var="VAR_operating-dir"-->

    OPTION:

    This names the root of the tree to which you are restricted when reading and writing folders and files. It is usually used in the system-wide, fixed configuration file.

    <End of help on this topic> ====== h_config_rshpath ===== OPTION: <!--#echo var="VAR_rsh-path"-->

    OPTION:

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

    <End of help on this topic> ====== h_config_rshcmd ===== OPTION: <!--#echo var="VAR_rsh-command"-->

    OPTION:

    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 connect to, the third is for the user to connect as, and the fourth is for the connection method (typically imap).

    <End of help on this topic> ====== h_config_sshpath ===== OPTION: <!--#echo var="VAR_ssh-path"-->

    OPTION:

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

    <End of help on this topic> ====== h_config_sshcmd ===== OPTION: <!--#echo var="VAR_ssh-command"-->

    OPTION:

    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 connect to, the third is for the user to connect as, and the fourth is for the connection method (typically imap).

    <End of help on this topic> ====== h_config_new_ver_quell ===== OPTION: <!--#echo var="VAR_new-version-threshold"-->

    OPTION:

    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 an Alpine version number. Alpine versions less than the specified value will suppress this special screen while versions equal to or greater than that specified will behave normally.

    <End of help on this topic> ====== h_config_disable_drivers ===== OPTION: <!--#echo var="VAR_disable-these-drivers"-->

    OPTION:

    This variable is a list of mail drivers that 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
    • 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 that 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.

    <End of help on this topic> ====== h_config_disable_auths ===== OPTION: <!--#echo var="VAR_disable-these-authenticators"-->

    OPTION:

    This variable is a list of SASL (Simple Authentication and Security Layer) authenticators that 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 can be found here.

    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.

    <End of help on this topic> ====== h_config_encryption_range ===== OPTION: <!--#echo var="VAR_encryption-protocol-range"-->

    OPTION:

    This option sets a range of encryption protocols that can be attempted when Alpine will try to establish a secure connection using the SSL or TLS protocols.

    Before a secure connection to an external server is established, Alpine and the server will attempt to negotiate a secure connection. This part is known as the "ClientHello". At that time Alpine will announce the version of encryption that it would like to establish. The server can reject that, and announce a different version of encryption. Once both the server and Alpine have found a version of encryption that they both agree on, they will both use it to start a secure connection.

    The use of the /ssl parameter in the definition of the server will make Alpine attempt the highest encryption protocol that it can use, in agreement with the server. However, using this option, you will set limits to the versions of the protocols that are used. This would, for example, allow you to disable the use of ssl3, in favor of more modern protocols.

    For purposes of this option, the protocols are sorted as follows

    no_min < ssl3 < tls1 < tls1_1 < tls1_2 < tls1_3 < no_max

    For example, if you want to disable ssl3, all you have to do is to set the minimum version to tls1, or any higher protocol.

    The name of the parameters used to configure this option is the same as the parameters that are added to the definition of a server to make it a secure connection, and they are listed above for your reference.

    The special values "no_min" and "no_max" do not set values for the minimum and maximum protocol versions, and Alpine will use the maximum and minimum values of encryption protocols built into your SSL library.

    <End of help on this topic> ====== h_config_abook_metafile ===== OPTION: <!--#echo var="VAR_remote-abook-metafile"-->

    OPTION:

    This is usually set by Alpine and is the name of a file that contains data about remote address books and remote configuration files.

    <End of help on this topic> ====== h_config_composer_wrap_column ===== OPTION: <!--#echo var="VAR_composer-wrap-column"-->

    OPTION:

    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.

    <End of help on this topic> ====== h_config_deadlets ===== OPTION: <!--#echo var="VAR_dead-letter-files"-->

    OPTION:

    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 "DEADLETR", "dead.letter" in your home directory, 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". "dead.letter", "dead.letter2", and "dead.letter3" in your home directory. In this example, the most recently cancelled message will be in "DEADLETR", "dead.letter", and the third most recently cancelled message will be in "DEADLETR3". "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 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.

    <End of help on this topic> ====== h_config_maxremstream ===== OPTION: <!--#echo var="VAR_max-remote-connections"-->

    OPTION:

    This option affects low-level behavior of Alpine. The default value for this option is 3. 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 "" you have defined. This option controls Alpine's behavior when connecting to remote IMAP folders other than your INBOX or your . 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 "" 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 (the value of this option) IMAP connections you have allotted 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 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 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,

    <End of help on this topic> ====== h_config_permlocked ===== OPTION: <!--#echo var="VAR_stay-open-folders"-->

    OPTION:

    This option affects low-level behavior of Alpine. There is no default value for this option. It is related to the options "", "", and "".

    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 . 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 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.

    <End of help on this topic> ====== h_config_viewer_overlap =====

    OPTION: <!--#echo var="VAR_viewer-overlap"-->

    OPTION:

    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 "" 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".

    <End of help on this topic> ====== h_config_scroll_margin ===== OPTION: <!--#echo var="VAR_scroll-margin"-->

    OPTION:

    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 struck, 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 paging should occur. For example, setting this value to one (1) will cause Alpine to scroll the display vertically when you move to select an item on the display's top or bottom edge.

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

    <End of help on this topic> ====== h_config_wordseps ===== OPTION: <!--#echo var="VAR_composer-word-separators"-->

    OPTION:

    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 that 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.

    <End of help on this topic> ====== h_config_reply_indent_string ===== OPTION: <!--#echo var="VAR_reply-indent-string"-->

    OPTION:

    This option 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. (In case you haven't seen this before, "string" is a technical term that means chunk of text.)

    Because of the introduction of Flowed Text in 1999 and its wide-spread adoption since then, you will usually be better off if you use one of the standard values, "> " or ">", for this option.

    This option specifies a different value for that string. If you wish to use a string that 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". If the name is longer than six characters, only the first 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, Alpine replaces the characters "_NICK_" with nothing. If the nickname is longer than six characters, only the first six characters are used.
    _INIT_
    This token gets replaced with the initials of the sender of the message.
    NOTE: When the "" 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.

    If you change your so that it is not equal to the default value of "> ", then quoted text will not be flowed (Flowed Text) when you reply. For this reason, we recommend that you leave your set to the default value.

    <End of help on this topic> ====== h_config_quote_replace_string ===== OPTION: <!--#echo var="VAR_quote-replace-string"-->

    OPTION:

    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 "> " and ">" with the replacement string. This setting works best when or the equivalent setting in your correspondents' mail programs is set to the default "> ", but it will also work fine with the set to ">".

    By default, this setting will only work on messages that are flowed, which is the default way of sending messages for many mail clients including Alpine. Enable the feature 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 , 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.

    <End of help on this topic> ====== h_config_empty_hdr_msg ===== OPTION: <!--#echo var="VAR_empty-header-message"-->

    OPTION:

    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 "" variable to something else.

    The normal default is "undisclosed-recipients".

    <End of help on this topic> ====== h_config_status_msg_delay ===== OPTION: <!--#echo var="VAR_status-message-delay"-->

    OPTION:

    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 "" feature is also turned on. Setting this option to a positive 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 that show up spontaneously in the status message line, usually 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.

    <End of help on this topic> ====== h_config_active_msg_interval ===== OPTION: <!--#echo var="VAR_busy-cue-rate"-->

    OPTION:

    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 updated 20 times per second.

    Setting this value to zero will prevent display of the animations altogether.

    The option can be used to remove the randomness from this animated display.

    <End of help on this topic> ====== h_config_mailchecknoncurr =====

    OPTION: <!--#echo var="VAR_mail-check-interval-noncurrent"-->

    OPTION:

    This option is closely related to the "" option, as well as the "" and "" options. If the "" 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 "". If you set this option to a value different from zero (usually larger than the value for "") then that is the check interval that will be used for folders that 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 "" 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 "" and the related options.

    <End of help on this topic> ====== h_config_fifopath =====

    OPTION: NewMail FIFO Path

    OPTION: 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) where it will send a one-line message each time a new message is received in the current folder, the INBOX, or any open . To protect against two different Alpines 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 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 filesystem.) 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.

    <End of help on this topic> ====== h_config_newmailwidth =====

    OPTION: <!--#echo var="VAR_newmail-window-width"-->

    OPTION:

    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". This present option also controls the width of that window.

    <End of help on this topic> ====== h_config_mailcheck =====

    OPTION: <!--#echo var="VAR_mail-check-interval"-->

    OPTION:

    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 "".

    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 "", "" and "", which refine when mail checking is done.

    If the mailbox being checked uses a Mail Drop then there is a minimum time ("") 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.

    <End of help on this topic> ====== h_config_quell_checks_comp ===== FEATURE: <!--#echo var="FEAT_quell-mailchecks-composing-except-inbox"-->

    FEATURE:

    This option is closely related to the "" option, the "" option, and "".

    If this option is set, then the normal new-mail checking that happens while you are composing will not happen for folders other than your INBOX (which depends on the setting of "").

    You might want to set this option if you are experiencing delays while composing that 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.

    <End of help on this topic> ====== h_config_quell_checks_comp_inbox ===== FEATURE: <!--#echo var="FEAT_quell-mailchecks-composing-inbox"-->

    FEATURE:

    This option is closely related to the "" option, the "" option, and "".

    If this option is set, then the normal new-mail checking that happens while you are composing will not happen for your INBOX. Checking of other folders is controlled in a similar way with the "" option.

    You might want to set this option if you are experiencing delays while composing that 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.

    <End of help on this topic> ====== h_config_maildropcheck =====

    OPTION: <!--#echo var="VAR_maildrop-check-minimum"-->

    OPTION:

    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 option. When Alpine is about to do an automatic check for new mail (because the has expired) then if the time since the last new-mail check of any open Mail Drops has been greater than the , 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 .

    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.

    <End of help on this topic> ====== h_config_nntprange =====

    OPTION: <!--#echo var="VAR_nntp-range"-->

    OPTION:

    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 "" 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 "" will cause article numbers

    last_article_number - + 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 "".

    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 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.

    <End of help on this topic> ====== h_config_news_active =====

    OPTION: <!--#echo var="VAR_news-active-file-path"-->

    OPTION:

    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".

    <End of help on this topic> ====== h_config_news_spool =====

    OPTION: <!--#echo var="VAR_news-spool-directory"-->

    OPTION:

    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 "/var/spool/news".

    <End of help on this topic> ====== h_config_image_viewer =====

    OPTION: <!--#echo var="VAR_image-viewer"-->

    OPTION:

    This option specifies the program Alpine should call to view MIME attachments of type IMAGE (e.g. GIF or TIFF). The Image Viewer setting is no longer needed, but remains for backward compatibility. The more general method for associating external printing and viewing programs with specific MIME data types is to use the system's (or your personal) "mailcap" configuration file.

    <End of help on this topic> ====== h_config_domain_name ===== OPTION: <!--#echo var="VAR_use-only-domain-name"-->

    OPTION:

    This option is used only if the "" option is not set. If set to "Yes" (and is not used), then Alpine strips the hostname from your return ("From") address and when completing unqualified addresses that you enter into the composer.

    If you set this, see also the "" feature.

    This option is not applicable to PC-Alpine.

    <End of help on this topic> ====== h_config_prune_date ===== OPTION: Last-Time-Prune Question

    OPTION: Last-Time-Prune Question

    This value records the last time you were asked about deleting old sent-mail. It is set automatically by Alpine at the beginning of each month. In the past, if you wished to suppress the monthly sent-mail pruning feature, you could set this to a date in the future. This value is relative to the year 1900, so to set this, for example, to October 2005, use 105.10.

    You can still do that if you wish, or you can use the option, which is probably a little more convenient to use.

    <End of help on this topic> ====== h_config_goto_default ===== OPTION: <!--#echo var="VAR_goto-default-rule"-->

    OPTION:

    This value affects Alpine's behavior when you use the Goto command. Alpine's usual behavior has two parts. If your 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.

    The available options include:

    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.

    <End of help on this topic> ====== h_config_thread_lastreply_char ===== OPTION: <!--#echo var="VAR_threading-lastreply-character"-->

    OPTION:

    The option has a small effect on the MESSAGE INDEX display when using a 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.

    <End of help on this topic> ====== h_config_thread_indicator_char ===== OPTION: <!--#echo var="VAR_threading-indicator-character"-->

    OPTION:

    The option has a small effect on the MESSAGE INDEX display when using a 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 option. Another similar option that affects the thread display is the option.

    <End of help on this topic> ====== h_config_thread_exp_char ===== OPTION: <!--#echo var="VAR_threading-expanded-character"-->

    OPTION:

    The option has a small effect on the MESSAGE INDEX display when using a 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 option. Another similar option that affects the thread display is the option.

    <End of help on this topic> ====== h_config_thread_index_style ===== OPTION: <!--#echo var="VAR_threading-index-style"-->

    OPTION:

    When a folder is sorted by Threads or OrderedSubject, this option will affect the INDEX displays.

    The possible values for this option are:

    regular-index-with-expanded-threads
    This is the default display. If the configuration option "" 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 "").

    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 "" 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 "" 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 "").

    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 that contains a single message will be skipped and you will go directly from the THREAD INDEX into the MESSAGE TEXT screen.

    <End of help on this topic> ====== h_config_thread_disp_style ===== OPTION: <!--#echo var="VAR_threading-display-style"-->

    OPTION:

    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 for this option 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 is set to "regular-index-with-expanded-threads", and the 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.

    <End of help on this topic> ====== h_config_pruning_rule ===== OPTION: <!--#echo var="VAR_pruning-rule"-->

    OPTION:

    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 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 or Alpine will also ask about pruning those folders.

    With this option you may provide an automatic answer to these questions. The default value is to ask you what you'd like to do.

    The six possible values for this option are:

    ask about rename, ask about deleting
    This is the default. Alpine will ask whether you want to rename the folders and whether you want to delete each of the old folders.
    ask about rename, don't delete
    Alpine will ask whether you want to rename the folders, but won't ask about or delete old folders.
    always rename, ask about deleting
    This means you want to always answer yes and have Alpine automatically rename the folder if possible. You will also be asked about deleting old folders.
    always rename, don't delete
    This means you want to always answer yes and have Alpine automatically rename the folder if possible. There will be no deleting of old folders.
    don't rename, ask about deleting
    This means you want to always answer no. Alpine will not rename the folder. You will be asked about deleting old folders.
    don't rename, don't delete
    This means you want to always answer no. Alpine will not rename the folder. There will be no deleting of old folders, either.

    <End of help on this topic> ====== h_config_reopen_rule ===== OPTION: <!--#echo var="VAR_folder-reopen-rule"-->

    OPTION:

    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 that 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.

    <End of help on this topic> ====== h_config_inc_startup ===== OPTION: <!--#echo var="VAR_incoming-startup-rule"-->

    OPTION:

    This value affects Alpine's behavior when opening the "INBOX" or one of the "INCOMING MESSAGE FOLDERS". It determines which message will be the current message when the folder is first opened. The default value is "first-unseen".

    The seven possible values for this option are:

    first-unseen
    The current message is set to the first unseen message that has not been marked deleted, or the last message if all of the messages have been seen previously. Messages which have not been seen or which have been seen but re-marked as New are considered unseen messages. See the note at the bottom of this help about newsgroups.
    first-recent
    Similar to the default, but rather than starting on the first unseen message Alpine starts on the first recent message. A message is recent if it arrived since the last time the folder was open. This value causes the current message to be set to the first recent message if there is one, otherwise to the last message in the folder.
    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. Messages are marked Important by you, not by the sender, using the Flag command. Or they may be marked Important by an Alpine Filter that you have set up.
    first-important-or-unseen
    This selects the first 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
    Simply starts you on the first undeleted message in the folder. If all messages are deleted you start on the last message.
    last
    Simply starts you on the last undeleted message in the folder If all messages are deleted you start on the last message.

    NOTE: For newsgroups in the incoming collection, "first-unseen" and "first-recent" are the same and are affected by whether or not the feature "" is turned on. Also, there is no permanent storage in news for an Important flag. This means that no messages will be marked Important when a newsgroup is first opened.

    <End of help on this topic> ====== h_config_browser ===== OPTION: <!--#echo var="VAR_url-viewers"-->

    OPTION:

    PC-Alpine users do not need to enter anything here, unless:
    • they want to override, for use with Alpine, the application defined in the Windows operating system for handling URLs; or
    • they are (planning on) using the same configuration file with Unix Alpine.

    Note that if using a viewer that has a space in its path, you should use the DOS name for that directory or file. Example:

    url-viewer=C:\Progra~1\mozilla\mozilla.exe
    

    This option affects Alpine's handling of URLs that are found in messages you read. Normally, only URLs Alpine can handle directly are automatically offered for selection in the "Message Text" screen. When one or more applications capable of deciphering URLs on their command line are added here, Alpine will choose the first available to display URLs it cannot handle directly. A viewer's availability is based on its being specified with a full directory path and the evaluation of any optionally supplied parameters described below.

    Additionally, to support various connection methods and applications, each entry in this list can optionally begin with one or more of the following special tokens. The allowed tokens include:

    _TEST(test-string)_
    The test-string is a shell command that Alpine will run to evaluate a viewer's availability. The command specified by the test string is run and if its resulting exit status is non-zero, Alpine will not consider the associated viewer for use.
    _SCHEME(scheme-list)_
    The scheme-list is a list of one or more (comma-delimited) URL schemes that are to be used with the associated viewer. This is the way to configure Alpine to recognize URLs other than the built-in set.

    It can also be used to override Alpine's built-in handlers. For example, you could specify "news" in the scheme-list, and Alpine would use (provided it passed all other criteria) the associated viewer when it encountered a URL of the form "news:comp.mail.pine".

    By default, Alpine will simply append a space character followed by the selected URL prior to launching the command in your specified SHELL. You can optionally specify where in the command the selected URL should appear by using the "_URL_" token. All occurrences found in the command will be replaced with the selected URL before the command is handed to the shell. If such replacement occurs, the default appending of the selected URL does not take place.

    NOTE: If the viewer you specify has any command-line arguments, including the "_URL_" token, you will need to add a double-quote character before the command path and after the last argument (see the "lynx" example below).

    So, here are some example entries:

    url-viewers = _TEST("test -n '${DISPLAY}'")_  /usr/local/bin/netscape
                  "/usr/local/bin/lynx _URL_"
                  C:\BIN\NETSCAPE.BAT
    

    This example shows that for the first viewer in the list to be used the environment variable "DISPLAY" must be defined. If it is, then the path and file "/usr/local/bin/netscape" must exist. If neither condition is met, then the path and file "/usr/local/bin/lynx" must exist. If it does, then the "_URL_" token is replaced by the selected URL. If the path to "lynx" is invalid, then the final path and file C:\BIN\NETSCAPE.BAT 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.

    Note that depending on the type of browser used and the method of its invocation (such as whether it will open in a separate window) from the MESSAGE TEXT screen, the browser may "supplant" the MESSAGE TEXT screen, and you will have to quit the browser to return to it (for example, when using Lynx; to exit Lynx, use the "Q" command). In other words, launching the browser from Alpine may make Alpine "disappear" (although it is still "running") until you close the browser again.

    If you are unsure what browsers are available on your system or how to specify them in Alpine's option for best usability, contact your local computing support staff.

    <End of help on this topic> ====== h_config_history ===== OPTION: <!--#echo var="VAR_default-directories"-->

    OPTION:

    This option allows you to input a list of directories that Alpine will offer for you to use when you are saving or exporting attachments. This is useful when navigating to specific directories becomes too tedious, or when you need to do this on a daily basis, and want Alpine to remember this on a permanent basis.

    The list of directories saved here can be accessed using the ^Y and ^V commands in the save prompt for attachments, or the export command.

    <End of help on this topic> ====== h_config_browser_xterm ===== <!--#echo var="VAR_url-viewers"--> and X windows applications

    Defining in an X windows environment: for advanced users and systems administrators

    If you are using Alpine with an X-terminal (emulator) and want to define an X windows-based application in , you may want to do so in a manner that causes any already invoked viewer application to be used for viewing URLs you select from Alpine messages, and a new URL-viewer process to be started only if the same application has not already been launched -- for one reason, to avoid file-locking contentions among multiple invocations of the same URL-viewer application. (The example entries set in the help screen for the "" option does not do this.) A method of doing that would be:
    1. use the _TEST(test-string)_ token in the first entry to check (using commands appropriate for your Unix shell in place of test-string) for the presence of a lockfile created by the URL-viewer application -- which implies that the application is already running, though this is not foolproof. Following that in the same entry, specify the application with its appropriate command line option(s) to show the URL selected from the Alpine message in an already open window of that application, or perhaps in a new window of that application.
    2. In the second entry for the option, specify the same application without those command line options, but this time using the _TEST(...)_ token to check whether the environment variable "DISPLAY" is defined.
    3. If you will be using Alpine (with the same .pinerc file) outside of the X windows environment (for instance, using VT-100 terminal emulation), you may wish to specify a non-X windows URL-viewer application such as Lynx as the last entry.

    How exactly you define your entries to do this will depend on the command shell, the URL-viewer application(s), and possibly the specific version of the latter, you are using.

    Relevant command line options for the Netscape browser for showing URLs (selected from Alpine) when Netscape is already running are discussed in the document "Remote Control of UNIX Netscape" found at the URL (as of 12 Aug. 1998):

    http://home.netscape.com/newsref/std/x-remote.html

    (If the URL-viewer application is not running on the same host as Alpine, but being launched from an applications server, you may not be able to use the command line options for using an existing invocation of the application in Alpine's entry.)

    An example using the Korn shell and the Netscape browser (first entry wrapped because of its length, but should all appear on one line):

    url-viewers = _TEST("test -L /myhomedir/.netscape/lock")_ "/usr/local/bin/netscape -remote 'openURL(_URL_, new-window)' &"
    _TEST("test -n '${DISPLAY}'")_ "/usr/local/bin/netscape &"
    "/usr/local/bin/lynx '_URL_'"

    <End of help on this topic> ====== h_config_enable_full_hdr ===== FEATURE: <!--#echo var="FEAT_enable-full-header-cmd"-->

    FEATURE:

    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 .

    <End of help on this topic> ====== h_config_enable_full_hdr_and_text ===== FEATURE: <!--#echo var="FEAT_enable-full-header-and-text"-->

    FEATURE:

    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.

    When viewing a raw message that has attachments with this feature set, you will not be able to view attachments without first leaving full headers mode. This is because MIME parsing is not done on the raw message.

    <End of help on this topic> ====== h_config_enable_pipe ===== FEATURE: <!--#echo var="FEAT_enable-unix-pipe-cmd"-->

    FEATURE:

    This feature enables the "| Pipe" command that sends the current message to the specified command for external processing.

    A short description of how the pipe command works is given here.

    <End of help on this topic> ====== h_config_quell_full_hdr_reset ===== FEATURE: <!--#echo var="FEAT_quell-full-header-auto-reset"-->

    FEATURE:

    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 "" Feature-List option.

    <End of help on this topic> ====== h_config_enable_tab_complete ===== FEATURE: <!--#echo var="FEAT_enable-tab-completion"-->

    FEATURE:

    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 on 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.

    <End of help on this topic> ====== h_config_quit_wo_confirm ===== FEATURE: <!--#echo var="FEAT_quit-without-confirm"-->

    FEATURE:

    This feature controls whether or not Alpine will ask for confirmation when a Quit command is received.

    <End of help on this topic> ====== h_config_quote_replace_noflow ===== FEATURE: <!--#echo var="FEAT_quote-replace-nonflowed"-->

    FEATURE:

    This feature, which is only active when 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 "> ".

    <End of help on this topic> ====== h_config_enable_jump ===== FEATURE: <!--#echo var="FEAT_enable-jump-shortcut"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_enable_alt_ed ===== FEATURE: <!--#echo var="FEAT_enable-alternate-editor-cmd"-->

    FEATURE:

    If this feature is set (the default), and the "" option is not set, entering the ^_ (Ctrl-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, its value will be offered as a default.

    If the "" option is set, the ^_ key will activate the specified editor without prompting, in which case it is not necessary to set the "" feature.

    <End of help on this topic> ====== h_config_alt_ed_now ===== FEATURE: <!--#echo var="FEAT_enable-alternate-editor-implicitly"-->

    FEATURE:

    If this feature and the "" 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 "" variable is not set, then Alpine will automatically ask for the name of an alternate editor when the cursor is moved out of the header being composed, or if a reply is being done.

    <End of help on this topic> ====== h_config_enable_bounce ===== FEATURE: <!--#echo var="FEAT_enable-bounce-cmd"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_enable_agg_ops ===== FEATURE: <!--#echo var="FEAT_enable-aggregate-command-set"-->

    FEATURE:

    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 "F5 "; Select", "F6 "A Apply", and "F4 "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 MESSAGE INDEX view between just those Selected and all messages in the folder.

    This feature also enables the "F7" "^X" subcommand in the MESSAGE INDEX WhereIs command that causes all messages matching the WhereIs argument to become selected; and the Select, Select Current, and ZoomMode commands in the FOLDER LIST screen.

    Some related help topics are

    <End of help on this topic> ====== h_config_enable_flag ===== FEATURE: <!--#echo var="FEAT_enable-flag-cmd"-->

    FEATURE:

    Setting this feature enables the "* Flag" command that 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 MESSAGE INDEX for such messages.

    <End of help on this topic> ====== h_config_flag_screen_default ===== FEATURE: <!--#echo var="FEAT_enable-flag-screen-implicitly"-->

    FEATURE:

    The 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 option offers a slightly different way of setting keywords.

    <End of help on this topic> ====== h_config_flag_screen_kw_shortcut ===== FEATURE: <!--#echo var="FEAT_enable-flag-screen-keyword-shortcut"-->

    FEATURE:

    This feature modifies the behavior of the Flag command and the Select command. This feature is set by default. When this feature is not set, 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 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 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 that 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 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.

    <End of help on this topic> ====== h_config_can_suspend ===== FEATURE: <!--#echo var="FEAT_enable-suspend"-->

    FEATURE:

    Setting this feature will allow you to type ^Z (Control Z) to minimize Alpine into its icon, bringing into focus whatever application is running behind the PC-Alpine window. temporarily suspend Alpine.

    This does not exit Alpine, but puts it in the background to watch for new mail and such. Normally, you type a command, such as "fg" at your system prompt to return to your Alpine session.

    The feature adjusts whether Alpine is placed into the background of the shell its running in or starts a news shell.

    <End of help on this topic> ====== h_config_take_lastfirst ====== FEATURE: <!--#echo var="FEAT_disable-take-last-comma-first"-->

    FEATURE:

    Normally, when TakeAddr is used to copy an address from a message into an address book entry, 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.

    <End of help on this topic> ====== h_config_disable_regex ====== FEATURE: <!--#echo var="FEAT_disable-regular-expression-matching-for-alternate-addresses"-->

    FEATURE:

    Normally, the 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 and you don't want to use regular expressions, then setting this feature will cause Alpine to treat the addresses you list literally instead.

    <End of help on this topic> ====== h_config_take_fullname ====== FEATURE: <!--#echo var="FEAT_disable-take-fullname-in-addresses"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_print_from ====== FEATURE: <!--#echo var="FEAT_print-includes-from-line"-->

    FEATURE:

    If this feature is set, then the Berkeley-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 1998

    <End of help on this topic> ====== h_config_expanded_distlists ====== FEATURE: <!--#echo var="FEAT_expanded-view-of-distribution-lists"-->

    FEATURE:

    If this feature is set, then distribution lists in the address book screen will always be expanded automatically.

    <End of help on this topic> ====== h_config_compose_news_wo_conf ====== FEATURE: <!--#echo var="FEAT_compose-sets-newsgroup-without-confirm"-->

    FEATURE:

    This feature controls one aspect of Alpine's Composer. 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.

    <End of help on this topic> ====== h_config_compose_rejects_unqual ====== FEATURE: <!--#echo var="FEAT_compose-rejects-unqualified-addrs"-->

    FEATURE:

    This feature controls one aspect of the message composer; in particular, what happens when an unqualified name is entered into an address header. If set, unqualified names entered as addresses will be treated as errors unless they match an addressbook nickname. Alpine will not attempt to turn them into complete addresses by adding your local domain.

    A complete (fully qualified) address is one containing a username followed by an "@" ("at") symbol, followed by a domain name (e.g. "jsmith@example.com"). An unqualified name is one without the "@" symbol and domain name (e.g. "jsmith"). (See also Explanation of Address formats.)

    When you enter a fully qualified address, Alpine does not interpret or modify it, but simply passes it on to the mail-transport-agent (MTA) for your system. Alpine conforms to the Internet standards governing message headers and will not send an unqualifed name to the MTA. Therefore, when you enter an unqualified name, Alpine will normally attempt to turn it into a fully qualified address, first by checking to see if you have entered a matching nickname in your addressbook, or failing that, by simply adding your own domain to the name entered. So if your address is "jsmith@example.com" and you enter "fred", then (assuming "fred" is not a nickname in your addressbook), Alpine will turn that into "fred@example.com".

    There are situations where it is not desirable for Alpine to interpret such unqualified names as valid (local) addresses. For example, if "fred" turned out to be a typo (intended to be an addressbook nickname), but there actually was a "fred" in your local domain, the message might be mis-delivered without your realizing it. In order to reduce the likelihood of such accidents, setting this feature will cause Alpine to treat such addresses as errors, and require that you explicitly enter the full local address (e.g. "fred@example.com") or correct the name so that it matches an address book nickname.

    Consider this a safety feature against mis-directed mail.

    <End of help on this topic> ====== h_config_quell_local_lookup ====== FEATURE: <!--#echo var="FEAT_quell-user-lookup-in-passwd-file"-->

    FEATURE:

    This feature controls an aspect of Alpine's Composer, and if needed, will usually be set by your 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 "" or "" option is set such that the administrative domain of other users on the system isn't accurately reflected, Alpine should be told that a passwd 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.

    <End of help on this topic> ====== h_config_tab_checks_recent ====== FEATURE: <!--#echo var="FEAT_tab-checks-recent"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_maildrops_preserve_state ====== FEATURE: <!--#echo var="FEAT_maildrops-preserve-state"-->

    FEATURE:

    This feature affects the way Mail Drops work. Normally, when mail is moved from a Mail Drop folder to a destination folder, it is delivered as new mail. 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 that have been made to the messages in the Mail Drop folder will be preserved.

    In any case, messages that are already marked Deleted when the mail is to be moved from the Mail Drop will be ignored.

    <End of help on this topic> ====== h_config_preopen_stayopens ====== FEATURE: <!--#echo var="FEAT_preopen-stayopen-folders"-->

    FEATURE:

    This feature is related to the option "". 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.

    <End of help on this topic> ====== h_config_expunge_inbox ====== FEATURE: <!--#echo var="FEAT_offer-expunge-of-inbox"-->

    FEATURE:

    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 "", "", and ), and the handling of the .

    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 will take place each time you leave the INBOX instead of only once at the end of the session.

    <End of help on this topic> ====== h_config_expunge_stayopens ====== FEATURE: <!--#echo var="FEAT_offer-expunge-of-stayopen-folders"-->

    FEATURE:

    This feature is related to the option "". 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 "", "", and ), and the handling of .

    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. However, there is a similar feature that affects only the INBOX called "".

    <End of help on this topic> ====== h_config_preserve_start_stop ====== FEATURE: <!--#echo var="FEAT_preserve-start-stop-characters"-->

    FEATURE:

    This feature controls how special control key characters, typically Ctrl-S and Ctrl-Q, are interpreted when input to Alpine. These characters are known as the "stop" and "start" 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.

    <End of help on this topic> ====== h_config_enable_incoming ====== FEATURE: <!--#echo var="FEAT_enable-incoming-folders"-->

    FEATURE:

    Alpine's Incoming Message Folders collection provides a convenient way to access multiple incoming folders. It is also useful if you have accounts on multiple computers.

    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 folder collection.

    You may add more folders to the Incoming Message Folders collection by using the "F10 "A Add" command in the FOLDER LIST screen. You will be prompted for the host the folder is stored on (which defaults to the same host used for your INBOX), a nickname, and the actual folder name. Once a set of Incoming Message Folders are defined, the TAB key (in MESSAGE INDEX or MESSAGE TEXT screens) may be used to scan the folders for those with Recent messages. If you add more folders to your collection, turning this feature back off will have no effect.

    NOTE: Normally the software that actually delivers mail (the stuff that happens before Alpine is involved) is in a better position to do delivery filtering than is Alpine itself. If possible, you may want to look at programs such as "filter" or "procmail", which are examples of delivery filtering programs. If you'd prefer to have Alpine do the filtering for you, you may set that up. Look here for help with Alpine filtering.

    <End of help on this topic> ====== h_config_enable_incoming_checking ====== FEATURE: <!--#echo var="FEAT_enable-incoming-folders-checking"-->

    FEATURE:

    This feature is only operational if you have enabled the optional "" collection. 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 , , , , , and all affect how this feature behaves.

    <End of help on this topic> ====== h_config_incoming_checking_total ====== FEATURE: <!--#echo var="FEAT_incoming-checking-includes-total"-->

    FEATURE:

    This option has no effect unless the feature is set, which in turn has no effect unless "" 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 .

    <End of help on this topic> ====== h_config_incoming_checking_recent ====== FEATURE: <!--#echo var="FEAT_incoming-checking-uses-recent"-->

    FEATURE:

    This option has no effect unless the feature is set, which in turn has no effect unless "" 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 Alpines 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 option.

    <End of help on this topic> ====== h_config_attach_in_reply ====== FEATURE: <!--#echo var="FEAT_include-attachments-in-reply"-->

    FEATURE:

    This feature controls an aspect of Alpine's Reply command. If set, any MIME attachments that were part of the original message will automatically be included in the Reply.

    <End of help on this topic> ====== h_config_include_header ===== FEATURE: <!--#echo var="FEAT_include-header-in-reply"-->

    FEATURE:

    This feature controls an aspect of Alpine's Reply command. If set, and the original message is being included in the reply, then headers from that message will also be part of the reply.

    <End of help on this topic> ====== h_config_sig_at_bottom ===== FEATURE: <!--#echo var="FEAT_signature-at-bottom"-->

    FEATURE:

    This feature controls an aspect of Alpine's Reply command. If this feature is set, and the original message is being included in the reply, then the contents of your signature file (if any) will be inserted after the included message.

    This feature does not affect the results of a Forward command.

    <End of help on this topic> ====== h_config_sigdashes ===== FEATURE: <!--#echo var="FEAT_enable-sigdashes"-->

    FEATURE:

    This feature enables support for the common USENET news convention of preceding a message signature with the special line consisting of the three characters "-- " (i.e., dash, dash, and space).

    When enabled and a "" exists, Alpine will insert the special line before including the file's text (unless the special line already exists somewhere in the file's text).

    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. If "Full Header" mode is enabled and turned on, then Alpine will include the text beyond the special line regardless of the setting of this feature.

    See also "" for a related feature.

    <End of help on this topic> ====== h_config_new_thread_blank_subject ===== FEATURE: <!--#echo var="FEAT_new-thread-on-blank-subject"-->

    FEATURE:

    When this feature is enabled (the default) Alpine will create a new thread every time that the subject line becomes empty at any time during composition.

    This behavior is particularly useful in case you are replying to a message. Replying to a message causes the message to be in the same thread than the original message that is being replied to. However, many authors want to create a new message (in a different thread) while replying to a message, and they do this by changing the full subject, by first deleting the original subject and typing the new subject of the current message.

    Enabling this feature causes that any time that the subject is deleted, the message being composed will be considered the first message of a new thread.

    <End of help on this topic> ====== h_config_strip_sigdashes ===== FEATURE: <!--#echo var="FEAT_strip-from-sigdashes-on-reply"-->

    FEATURE:

    This feature doesn't do anything if the feature "" is turned on. However, if the "" 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. If "Full Header" mode is enabled and turned on, then Alpine will include the text beyond the special line regardless of the setting of this feature.

    In other words, this is a way to turn on the signature stripping behavior without also turning on the dashes-adding behavior.

    <End of help on this topic> ====== h_config_forward_as_attachment ===== FEATURE: <!--#echo var="FEAT_forward-as-attachment"-->

    FEATURE:

    This feature affects the way forwarded message text is handled. When set, rather than include the text of the forwarded message below any additional text you provide in the composer, the forwarded message is attached in its entirety to the message you send.

    This is useful in that it keeps the text you provide in the composer distinct from the text of the forwarded message. Similarly, it allows the recipient to conveniently operate on the forwarded message. For example, they might reply directly to the sender of the forwarded message, or process it as part of a spam report.

    <End of help on this topic> ====== h_config_preserve_field ===== FEATURE: <!--#echo var="FEAT_preserve-original-fields"-->

    FEATURE:

    This feature affects Alpine's behavior when one replies to a message. When you receive a message, some or all of the recipients of the message have been added to the To: and Cc: fields. If you reply to such message, and this feature is disabled, then the original sender of the message is added to the To: field, and all other recipients are added to the Cc: field, while your address is added to the From: field.

    However, if this feature is enabled, then Alpine will preserve the original fields as sent in the original message, so the Cc: and To: fields will be preserved. The sender's address will be added to the To: field, while your address is added to the From: field.

    The behavior of this feature is that replies to all messages will behave in the way described above. If you only intend this to happen on a per message basis, then keep this feature disabled, and when replying to a message you will see a new option in the menu for the "Reply to all recipients?" question. In this case, pressing "p" will make Alpine toggle its question so you can preserve the To: and Cc: fields for that message only.

    <End of help on this topic> ====== h_config_sub_lists ===== FEATURE: <!--#echo var="FEAT_enable-partial-match-lists"-->

    FEATURE:

    This feature affects the subcommands available when Saving, or when 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 that contain that substring in their names. This feature is set by default.

    <End of help on this topic> ====== h_config_scramble_message_id ===== FEATURE: <!--#echo var="FEAT_scramble-message-id"-->

    FEATURE:

    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.

    In addition, other information such as the name program, version, and a code for operating system used to build Alpine, will be encoded using the Rot13 transformation, except for the version number which will be encoded using a Rot5 transformation.

    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.

    <End of help on this topic> ====== h_downgrade_multipart_to_text ===== FEATURE: <!--#echo var="FEAT_downgrade-multipart-to-text"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_show_sort ===== FEATURE: <!--#echo var="FEAT_show-sort"-->

    FEATURE:

    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 Arrival
    S Subject
    F From
    T To
    C Cc
    D Date
    Z siZe
    O Orderedsubject
    E scorE
    H tHread

    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]

    <End of help on this topic> ====== h_config_disable_reset_disp ===== FEATURE: <!--#echo var="FEAT_disable-terminal-reset-for-display-filters"-->

    FEATURE:

    UNIX Alpine only.

    This feature affects Alpine's behavior when using . 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.

    <End of help on this topic> ====== h_config_disable_sender ===== FEATURE: <!--#echo var="FEAT_disable-sender"-->

    FEATURE:

    This feature affects Alpine's generation of the "Sender:" or "X-X-Sender" header fields. By default, Alpine will generate such a header in situations where the username or domain are not the same as the "From:" header on the message. With this feature set, no "Sender:" or "X-X-Sender" header will be generated. This may be desirable on a system that is virtually hosting many domains, and the sysadmin has other methods available for tracking a message to its originator.

    See also "".

    <End of help on this topic> ====== h_config_use_sender_not_x ===== FEATURE: <!--#echo var="FEAT_use-sender-not-x-sender"-->

    FEATURE:

    Normally Alpine 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".

    See also "".

    <End of help on this topic> ====== h_config_use_fk ===== FEATURE: <!--#echo var="FEAT_use-function-keys"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_cancel_confirm ===== FEATURE: <!--#echo var="FEAT_compose-cancel-confirm-uses-yes"-->

    FEATURE:

    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 Confirm. It logically ought to be a "Y" for Yes, 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 "Yes" instead of a "Confirm" response.

    <End of help on this topic> ====== h_config_compose_maps_del ===== FEATURE: <!--#echo var="FEAT_compose-maps-delete-key-to-ctrl-d"-->

    FEATURE:

    This feature affects the behavior of the DELETE key. 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.

    <End of help on this topic> ====== h_config_compose_bg_post ===== FEATURE: <!--#echo var="FEAT_enable-background-sending"-->

    FEATURE:

    This feature affects the behavior of Alpine's mail 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.

    Please Note:

    1. This feature will have no effect if the feature "" is set.
    2. This feature isn't supported on all systems. All DOS and Windows, as well as several Unix ports, do not recognize this feature.
    3. 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.
    4. WARNING: 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.

    <End of help on this topic> ====== h_config_compose_dsn ===== FEATURE: <!--#echo var="FEAT_enable-delivery-status-notification"-->

    FEATURE:

    This feature affects the behavior of Alpine's mail sending. 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) that you would like. Most users will be happy with the default, and need not enable this feature.

    If the feature "" is set, then this feature has no effect and the type of DSN is not selectable.

    Turning on this feature and then turning on the DSNOpts from the send prompt reveals four on-off toggles at the bottom of the screen. The "X" command toggles between NoErrRets and ErrRets. NoErrRets requests that no notification be returned to you, even if there is a delivery failure. The "D" key toggles between Delay and NoDelay. This tells the server that you are willing (or not) to receive delay notifications, which happen when there is an unusual delay at some mail server (in that mail server's opinion). The "S" key toggles between Success and NoSuccess. Success requests that you be sent a DSN message when the message is successfully delivered to the recipients mailbox. Setting NoErrRets will automatically turn off Delay and Success notification, and will flip the toggles to show that. Similarly, turning on Delay and/or Success will automatically toggle the "X" key to ErrRets. The fourth command, the "H" key, toggles between RetHdrs and RetFull. RetFull requests that the full message be returned in any failed DSN. RetHdrs requests that only the headers be returned in any failed DSN. Notice that this command applies only to failed delivery status reports. For delay or success reports, the full message is never returned, only the headers are returned.

    If you don't enable the DSN feature or if you don't turn it on for a particular message, the default is that you will be notified about failures, you might be notified about delays, and you won't be notified about successes. You will usually receive the full message back when there is a failure.

    If you turn on the DSNOpts the default is to return as much information as possible to you. That is, by default, the Success and Delay options are turned on and the full message will be returned on failure.

    The sending prompt will display the current DSN request (if any) in a shorthand form. It will be:

    [Never]

    if you have requested NoErrRets. Otherwise, it will look something like:

    [FDS-Hdrs]

    The "F" will always be there, indicating that you will be notified of failures. (Alpine doesn't provide a way to request no failure notification and at the same time request either success or delay notification. The only way to request no failure notifications is to request no notifications at all with NoErrRets.) The "D" and/or "S" will be present if you have requested Delay and/or Success notification. If one of those is missing, that means you are requesting no notification of the corresponding type. After the dash it will say either Hdrs or Full. Hdrs means to return only the headers and Full means to return the full message (applies to failure notifications only).

    NOTE: This feature relies on your system's mail transport agent or configured "" having the negotiation mechanism introduced in "Extended SMTP" (ESMTP) and the specific extension called "Delivery Status Notification" (DSN). If the mail transport agent you are using doesn't support DSN, a short warning will be shown to you on the message line at the bottom of the screen after you send your message, but your message will have been sent anyway.

    Note that DSNs don't provide a mechanism to request read receipts. That is, if you request notification on success you are notified when the message is delivered to the mailbox, not when the message is read.

    ESMTP allows for graceful migration to upgraded mail transfer agents, but it is possible that this feature might cause problems for some servers.

    <End of help on this topic> ====== h_config_auto_zoom ===== FEATURE: <!--#echo var="FEAT_auto-zoom-after-select"-->

    FEATURE:

    This feature affects the behavior of the Select command. If set, the select command will automatically perform a zoom after the select is complete. This feature is set by default.

    Some related help topics are

    <End of help on this topic> ====== h_config_auto_unzoom ===== FEATURE: <!--#echo var="FEAT_auto-unzoom-after-apply"-->

    FEATURE:

    This feature affects the behavior of the Apply command. 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.

    Some related help topics are

    <End of help on this topic> ====== h_config_auto_unselect ===== FEATURE: <!--#echo var="FEAT_auto-unselect-after-apply"-->

    FEATURE:

    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.

    Some related help topics are

    <End of help on this topic> ====== h_config_fast_recent ===== FEATURE: <!--#echo var="FEAT_enable-fast-recent-test"-->

    FEATURE:

    This feature controls the behavior of the TAB key when traversing folders in the optional "" collection or in optional .

    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 "" is turned on, then the present feature will have no effect.

    <End of help on this topic> ====== h_config_arrow_nav ===== FEATURE: <!--#echo var="FEAT_enable-arrow-navigation"-->

    FEATURE:

    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 "", "", or use the ^P/^N (instead of up/down arrow) keys to move up/down the list of folders in each column.

    <End of help on this topic> ====== h_config_relaxed_arrow_nav ===== FEATURE: <!--#echo var="FEAT_enable-arrow-navigation-relaxed"-->

    FEATURE:

    This feature controls the behavior of the left, right, up and down arrow keys in the FOLDER LIST screen when the "" 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 "" 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.

    <End of help on this topic> ====== h_config_alt_compose_menu ===== FEATURE: <!--#echo var="FEAT_alternate-compose-menu"-->

    FEATURE:

    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 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 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.

    <End of help on this topic> ====== h_config_alt_role_menu ===== FEATURE: <!--#echo var="FEAT_alternate-role-menu"-->

    FEATURE:

    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 "" 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.

    <End of help on this topic> ====== h_config_always_spell_check ===== FEATURE: <!--#echo var="FEAT_spell-check-before-sending"-->

    FEATURE:

    When this feature is set, every composed message will be spell-checked before being sent.

    <End of help on this topic> ====== h_config_quell_asterisks ===== FEATURE: <!--#echo var="FEAT_suppress-asterisks-in-password-prompt"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_quell_flowed_text ===== FEATURE: <!--#echo var="FEAT_quell-flowed-text"-->

    FEATURE:

    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 "" 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 "" 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 that 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 "" was set to a non-default value. If the feature "" 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)?

    "" 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.

    <End of help on this topic> ====== h_config_strip_ws_before_send ===== FEATURE: <!--#echo var="FEAT_strip-whitespace-before-send"-->

    FEATURE:

    By default, 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 "" feature. also has the effect of turning off sending of flowed text.

    <End of help on this topic> ====== h_config_alt_reply_menu ===== FEATURE: <!--#echo var="FEAT_alternate-reply-menu"-->

    FEATURE:

    Note that if this option is enabled, then the option is ignored. See below to understand why.

    When you reply to a message, a series of questions are asked that determines how your reply will be handled by Alpine. This feature only affects the result of the first question you are asked, and its purpose is to set values that could override defaults set in Alpine's main configuration screen. As a result, this menu allows you to configure even more features than you would be able to do without this option. For example, this menu always allows you to override or select a Role if you have defined one, or allows you to override your indent string, regardless of if you have enabled . The full list of options can be found below.

    Here is an example of how this option works. After you press Reply, if you see "A Inc Attach" in the menu, it means that if you press "A", then Alpine will include the attachments of the original message, and the default is not to include them. Conversely, if you see "A No Attach" then by pressing "A" Alpine will not include attachments in your reply, and the default is that Alpine will include them in your reply. The value that you see when you start your reply is controlled by the option . If the feature is enabled, then Alpine will display "A No Attach" to override the default behavior. You can toggle between the two values of this option by pressing "A". Remember that the value that you see in the menu is the action that will be done when you press the associated command.

    Below are your options:

    1. A: This determines if Alpine will include or not the attachments sent to you in the message that you are replying to. The default is to use the value of the configuration option and can be overridden by using this command.
    2. H: This command determines if the headers of a message are included in the body of the message that is being replied to. By default Alpine will use the value of the configuration option . Observe that by toggling this option to include headers, text will be toggled to be included by default.
    3. R: Can be used to set a role different from the default.
    4. S: Determines if Alpine will strip the signature from a message. The default is to strip the signature when the message is not viewed in headers mode, and you either have enabled or .
    5. Ctrl-R: Can be used to edit the "".

    In order to include the text of the original message in the reply you either need to press 'y' to include the original text, or 'n' to exclude it from the reply. Pressing return will execute the default action, which is to include text only if the option is enabled. However, notice that the default is to include text if you edit the reply indent string or if you explicitly set through this menu that you want headers included in the reply message.

    <End of help on this topic> ====== h_config_del_from_dot ===== FEATURE: <!--#echo var="FEAT_compose-cut-from-cursor"-->

    FEATURE:

    This feature controls the behavior of the Ctrl-K command in the composer. If set, ^K will cut from the current cursor position to the end of the line, rather than cutting the entire line.

    <End of help on this topic> ====== h_config_print_index ===== FEATURE: <!--#echo var="FEAT_print-index-enabled"-->

    FEATURE:

    This feature controls the behavior of the Print command when in the MESSAGE 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.

    <End of help on this topic> ====== h_config_allow_talk ===== FEATURE: <!--#echo var="FEAT_allow-talk"-->

    FEATURE:

    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. If enabled, you may see unexpected messages in the middle of your Alpine screen from someone attempting to contact you via the "talk" program.

    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.

    <End of help on this topic> ====== h_config_send_filter_dflt ===== FEATURE: <!--#echo var="FEAT_compose-send-offers-first-filter"-->

    FEATURE:

    If you have "" configured, setting this feature will cause the first filter in the list to be offered as the default instead of unfiltered, the usual default.

    <End of help on this topic> ====== h_config_custom_print ===== FEATURE: <!--#echo var="FEAT_print-offers-custom-cmd-prompt"-->

    FEATURE:

    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 printer setup menu.

    <End of help on this topic> ====== h_config_enable_dot_files ===== FEATURE: <!--#echo var="FEAT_enable-dot-files"-->

    FEATURE:

    When this feature is 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.

    <End of help on this topic> ====== h_config_enable_dot_folders ===== FEATURE: <!--#echo var="FEAT_enable-dot-folders"-->

    FEATURE:

    When this feature is set, folders beginning with dot (".") may be added and viewed.

    <End of help on this topic> ====== h_config_ff_between_msgs ===== FEATURE: <!--#echo var="FEAT_print-formfeed-between-messages"-->

    FEATURE:

    Setting this feature causes a formfeed to be printed between messages when printing multiple messages (with Apply Print command).

    <End of help on this topic> ====== h_config_blank_keymenu ===== FEATURE: <!--#echo var="FEAT_disable-keymenu"-->

    FEATURE:

    If this feature is 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 for Other command but disappear if any other command is typed.

    <End of help on this topic> ====== h_config_enable_mouse ===== FEATURE: <!--#echo var="FEAT_enable-mouse-in-xterm"-->

    FEATURE:

    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).

    <End of help on this topic> ====== h_config_enable_xterm_newmail ===== FEATURE: <!--#echo var="FEAT_enable-newmail-in-xterm-icon"-->

    FEATURE:

    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 .

    <End of help on this topic> ====== h_config_enable_newmail_short_text ===== FEATURE: <!--#echo var="FEAT_enable-newmail-short-text-in-icon"-->

    FEATURE:

    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 feature is also set. Like the feature, this feature is only relevant when run in an xterm environment.

    <End of help on this topic> ====== h_config_copy_to_to_from ===== FEATURE: <!--#echo var="FEAT_copy-to-address-to-from-if-it-is-us"-->

    FEATURE:

    This feature affects the From address used when Replying to a message. It is probably only useful if you have some 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.

    <End of help on this topic> ====== h_config_prefix_editing ===== FEATURE: <!--#echo var="FEAT_enable-reply-indent-string-editing"-->

    FEATURE:

    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 "" may be used to change what appears as the default string to be edited.

    NOTE: Edited only apply to the message currently being replied to.

    If you change your so that it is not equal to the default value of "> ", then quoted text will not be flowed (Flowed Text) when you reply. For this reason, we recommend that you leave your set to the default value.

    <End of help on this topic> ====== h_config_enable_search_and_repl ===== FEATURE: <!--#echo var="FEAT_enable-search-and-replace"-->

    FEATURE:

    This feature modifies the behavior of Alpine's composer. Setting this feature causes Alpine to offer the "^R Replace" subcommand, which allows you to search and replace text strings in a message you are composing, inside the "^W Where is" command.

    To search and replace text, first enter the text to be replaced at the "Search: " prompt. Then, rather than pressing Enter to just search for that text, press ^R, which turns the prompt into

    Search (to replace):

    and then press Enter. The cursor will highlight the first occurrence of the text string you entered, and the prompt will show:

    Replace "" with :

    where is what you entered at the previous prompt; here, enter the replacement text. To only replace the highlighted occurrence, simply press Enter now; to replace all occurrences in the message, press ^X (Repl All), then Enter. You will then be asked to confirm each replacement.

    The command ^R toggles between "Replace" and "Don't Replace"; its subcommand ^X toggles between "Replace All" and "Replace One."

    If you previously searched for text in a message, it will be offered for re-use as part of the prompt, shown in [ ] brackets.

    <End of help on this topic> ====== h_config_enable_view_attach ===== FEATURE: <!--#echo var="FEAT_enable-msg-view-attachments"-->

    FEATURE:

    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 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.

    <End of help on this topic> ====== h_config_enable_y_print ===== FEATURE: <!--#echo var="FEAT_enable-print-via-y-command"-->

    FEATURE:

    This feature modifies the behavior of Alpine's Print command.

    By default, Alpine's print command is available by pressing the "%" key. (This command is a substantial change from Pine versions before 4.00 -- where the print command was "Y" -- based on numerous complaints about printing being invoked inadvertently, since Y also means "Yes.")

    This feature is supplied to mitigate any disruption or anxiety users might feel as a result of this change.

    Enabling this feature will cause Alpine to recognize both the old command, "Y" for Prynt, as well the new "%" method for invoking printing. Note, key menu labels are not changed as a result of enabling this feature.

    <End of help on this topic> ====== h_config_enable_lessthan_exit ===== FEATURE: <!--#echo var="FEAT_enable-exit-via-lessthan-command"-->

    FEATURE:

    If this feature is 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.

    <End of help on this topic> ====== h_config_enable_view_url ===== FEATURE: <!--#echo var="FEAT_enable-msg-view-urls"-->

    FEATURE:

    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-viewer" variable.

    Use the arrow keys to change which of the URLs displayed in boldface is the current selection.

    Speaking of arrow keys, the Up and Down Arrows will select the next and previous URL if one is available on the screen for selection (unless you have set the feature ""). 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.

    <End of help on this topic> ====== h_config_enable_view_web_host ===== FEATURE: <!--#echo var="FEAT_enable-msg-view-web-hostnames"-->

    FEATURE:

    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. This can be useful when you receive messages referencing World Wide Web sites without the use of complete URLs; for example, specifying only "www.some.site.com" (which will not become a selectable item by setting "") rather than explicitly "http://www.some.site.com".

    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-viewer" variable.

    Use the arrow keys (unless you have set the feature "") to change which of the hostnames displayed in boldface is the current selection.

    Similarly, when selectable web hostnames are present in a message, the Ctrl-F key can be used to select the next web hostname 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 web hostnames in the same way.

    <End of help on this topic> ====== h_config_enable_view_addresses ===== FEATURE: <!--#echo var="FEAT_enable-msg-view-addresses"-->

    FEATURE:

    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 arrow keys (unless you have set the feature "") to change which of the hostnames displayed in boldface is the current selection.

    Similarly, when selectable web hostnames are present in a message, the Ctrl-F key can be used to select the next web hostname 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 web hostnames in the same way.

    <End of help on this topic> ====== h_external_loads_inline_images_only ===== FEATURE: <!--#echo var="FEAT_external-command-loads-inline-images-only"-->

    FEATURE:

    Alpine allows you to pass a HTML message to the browser that you have configured in your variable. This allows you to read a message outside of Alpine. This is desirable when Alpine does not display html correctly, or when you wish to read the message and see the inline images in the message.

    An inline image is one that comes with the message and is necessary for the correct display of the message. However, there are instances in which the source of an image will come from external servers. If this feature is enabled (the default) then Alpine will only pass inline images to the browser and will remove the link to external images, so only inline images will be used to display the message, and no external image will be loaded. Alpine does this to protect your privacy and security.

    Please note that messages are usually formatted by the sender so that they display correctly once all images have been loaded. Enabling this feature might cause the message not to be correctly displayed by your browser.

    Also consider security and privacy implications of opening an HTML message in a browser. You are always protected when you do not use this feature, but you might not have the same level of protection if you try to open a spam or scam using the html view. Also commercial email is normally embedded with links to external images that let them, their partners, and your internet service provider (which could be your employer or school) know that you opened their message or connected to a web site, violating your privacy.

    If you are worried about your privacy and security, do not use an external viewer to open html files, and keep using the internal mechanisms that Alpine provides to read messages.

    <End of help on this topic> ====== h_config_enable_view_arrows ===== FEATURE: <!--#echo var="FEAT_enable-msg-view-forced-arrows"-->

    FEATURE:

    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.

    Setting this feature causes the UP and Down arrow key 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.

    <End of help on this topic> ====== h_config_quell_charset_warning ===== FEATURE: <!--#echo var="FEAT_quell-charset-warning"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_quell_host_after_url ===== FEATURE: <!--#echo var="FEAT_quell-server-after-link-in-html"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_prefer_plain_text ===== FEATURE: <!--#echo var="FEAT_prefer-plain-text"-->

    FEATURE:

    A message being viewed may contain alternate versions of the same content. Those alternate versions are supposed to be 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.

    When viewing a message there is a command "A TogglePreferPlain", which will temporarily change the sense of this option. If this option is set you will first see the plain text version of a message. If you then type the "A" command, you will see the most preferred version, most likely HTML, instead. Typing the "A" command a second time will switch it back. Alternatively, if the present option is not set you will originally see the most preferred version of the message and typing "A" will switch to the plain text version.

    <End of help on this topic> ====== h_config_pass_control ===== FEATURE: <!--#echo var="FEAT_pass-control-characters-as-is"-->

    FEATURE:

    It is probably not useful to set this option. This is a legacy option left behind "just in case". Multi-byte characters that have an octet that has the same value as a control character are permitted through whether or not this option is turned on.

    This feature controls how certain characters contained in messages are displayed. If set, all characters in a message will be sent to the screen. Normally, control characters are displayed as shown below to avoid a garbled screen and 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 instead.

    <End of help on this topic> ====== h_config_pass_c1_control ===== FEATURE: <!--#echo var="FEAT_pass-c1-control-characters-as-is"-->

    FEATURE:

    It is probably not useful to set this option. This is a legacy option left behind "just in case". Multi-byte characters that have an octet that has the same value as a control character are permitted through whether or not this option is turned on.

    If the feature 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 unset and set this feature.

    <End of help on this topic> ====== h_config_fcc_on_bounce ===== FEATURE: <!--#echo var="FEAT_fcc-on-bounce"-->

    FEATURE:

    This feature controls an aspect of Alpine's behavior when bouncing a message. If set, normal FCC ("File Carbon Copy") processing will be done, 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.

    <End of help on this topic> ====== h_config_show_cursor ===== FEATURE: <!--#echo var="FEAT_show-cursor"-->

    FEATURE:

    This feature controls an aspect of Alpine's displays. 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 an "interesting" spot on the screen.

    <End of help on this topic> ====== h_config_sort_fcc_alpha ===== FEATURE: <!--#echo var="FEAT_sort-default-fcc-alpha"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_sort_save_alpha ===== FEATURE: <!--#echo var="FEAT_sort-default-save-alpha"-->

    FEATURE:

    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).

    <End of help on this topic> ====== h_config_single_list ===== FEATURE: <!--#echo var="FEAT_single-column-folder-list"-->

    FEATURE:

    This feature controls an aspect of Alpine's FOLDER LIST screen. If set, the folders will be listed one per line instead of several per line in the FOLDER LIST display.

    <End of help on this topic> ====== h_config_vertical_list ===== FEATURE: <!--#echo var="FEAT_vertical-folder-list"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_verbose_post ===== FEATURE: <!--#echo var="FEAT_enable-verbose-smtp-posting"-->

    FEATURE:

    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 SMTP server to provide a more detailed account of the transaction. This feature is typically only useful to system administrators and other support personnel as an aid in troubleshooting problems.

    Note, this feature relies on a specific capability of the system's mail transport agent or configured "". It is possible that this feature will cause problems for some transport agents, and may result in sending failure. In addition, as the verbose output comes from the mail transport agent, it is likely to vary from one system to another.

    <End of help on this topic> ====== h_config_auto_reply_to ===== FEATURE: <!--#echo var="FEAT_reply-always-uses-reply-to"-->

    FEATURE:

    This feature controls an aspect of Alpine's Reply command. 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).

    Note: Using the "Reply-To:" address is usually the preferred behavior, however, some mailing list managers choose to place the list's address in the "Reply-To:" field of any message sent out to the list. In such cases, this feature makes it all too easy for personal replies to be inadvertently sent to the entire mail list, so be careful!

    <End of help on this topic> ====== h_config_del_skips_del ===== FEATURE: <!--#echo var="FEAT_delete-skips-deleted"-->

    FEATURE:

    This feature controls an aspect of Alpine's Delete command. If set, this feature will cause the Delete command to advance past following 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.

    <End of help on this topic> ====== h_config_expunge_manually ===== FEATURE: <!--#echo var="FEAT_expunge-only-manually"-->

    FEATURE:

    Normally, when you close a folder that 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.

    <End of help on this topic> ====== h_config_auto_expunge ===== FEATURE: <!--#echo var="FEAT_expunge-without-confirm"-->

    FEATURE:

    This features controls an aspect of Alpine's eXpunge command. If set, you will not be prompted to confirm your intent before the expunge takes place. Actually, this is only true for the INBOX folder and for folders in the Incoming Folders collection. See the feature "".

    <End of help on this topic> ====== h_config_full_auto_expunge ===== FEATURE: <!--#echo var="FEAT_expunge-without-confirm-everywhere"-->

    FEATURE:

    This features controls an aspect of Alpine's eXpunge command. If set, you will not be prompted to confirm your intent before the expunge takes place. This feature sets this behavior for all folders, unlike the "" feature that works only for incoming folders.

    <End of help on this topic> ====== h_config_auto_read_msgs ===== FEATURE: <!--#echo var="FEAT_auto-move-read-msgs"-->

    FEATURE:

    This feature controls an aspect of Alpine's behavior upon quitting. If set, and the "" option is also set, then Alpine will automatically transfer all read messages 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.

    <End of help on this topic> ====== h_config_auto_fcc_only ===== FEATURE: <!--#echo var="FEAT_fcc-only-without-confirm"-->

    FEATURE:

    This features controls an aspect of Alpine's composer. The only time this feature will be used is if you attempt to send mail that 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 . 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 feature defaults to not asking unless you turn it on.

    <End of help on this topic> ====== h_config_mark_fcc_seen ===== FEATURE: <!--#echo var="FEAT_mark-fcc-seen"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_no_fcc_attach ===== FEATURE: <!--#echo var="FEAT_fcc-without-attachments"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_read_in_newsrc_order ===== FEATURE: <!--#echo var="FEAT_news-read-in-newsrc-order"-->

    FEATURE:

    This feature controls the order in which newsgroups will be presented. If set, they will be presented in the same order as they occur in your "NEWSRC" ".newsrc" file (the default location of which can be changed with the "" option).

    If not set, the newsgroups will be presented in alphabetical order.

    <End of help on this topic> ====== h_config_quell_tz_comment ===== FEATURE: <!--#echo var="FEAT_quell-timezone-comment-when-sending"-->

    FEATURE:

    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 that 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.

    <End of help on this topic> ====== h_config_post_wo_validation ===== FEATURE: <!--#echo var="FEAT_news-post-without-validation"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_send_wo_confirm ===== FEATURE: <!--#echo var="FEAT_send-without-confirm"-->

    FEATURE:

    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 "", which may be used to eliminate the extra confirmation question when posting to a newsgroup.

    <End of help on this topic> ====== h_config_quell_filtering_done_message ===== FEATURE: <!--#echo var="FEAT_quell-filtering-done-message"-->

    FEATURE:

    If you use Filter Rules that move messages or set status of messages you sometimes see a message from Alpine that looks like

    filtering done

    If this feature is set, this message will be suppressed. If the feature is set then this message will be suppressed regardless.

    <End of help on this topic> ====== h_config_quell_filtering_messages ===== FEATURE: <!--#echo var="FEAT_quell-filtering-messages"-->

    FEATURE:

    If you use Filter Rules that move messages or set status of messages you sometimes see messages from Alpine that look like

    <filter name>: Moving 2 filtered messages to <folder name>

    or

    <filter name>: Setting flags in 5 messages

    or

    Processing filter <filter name>

    If this feature is set, these messages will be suppressed. The feature is related.

    <End of help on this topic> ====== h_config_quell_post_prompt ===== FEATURE: <!--#echo var="FEAT_quell-extra-post-prompt"-->

    FEATURE:

    By default, when you post a message to a newsgroup you are asked to confirm that you want to post with the question

    Posted message may go to thousands of readers. Really post?

    If this feature is set, you will not be prompted to confirm your intent to post to a newsgroup and your message will be posted.

    <End of help on this topic> ====== h_config_check_mail_onquit ===== FEATURE: <!--#echo var="FEAT_check-newmail-when-quitting"-->

    FEATURE:

    If this feature is 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.

    <End of help on this topic> ====== h_config_inbox_no_confirm ===== FEATURE: <!--#echo var="FEAT_return-to-inbox-without-confirm"-->

    FEATURE:

    Normally, when you use the TAB NextNew 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.

    <End of help on this topic> ====== h_config_dates_to_local ===== FEATURE: <!--#echo var="FEAT_convert-dates-to-localtime"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_tab_no_prompt ===== FEATURE: <!--#echo var="FEAT_continue-tab-without-confirm"-->

    FEATURE:

    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 question gives you a chance to stop the NextNew processing. (The checking problem might be caused by the fact that the folder does not exist, or by an authentication problem, or by a server problem of some sort.)

    If this feature is set you will not be asked. It will be assumed that you do want to continue.

    <End of help on this topic> ====== h_config_input_history ===== FEATURE: <!--#echo var="FEAT_disable-save-input-history"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_confirm_role ===== FEATURE: <!--#echo var="FEAT_confirm-role-even-for-default"-->

    FEATURE:

    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 that 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 feature and of the values set for all of Reply Use, Forward Use, and Compose Use.

    <End of help on this topic> ====== h_config_news_cross_deletes ===== FEATURE: <!--#echo var="FEAT_news-deletes-across-groups"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_news_catchup ===== FEATURE: <!--#echo var="FEAT_news-offers-catchup-on-close"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_next_thrd_wo_confirm ===== FEATURE: <!--#echo var="FEAT_next-thread-without-confirm"-->

    FEATURE:

    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 "" 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 "" also has some similar effects.

    <End of help on this topic> ====== h_config_kw_braces ===== OPTION: <!--#echo var="VAR_keyword-surrounding-chars"-->

    OPTION:

    This option controls a minor aspect of Alpine's MESSAGE INDEX and MESSAGE TEXT screens. If you have modified the "" 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

    ="{" "} "

    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

    ="[" "] "

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

    ="\"" "\" "

    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.

    <End of help on this topic> ====== h_config_opening_sep ===== OPTION: <!--#echo var="VAR_opening-text-separator-chars"-->

    OPTION:

    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 option to include one of the Subject tokens that 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

    =" - "

    <End of help on this topic> ====== h_config_select_wo_confirm ===== FEATURE: <!--#echo var="FEAT_select-without-confirm"-->

    FEATURE:

    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.

    Some related help topics are

    <End of help on this topic> ====== h_config_save_part_wo_confirm ===== FEATURE: <!--#echo var="FEAT_save-partial-msg-without-confirm"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_use_resentto ===== FEATURE: <!--#echo var="FEAT_use-resent-to-in-rules"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_use_reg_start_for_stayopen ===== FEATURE: <!--#echo var="FEAT_use-regular-startup-rule-for-stayopen-folders"-->

    FEATURE:

    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 . 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.

    <End of help on this topic> ====== h_config_use_current_dir ===== FEATURE: <!--#echo var="FEAT_use-current-dir"-->

    FEATURE:

    This feature controls an aspect of several commands. If set, your "current working directory" (which, at least for your current Alpine "session," is "") will be used instead of your home directory (which, in the present configuration of your system, is "") for all of the following operations:
    • Export in the MESSAGE INDEX and MESSAGE TEXT screens
    • Attachment Save in the MESSAGE TEXT and ATTACHMENT TEXT screens
    • F4 Ctrl-R file inclusion in the COMPOSER
    • F5 Ctrl-J file attachment in the COMPOSER

    If you are starting PC-Alpine from a desktop icon or the Start menu, you can set the "current drive" by specifying it in the "Start in:" box found in the Shortcut tab of the Properties.

    <End of help on this topic> ====== h_config_save_wont_delete ===== FEATURE: <!--#echo var="FEAT_save-will-not-delete"-->

    FEATURE:

    This feature controls one aspect of the Save command. If set, Save will not mark the message "deleted" (its default behavior) after it has been copied to the designated folder.

    <End of help on this topic> ====== h_config_use_boring_spinner ===== FEATURE: <!--#echo var="FEAT_busy-cue-spinner-only"-->

    FEATURE:

    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 option to zero.

    <End of help on this topic> ====== h_config_unsel_wont_advance ===== FEATURE: <!--#echo var="FEAT_unselect-will-not-advance"-->

    FEATURE:

    This feature controls one aspect of the Unselect Current message command. 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.

    <End of help on this topic> ====== h_config_prune_uses_iso ===== FEATURE: <!--#echo var="FEAT_prune-uses-yyyy-mm"-->

    FEATURE:

    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 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.

    <End of help on this topic> ====== h_config_save_advances ===== FEATURE: <!--#echo var="FEAT_save-will-advance"-->

    FEATURE:

    This feature controls one aspect of the Save command. If set, Save will (in addition to copying the current message to the designated folder) also advance to the next message.

    <End of help on this topic> ====== h_config_force_arrow ===== FEATURE: <!--#echo var="FEAT_force-arrow-cursor"-->

    FEATURE:

    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 , but the index line coloring will still be present if this feature is turned on and is off.

    An alternative version of the Arrow cursor is available by including the ARROW token in the option.

    It ought to be the case that this feature also affects the ATTACHMENT INDEX, but that is not implemented.

    <End of help on this topic> ====== h_config_ignore_size ===== FEATURE: <!--#echo var="FEAT_ignore-size-changes"-->

    FEATURE:

    When you have an account residing in an IMAP server, Alpine records the size of each message as reported by the server. However, when Alpine saves a message in such IMAP server, Alpine will compute the size of the message independently, from the data it received. If these two numbers do not match for a message, Alpine asks you if you still want to take the risk of saving such message, since data corruption or loss of data could result from this save.

    Sometimes the root of this problem is that the IMAP server does not compute sizes correctly, and there will not be loss of information when saving such message. Enabling this feature will make Alpine ignore such error and continue saving the message without producing any warnings or ever stopping the process, as if there had not been any error. This option applies to all IMAP servers that you use, so if you enable this feature, size discrepancy warnings will not be given for any IMAP server you connect to.

    Example of a server where you could reproduce this problem is the Gmail IMAP server. Another example can be found in some versions of the Exchange server.

    It is recommended that this feature be disabled most of the time and only enabled when you find a server which you can determine that has the above mentioned defect, but be disabled again after making the save operation succeed.

    <End of help on this topic> ====== h_config_force_low_speed ===== FEATURE: <!--#echo var="FEAT_assume-slow-link"-->

    FEATURE:

    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. If you are just turning this feature on because you like using the "arrow" cursor you may have an arrow cursor with index line coloring by turning this feature off and the on.

    <End of help on this topic> ====== h_config_show_delay_cue ===== FEATURE: <!--#echo var="FEAT_enable-mail-check-cue"-->

    FEATURE:

    If set, this feature will cause an asterisk to appear in the upper left-hand corner of the screen whenever Alpine checks for new mail. Two asterisks whenever Alpine saves (checkpoints) the state of the current mailbox to disk.

    In addition, PC-Alpine will display a less-than symbol, '<', when it is trying to open a network connection (e.g, to open your INBOX on an IMAP server) or read from the network connection. A greater-than symbol, will be displayed when PC-Alpine is trying to write to the network connection (e.g, sending a command to your IMAP server).

    <End of help on this topic> ====== h_config_color_style ===== OPTION: Color Style

    OPTION: Color Style

    UNIX Alpine only.

    If the terminal or terminal emulator you are using is capable of displaying colors, this option 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 immediately. Modern terminal emulators are usually capable of displaying colors.

    The available options include:

    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. The Alpine Technical Notes, distributed with the source code of Alpine have more information on configuring a TERMCAP or TERMINFO entry for color Alpine. This is usually something a system administrator does.
    force-ansi-8color
    This is probably the setting that most people should use. 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 that 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 that 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". The escape sequences for foreground and background default colors (transparent) are 39m and 49m.

    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.

    The normal default is "no-color".

    Once you've turned on color you may set the colors of many objects on the screen individually. For example, you may add colors to the status letters on the MESSAGE INDEX page. Most categories of color that Alpine supports are configurable here. For example, "Normal Color" is the color used to display most of the text in Alpine, and "Reverse Color" is used to display highlighted text, such as the current message in the MESSAGE INDEX.

    Lines in the MESSAGE INDEX may also be colored. Use Setup Rules to get to the Indexcolor configuration screen.

    <End of help on this topic> ====== h_config_disable_index_locale_dates ===== FEATURE: <!--#echo var="FEAT_disable-index-locale-dates"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_auto_open_unread ===== FEATURE: <!--#echo var="FEAT_auto-open-next-unread"-->

    FEATURE:

    This feature controls the behavior of the TAB key when traversing folders in the optional "" collection or in optional .

    When the TAB (NextNew) 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 "" feature that causes Alpine to look for Unseen messages instead of Recent messages. Normally, 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.

    This feature also affects some other similar situations. If you have a that is equal to one of the "separate-" values, and you are viewing a thread; then when you type the NextNew command and are at the end of the current thread you will automatically go to the next thread if this feature is set. By default, you would be asked if you want to view the next thread. You will also be asked at times whether or not you want to view the next thread after you delete the last message in the thread. Setting this feature will also cause that question to be skipped.

    <End of help on this topic> ====== h_config_auto_include_reply ===== FEATURE: <!--#echo var="FEAT_include-text-in-reply"-->

    FEATURE:

    This feature controls an aspect of Alpine's Reply command. Normally, Alpine will ask whether you wish to include the original message in your reply. If this feature is set and the feature "" is not set, then the original message will be included in the reply automatically, without prompting.

    <End of help on this topic> ====== h_config_select_in_bold ===== FEATURE: <!--#echo var="FEAT_show-selected-in-boldface"-->

    FEATURE:

    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 MESSAGE 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.

    <End of help on this topic> ====== h_config_alt_auth ===== FEATURE: <!--#echo var="FEAT_try-alternative-authentication-driver-first"-->

    FEATURE:

    This feature affects how Alpine connects to IMAP servers. Its 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 "STARTTLS" 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" (STARTTLS) 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) or Transport Layer Security (TLS) method. If the SSL attempt fails, Alpine will then try the default behavior described in the previous paragraph.

    STARTTLS negotiation on the normal port is preferred, and supersedes the use of SSL on port 993, but older servers may not provide STARTTLS support. This feature may be convenient when accessing IMAP servers that do not support STARTTLS, but do support SSL or TLS 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 /starttls host flag, for example,

    {foo.example.com/starttls}INBOX

    will over-ride this feature for the specified host by bypassing the SSL or TLS connection attempt. Moreover, with /starttls 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 or TLS connection for the specified host, and will fail if the SSL or TLS service on port 993 is not available. Alpine will not subsequently retry a connection on port 143 if /ssl is specified.

    <End of help on this topic> ====== h_config_file_dir ====== OPTION: File Directory

    OPTION: 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 explicitly set where Alpine should look for files without a leading path.

    NOTE: this feature's value is ignored if either feature is set or the PINERC has a value for the "" variable.

    <End of help on this topic> ====== h_config_quote_all_froms ===== FEATURE: <!--#echo var="FEAT_save-will-quote-leading-froms"-->

    FEATURE:

    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 pine 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.

    <End of help on this topic> ====== h_config_normal_color ===== OPTION: Normal Color

    OPTION: Normal Color

    Sets the color Alpine normally uses. The foreground color is the color of the actual character and the background color is the color of the area behind the character. By default this color is black characters on a white background.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_reverse_color ===== OPTION: Reverse Color

    OPTION: Reverse Color

    Sets the color Alpine uses for reverse video characters. The foreground color is the color of the actual character and the background color is the color of the area behind the character.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_title_color ===== OPTION: Title Color

    OPTION: Title Color

    Sets the color Alpine uses for the titlebar (the top line on the screen). The foreground color is the color of the actual character and the background color is the color of the area behind the character. 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 "" 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 color is set to something different from the Title Color.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_titleclosed_color ===== OPTION: Title Closed Color

    OPTION: Title Closed Color

    Sets the color Alpine uses for the titlebar (the top line on the screen) when the current folder is closed. The foreground color is the color of the actual character and the background color is the color of the area behind the character. By default, the Title Color Closed Color is white characters on a red background.

    By setting this color to something noticeable you will be alerted to the fact that the current folder is closed, perhaps unexpectedly.

    <End of help on this topic> ====== h_config_status_color ===== OPTION: Status Color

    OPTION: Status Color

    Sets the color Alpine uses for status messages written to the message line near the bottom of the screen. The foreground color is the color of the actual character and the background color is the color of the area behind the character. By default, the Status Color is the same as the Reverse Color.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_index_opening_color ===== OPTION: Index Opening Color

    OPTION: Index Opening Color

    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 option to include one of the Subject tokens that causes this behavior (SUBJECTTEXT, SUBJKEYTEXT, or SUBJKEYINITTEXT), you may set the color of this opening text with this option. This coloring takes place for all but the current index line, and the 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.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_index_pri_color ===== OPTION: Index Priority Symbol Colors

    OPTION: Index Priority Symbol Colors

    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. Alpine can be made to display an indication of this priority in messages by use of one of the tokens (Tokens for Index and Replying) PRIORITY, PRIORITYALPHA, or PRIORITY! in the 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.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_index_subject_color ===== OPTION: Index Subject Color

    OPTION: Index Subject 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.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_index_from_color ===== OPTION: Index From Color

    OPTION: Index From 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.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_index_arrow_color ===== OPTION: Index Arrow Color

    OPTION: Index Arrow Color

    If you have configured your option to include the "ARROW" token, you may set the color of the arrow displayed with this option. If you don't set the color it will be colored in the same color as the bulk of the index line.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_index_color ===== OPTION: Index Colors

    OPTION: Index Colors

    You may add color to the single character symbols that 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. The color for each of those characters may be specified by setting the "Index-to-me" Symbol Color, the "Index-important" Symbol Color, the "Index-deleted" Symbol Color, the "Index-answered" Symbol Color, and the "Index-new" Symbol Color. There are also two other symbol colors called "Index-recent" and "Index-unseen". These two colors will only be used if you have configured your "" option to include the "IMAPSTATUS" or "SHORTIMAPSTATUS" token.

    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

    Besides coloring the message status symbols, you may also color the entire index line. This is done by using the SETUP INDEX LINE COLORS screen, which you may get to with the commands Setup/Rules/Indexcolor. When the entire line is colored that color will be "behind" the status symbol colors talked about in the paragraph above.

    You may also color in the index using the Setup/Kolor screen (Keyword Colors); the ARROW cursor; the Subject using Index Subject Color; the From field using Index From Color; and the Index Opening text.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_metamsg_color ===== OPTION: Meta-Message Color

    OPTION: Meta-Message Color

    Sets the color Alpine uses in the MESSAGE TEXT screen for messages to you that aren't part of the message itself. For example, an attachment that isn't shown might produce a meta message something like:

    [ Part 2, "comment" Text/PLAIN (Name: "file") ]

    If you set the option you might see

    [ 12 lines of quoted text hidden from view ]

    Warnings about suspicious looking URLs in HTML will also be colored with this color.

    The foreground color is the color of the actual character and the background color is the color of the area behind the character. By default, the Meta-Message Color is black characters on a yellow background.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_keylabel_color ===== OPTION: KeyLabel Color

    OPTION: KeyLabel Color

    Sets the color Alpine uses for the labels of the keys in the two-line menu at the bottom of the screen. For example, some of the screens have a "P PrevMsg" command. This option sets the color used when displaying "PrevMsg". The foreground color is the color of the actual character and the background color is the color of the area behind the character. 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.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_keyname_color ===== OPTION: KeyName Color

    OPTION: KeyName Color

    Sets the color Alpine uses for the names of the keys in the two-line menu at the bottom of the screen. For example, some of the screens have a "P PrevMsg" command. This option sets the color used when displaying the "P". The foreground color is the color of the actual character and the background color is the color of the area behind the character. By default, the KeyName Color is the same as the Reverse Color.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_slctbl_color ===== OPTION: Selectable Item Color

    OPTION: Selectable Item Color

    Sets the color Alpine uses for selectable items, such as URLs. The foreground color is the color of the actual character and the background color is the color of the area behind the character. By default, the Selectable Item Color is the same as the Normal Color, except that it is bold.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_quote_color ===== OPTION: Quote Colors

    OPTION: Quote Colors

    Sets 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 re-used. 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.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_folder_color ===== OPTION: Folder Color

    OPTION: Folder Color

    Sets the colors Alpine uses for coloring a folder in the FOLDER LIST screen. By default, the Folder Color is the normal text color.

    If you set a color for this feature, other than the normal color (the default), or a color for Directory Color, then directories will be colored according to the color specified in the Directory Color option. In this case, the color will be the only indication that the colored name refers to a directory. The normal behavior is that Alpine indicates that a name refers to a directory by appending a separator (like "/" or ".") to the name of the folder.

    If a folder is a directory, then the folder name will be painted according to the color defined by this variable, and a separator indicator (like "/" or ".") will be added to the name. That indicator will be painted according to the color defined in the Directory Color option.

    <End of help on this topic> ====== h_config_directory_color ===== OPTION: Directory Color

    OPTION: Directory Color

    Sets the colors Alpine uses for coloring a directory in the FOLDER LIST screen. By default, the Folder Color is the normal text color.

    If you set a color for this feature, other than the normal color (the default), or a color for Folder Color, then folders will be colored according to the color specified in the Folder Color option. In this case, the color will be the only indication that the colored name refers to a directory. The normal behavior is that Alpine indicates that a name refers to a directory by appending a separator (like "/" or ".") to the name of the folder.

    If a folder is a directory, then the folder name will be painted according to the color defined by the option Folder Color, and the separator indicator (like "/" or ".") will be added after the name. That indicator will be painted according to the color defined in this option.

    <End of help on this topic> ====== h_config_folder_list_color ===== OPTION: Folder-List Color

    OPTION: Folder-List Color

    Sets the colors Alpine uses for coloring normal text in the FOLDER LIST screen. By default, the Folder-List Color is the normal text color.

    This text refers to the informative text that Alpine displays so you can recognize each collection. The color of the content of each collection is determined by the options Folder Color and Directory Color.

    Unlike the options Folder Color and Directory Color, configuring this option does not affect the way that Alpine reports folders, directories and folders that are directories.

    <End of help on this topic> ====== h_config_incunseen_color ===== OPTION: Incoming Unseen Color

    OPTION: Incoming Unseen Color

    If the option 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 feature at the top of the SETUP COLOR screen.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_signature_color ===== OPTION: Signature Color

    OPTION: Signature Color

    Sets 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.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_prompt_color ===== OPTION: Prompt Color

    OPTION: Prompt Color

    Sets the color Alpine uses for confirmation prompts and questions that appear in the status line near the bottom of the screen. The foreground color is the color of the actual character and the background color is the color of the area behind the character. By default, the Prompt Color is the same as the Reverse Color.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_header_general_color ===== OPTION: Header General Color

    OPTION: Header General Color

    Sets the color Alpine uses for the headers of a message in the MESSAGE TEXT screen. The foreground color is the color of the actual character and the background color is the color of the area behind the character. By default, this is the same as the Normal Color.

    It is also possible to set the colors for specific header fields, for example the Subject, using . If both a Header General Color and a specific Viewer Header Color are set the specific color will override the general color, as you would expect.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_incol ===== Index Line Color

    Index Line Color

    This option is used to set the color of a line in the index when the message for that line matches the Pattern. This colors the whole index line, except possibly the status letters, which may be colored separately using the Setup Kolor screen. The foreground color is the color of the actual characters and the background color is the color of the area behind the characters.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_usetransparent_color ===== OPTION: Use Transparent Color

    OPTION: Use Transparent Color

    This is a special color supported by some terminal emulators. It is intended to result in the default foreground or background color from the terminal emulator. This is the color the terminal was displaying characters in before you started Alpine. The reason it is called Transparent is because you could set the foreground color to some specific color, like Red, and then set the background color to the Transparent Color. If it works as expected, the background color from the terminal window in which Alpine is running will show through but with the Red characters in the foreground.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_usenormal_color ===== OPTION: Use Normal Color

    OPTION: Use Normal Color

    When you use this color value, the actual color used will be the same as the corresponding Normal Color. For example if your Normal Color is black on white and you set both the foreground and background colors here to use the Normal Color, you'll get black on white. If you later change the Normal Color to red on blue this color will also change to red on blue.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_usenone_color ===== OPTION: Use None Color

    OPTION: Use None Color

    This is a special color that simply means to leave the color alone. It is useful for Index symbols and for Keyword Colors used in the Subject field of an index line. The most likely use is to set an explicit foreground color and then set the background color to the None Color. That will cause the symbol or keyword to be drawn in the foreground color with a background equal to whatever color the rest of the index line is already drawn in. You will see no visible effect unless you have assigned Indexcolor Rules to color index lines or you have set an actual color for the Reverse Color.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_dflt_color ===== OPTION: Default Color

    OPTION: Default Color

    Setting default will cause the color to be the default color. Unsetting default is normally done by choosing a color, but in some cases you may want to declare the current default color to be your non-default choice. For example, the default Keyname Color is the same as the Reverse Color. Whenever the Reverse Color changes the Keyname Color will also change, unless you've changed it or unset the default box.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_bold_slctbl ===== OPTION: Bold

    OPTION: Bold

    The color for this particular section may have the Bold attribute turned on or off. Setting bold will cause the characters to be bold.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_kw_color ===== OPTION: Keyword Colors

    OPTION: Keyword Colors

    Sets the colors Alpine uses for Keyword fields in the MESSAGE INDEX screen. Keywords are displayed as part of the Subject by default. They are also displayed as part of the Subject if the tokens "SUBJKEY", "SUBJKEYTEXT", "SUBJKEYINIT", or "SUBJKEYINITTEXT" are used in the 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 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 .

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_customhdr_color ===== OPTION: <!--#echo var="VAR_viewer-hdr-colors"-->

    OPTION:

    Sets the colors Alpine uses for specific header fields in the MESSAGE TEXT screen. For example, you may set the color of the Subject header or the From header. The foreground color is the color of the actual character and the background color is the color of the area behind the character.

    In addition to setting the colors for particular headers (like the Subject) you may also set a color to be used for all headers unless overridden by a more specific Viewer Header Color. To do this use the Header General Color.

    For Header Colors, there is an additional line on the screen labeled "Pattern to match". If you leave that blank, then the whole field for that header will 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 that contain the word "important" will be colored.

    If the pattern you enter is a comma-separated list of patterns, then coloring happens if any of those patterns matches.

    Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_indextoken_color ===== OPTION: <!--#echo var="VAR_index-token-colors"-->

    OPTION:

    This option allows you to set up the color in which any token, not specified by the previous options, will be colored in the MESSAGE INDEX screen.

    In order to use this option, you must press the "I" IndxHdr command, and add a token that can be used in the index format. The list of available tokens is here.

    If you fail to enter a valid token your entry will be ignored, and you will be asked to enter a new one. Once you have entered a valid token, a line will be added to the configuration screen that you can use to set up the colors in which that token will be painted. This is done in the same way that you configure colors for other variables. Descriptions of the available commands

    Look here to see the available Editing and Navigation commands.

    <End of help on this topic> ====== h_config_customhdr_pattern ===== OPTION: Viewer Header Color Pattern

    OPTION: Viewer Header Color Pattern

    If you leave this blank, then the whole field for the header will be colored. 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 that contain the word "important" will be colored.

    For address headers (like From and To) and for the Newsgroups header, a pattern match will cause only the matched addresses or newsgroups to be colored. If there is no pattern to match, then all of the addresses or newsgroups in the relevant header will be colored.

    The matching pattern may be a comma-separated list of patterns to match instead of a single pattern. For example, you could use the pattern "important,urgent" which would cause a match if either the word "important" or the word "urgent" appeared in the value of the header. You could list several comma-separated email addresses in the Header From Color pattern so that those addresses will be colored when any of them appear in the From header.

    To add a new matching pattern or change the existing pattern use the "F4" "C" "Change" command that is available when the "Pattern to match" line is highlighted. The "F10" "D" "Delete" command may be used to quickly remove all patterns for a particular header.

    <End of help on this topic> ====== h_color_setup ===== SETUP COLOR COMMANDS

    SETUP COLOR COMMANDS

    Available Commands -- Group 1
    -------------------------------
    F1  Display this help text
    F2  Show other available commands
    F3  Exit to MAIN MENU
    F4  Select the highlighted foreground or background color
    F5  Move to previous line
    F6  Move to next line
    F7  Previous page
    F8  Next page
    F9  Add a config section for a header field
    F10 Restore all default colors (for all sections)
    F11 Print color configuration screen
    F12 Whereis (search for word)
    
    Available Commands -- Group 2
    -------------------------------
    F1  Display this help text
    F2  Show other available commands
    F5  Delete config section for highlighted header field
    F6  Shuffle the order of Header Color sections
    
    General commands
    -------------------------------------------------
     ?  Display this help text     E  Exit back to MAIN MENU
     P  Previous Line              N  Next Line
     -  Previous page             Spc (space bar) Next page
     W  WhereIs (search for word)  %  Print color configuration screen
    
    Color Setup Commands
    ------------------------------------------------
     *  Select the highlighted foreground or background color
     A  Add a config section for a header field
     D  Delete config section for highlighted header field
     R  Restore all default colors (for all sections)
     $  Shuffle the order of Header Color sections
    

    Description of the Setup Color Screen

    From this screen you may turn on color and set the colors of various parts of the Alpine display. For help on turning on color move your cursor into the Color Style section at the top of the Setup Color screen and ask for help.

    There are several sections in the Setup Color Screen. At the top are some settings that handle the style of color used with your terminal emulator (UNIX only), and some settings that control how the current indexline and the titlebar are colored. After that comes a long section called GENERAL COLORS that allows you to set the color of many elements in the Alpine screens. For example, the color of the titlebar, status messages, selectable links, quotes and signatures in messages, and so on. After that is a section called INDEX COLORS that allows you to set the colors of various pieces of the displayed index lines in the MESSAGE INDEX screen. The next section is HEADER COLORS. This is for coloring headers of messages in the MESSAGE TEXT screen in just about any way you would like. Finally, the KEYWORD COLORS section allows you to highlight in the MESSAGE INDEX screen.

    To change a color, highlight the color you want to change (for example, the Status Color) by moving the cursor into it. You may want to read the help text for the color to see a brief description of what you are coloring. Then press "C" for Change to set the color to something new. That will put you into a screen with two columns of colors, one for the foreground color and one for the background color. The foreground color is just the color you want the actual characters to be and the background color is the color of the rest of the rectangle behind the characters. Select the foreground and background colors desired by using the Next and Prev keys to highlight the color, and the * command to select it.

    To set a color to its default value, set the X in the Default line at the bottom of the list of colors.

    The HEADER COLORS section is a little bit different from the others. Besides coloring the specific fields that Alpine knows about, you may also color specific header fields when viewing a message in the MESSAGE TEXT screen. For example, you may color the Subject header a particular color. There are a few commands for use with headers. The "AddHeader" command adds a section to the color configuration screen that allows you to set the color for that header. You'll be asked for the name of the header field you want to color. If you wanted to color the Subject, you would answer with the word "subject". Once you've added a header field, the color setting works just like the other color fields, except that 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 that contain the word "important" will be colored.

    The "DeleteHdr" command removes a header section from the configuration altogether. The "Shuffle" command changes the order of header sections. This is only necessary if you use header sections with pattern fields. For example, if you have two Subject sections, one with one pattern and another with another pattern, and the subject for a particular message happens to match both, then the color from the first match is used.

    The command "RestoreDefs" will restore all of the default colors. Each section will change to the default value used for that section when color is first enabled. When you restore all default colors the color settings for the Header Colors will be unset (since that's the default), but the header fields you've added will remain so that you may easily reset them. In order to get rid of them completely you'd have to use the "DeleteHdr" command.

    Remember that Index Line Colors may be set with matching rules and that is configured separately from the rest of the color settings described here. It is configured in the Setup/Rules/Indexcolors section of the configuration screen instead of in the Setup/Kolor section.

    <End of help on this topic> ====== h_config_news_uses_recent ====== FEATURE: <!--#echo var="FEAT_news-approximates-new-status"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_expose_hidden_config ===== FEATURE: <!--#echo var="FEAT_expose-hidden-config"-->

    FEATURE:

    If set, this causes configuration options and features that are normally hidden from view to be editable in the Setup/Config screen.

    The purpose of this feature is to allow you to change configuration features and variables that are normally hidden. This is particularly useful if you are using a remote configuration, where it is difficult to edit the contents manually, but it may also be used on a local pinerc configuration file.

    If set, several configuration variables and features that 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 words "hidden configuration".

    Note that this is an advanced feature that 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 that are normally hidden because they are manipulated through Alpine in other ways. For example, colors are normally set using the Setup/Kolors screen and the "" variable is normally set using the Setup/AddressBooks screen, so there is little reason to edit these directly. The "" variable is normally changed by using the Add, Delete, and Rename commands in the FOLDER LIST screen, and the "" variable is normally used internally by Alpine and not set directly by the user.

    <End of help on this topic> ====== h_config_disable_signature_edit ===== FEATURE: <!--#echo var="FEAT_disable-signature-edit-cmd"-->

    FEATURE:

    If set, this disables the editing of signature files from within the Setup/Config screen.

    <End of help on this topic> ====== h_config_disable_roles_templateedit ===== FEATURE: <!--#echo var="FEAT_disable-roles-template-edit"-->

    FEATURE:

    If set, this disables the editing of template files within the Role setup screen.

    <End of help on this topic> ====== h_config_disable_roles_sigedit ===== FEATURE: <!--#echo var="FEAT_disable-roles-sig-edit"-->

    FEATURE:

    If set, this disables the editing of signature files within the Role setup screen.

    <End of help on this topic> ====== h_config_disable_roles_setup ===== FEATURE: <!--#echo var="FEAT_disable-roles-setup-cmd"-->

    FEATURE:

    If set, this disables the Setup/Rules/Roles command.

    <End of help on this topic> ====== h_config_disable_pipes_in_templates ===== FEATURE: <!--#echo var="FEAT_disable-pipes-in-templates"-->

    FEATURE:

    By default, if a template file name is followed by a vertical bar (|) then that causes the file to be executed to produce the text for the template. If this feature is set, then this is not allowed.

    <End of help on this topic> ====== h_config_disable_pipes_in_sigs ===== FEATURE: <!--#echo var="FEAT_disable-pipes-in-sigs"-->

    FEATURE:

    By default, if a signature file name is followed by a vertical bar (|) then that causes the file to be executed to produce the text for the signature. If this feature is set, then this is not allowed.

    <End of help on this topic> ====== h_config_disable_password_cmd ===== FEATURE: <!--#echo var="FEAT_disable-password-cmd"-->

    FEATURE:

    If set, then the Setup/Newpassword command is disabled.

    <End of help on this topic> ====== h_config_disable_password_caching ===== FEATURE: <!--#echo var="FEAT_disable-password-caching"-->

    FEATURE:

    Normally, loginname/password combinations are cached in Alpine so that you do 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 re-used. In the event that Alpine crashes and produces a core dump, and that core dump is readable by others, the loginname and password could be read from the core dump.

    If this feature is set, then the passwords will not be cached and you 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.

    <End of help on this topic> ====== h_config_disable_password_file_saving ===== FEATURE: <!--#echo var="FEAT_disable-password-file-saving"-->

    FEATURE:

    This feature disables caching of passwords, even if your version of Alpine allows saving passwords. For MAC OS users saving passwords is done using the Apple Key Chain, for Windows users caching passwords is done using the internal Windows Credentials, and for other users this is done by using the password file. In this feature, the phrase "password file" is a misnomer and represents the way in which your system stores passwords.

    Specifically, this feature changes the behavior of Alpine when a login name and password combination for a specific server is not found in the password file. The default behavior is that Alpine will ask the user if they wish to save this information in the password file for future use. It is assumed that if a user created a password file it is because they intend to use it, but in some instances a user might want to save some passwords and not others. In this case, enabling this feature will make Alpine not add any more passwords to the password file and will only use the passwords that it already saved. If you wish to allow Alpine to save more passwords in the password file, disable this feature.

    Regardless of which method Alpine uses to store passwords, this is done in a secure way when compiled with OpenSSL or LibreSSL. This is very likely to be your version, and you can check this by reading the encryption features supported by Alpine.

    <End of help on this topic> ====== h_config_disable_kb_lock ===== FEATURE: <!--#echo var="FEAT_disable-keyboard-lock-cmd"-->

    FEATURE:

    If set, then the Keyboard Lock command is removed from the MAIN MENU.

    <End of help on this topic> ====== h_config_disable_config_cmd ===== FEATURE: <!--#echo var="FEAT_disable-config-cmd"-->

    FEATURE:

    If set, then the Setup/Config screen is disabled.

    <End of help on this topic> ====== h_config_allow_chg_from ===== FEATURE: <!--#echo var="FEAT_allow-changing-from"-->

    FEATURE:

    This feature affects Alpine's handling of the "From:" header field in the "" configuration option.

    If this feature is set then the From line can be changed just like all the other header fields that can be changed. This feature defaults to ON.

    Even with this feature turned ON (the default) you will not be able to change the From header unless you add it to your list of . You may also want to change the if you want the From header to always show up in the composer without having to type the Rich Headers command first.

    Note that many sites restrict the use of this feature in order to reduce the chance of falsified addresses and misdirected mail. If you want to change the value of what gets included in the From header in messages you send look here for a description.

    <End of help on this topic> ====== h_config_disable_collate ===== FEATURE: <!--#echo var="FEAT_disable-setlocale-collate"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_quell_attach_extra_prompt ===== FEATURE: <!--#echo var="FEAT_quell-attachment-extra-prompt"-->

    FEATURE:

    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 Alpine and to Pine 4.50, the default behavior was to not prompt. This feature was added for those wanting to preserve that behavior (along with ).

    <End of help on this topic> ====== h_config_quell_attach_ext_warn ===== FEATURE: <!--#echo var="FEAT_quell-attachment-extension-warn"-->

    FEATURE:

    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 to preserve the behavior exhibited in Pine versions prior to Pine 4.50.

    <End of help on this topic> ====== h_config_mailcap_params ===== FEATURE: <!--#echo var="FEAT_enable-mailcap-param-substitution"-->

    FEATURE:

    If set, this will allow mailcap named parameter substitution to occur in mailcap entries. By default, this is turned off to prevent security problems that may occur with some incorrect mailcap configurations. For more information, see RFC1524 and look for "named parameters" in the text of the RFC.

    <End of help on this topic> ====== h_config_disable_shared ===== FEATURE: <!--#echo var="FEAT_disable-shared-namespaces"-->

    FEATURE:

    If this 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 that are very slow when presented with a long loginname that 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.

    <End of help on this topic> ====== h_config_hide_nntp_path ===== FEATURE: <!--#echo var="FEAT_hide-nntp-path"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_no_bezerk_zone ===== FEATURE: <!--#echo var="FEAT_quell-berkeley-format-timezone"-->

    FEATURE:

    POSIX mandates a timezone in UNIX mailbox format folder delimiters (the line that 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.

    <End of help on this topic> ====== h_config_quell_domain_warn ===== FEATURE: <!--#echo var="FEAT_quell-maildomain-warning"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_quell_imap_env ===== FEATURE: <!--#echo var="FEAT_quell-imap-envelope-update"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_quell_news_env ===== FEATURE: <!--#echo var="FEAT_quell-news-envelope-update"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_quell_content_id ===== FEATURE: <!--#echo var="FEAT_quell-content-id"-->

    FEATURE:

    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 that 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 that 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.

    <End of help on this topic> ====== h_config_winpos_in_config ===== FEATURE: <!--#echo var="FEAT_store-window-position-in-config"-->

    FEATURE:

    PC-Alpine only.

    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 the value to be stored in Window-Position.

    <End of help on this topic> ====== h_config_quell_ssl_largeblocks ===== FEATURE: <!--#echo var="FEAT_quell-ssl-largeblocks"-->

    FEATURE:

    PC-Alpine only.

    This feature 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, it is discussed in article 300562 in the Microsoft Knowledge Base.

    <End of help on this topic> ====== h_config_quell_partial ===== FEATURE: <!--#echo var="FEAT_quell-partial-fetching"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_quell_personal_name_prompt ===== FEATURE: <!--#echo var="FEAT_quell-personal-name-prompt"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_quell_user_id_prompt ===== FEATURE: <!--#echo var="FEAT_quell-user-id-prompt"-->

    FEATURE:

    PC-Alpine only. This feature quells the prompting for a 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.

    <End of help on this topic> ====== h_config_save_aggregates ===== FEATURE: <!--#echo var="FEAT_save-aggregates-copy-sequence"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_use_system_translation ===== FEATURE: Use System Translation

    FEATURE: 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. 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.

    <End of help on this topic> ====== h_config_suspend_spawns ===== FEATURE: <!--#echo var="FEAT_use-subshell-for-suspend"-->

    FEATURE:

    This feature affects Alpine's behavior when process suspension is enabled and then activated via the Ctrl-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 "" feature is set and subsequently the Ctrl-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.

    <End of help on this topic> ====== h_config_8bit_smtp ===== FEATURE: <!--#echo var="FEAT_enable-8bit-esmtp-negotiation"-->

    FEATURE:

    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 "" having the negotiation mechanism introduced in "Extended SMTP" (ESMTP) and the specific extension called "8BITMIME".

    ESMTP allows for graceful migration to upgraded mail transfer agents, but it is possible that this feature might cause problems for some servers.

    <End of help on this topic> ====== h_config_8bit_nntp ===== FEATURE: <!--#echo var="FEAT_enable-8bit-nntp-posting"-->

    FEATURE:

    This feature affects Alpine's behavior when posting news.

    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.

    <End of help on this topic> ====== h_config_mark_for_cc ===== FEATURE: <!--#echo var="FEAT_mark-for-cc"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_tab_uses_unseen ===== FEATURE: <!--#echo var="FEAT_tab-uses-unseen-for-next-folder"-->

    FEATURE:

    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 that 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 "" 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.

    <End of help on this topic> ====== h_config_tab_new_only ===== FEATURE: <!--#echo var="FEAT_tab-visits-next-new-message-only"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_warn_if_subj_blank ===== FEATURE: <!--#echo var="FEAT_warn-if-blank-subject"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_warn_if_fcc_blank ===== FEATURE: <!--#echo var="FEAT_warn-if-blank-fcc"-->

    FEATURE:

    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 an Fcc or not. If not, you will be asked if you want to send the message anyway.

    <End of help on this topic> ====== h_config_warn_if_no_to_or_cc ===== FEATURE: <!--#echo var="FEAT_warn-if-blank-to-and-cc-and-newsgroups"-->

    FEATURE:

    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 . 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 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.

    <End of help on this topic> ====== h_config_quell_dead_letter ===== FEATURE: <!--#echo var="FEAT_quell-dead-letter-on-cancel"-->

    FEATURE:

    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 "DEADLETR", "dead.letter" in your home directory, 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.

    NOTE: Enabling this feature means NO record of canceled messages is maintained.

    This feature affects the newer option , which specifies the number of dead letter files to keep around. If this feature is set, then the option has no effect.

    <End of help on this topic> ====== h_config_quell_beeps ===== FEATURE: <!--#echo var="FEAT_quell-status-message-beeping"-->

    FEATURE:

    This feature affects Alpine's behavior when it displays status message (e.g., Error complaints, New mail warnings, etc). Setting this feature will not affect the display of such messages, but will cause those that emit a beep to become silent.

    <End of help on this topic> ====== h_config_suppress_user_agent ===== FEATURE: <!--#echo var="FEAT_suppress-user-agent-when-sending"-->

    FEATURE:

    If this feature is set then Alpine will not generate a User-Agent header in outgoing messages.

    <End of help on this topic> ====== h_config_quell_lock_failure_warnings ===== FEATURE: <!--#echo var="FEAT_quell-lock-failure-warnings"-->

    FEATURE:

    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.

    See also "What Systems Managers Need to Know about Alpine File Locking".

    <End of help on this topic> ====== h_config_enable_role_take ====== FEATURE: <!--#echo var="FEAT_enable-rules-under-take"-->

    FEATURE:

    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 that gives you the choice to Take into the Address Book or Take into a rule.

    <End of help on this topic> ====== h_config_enable_take_export ====== FEATURE: <!--#echo var="FEAT_enable-take-export"-->

    FEATURE:

    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 that 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.

    <End of help on this topic> ====== h_config_quell_folder_internal_msg ====== FEATURE: <!--#echo var="FEAT_quell-folder-internal-msg"-->

    FEATURE:

    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 that do not use IMAP/POP for remote mail access, and that 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.

    <End of help on this topic> ====== h_config_mulnews_as_typed ====== FEATURE: <!--#echo var="FEAT_mult-newsrc-hostnames-as-typed"-->

    FEATURE:

    This feature will be of little use to most users. It has no effect unless the feature is set. When the 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.

    <End of help on this topic> ====== h_config_quell_empty_dirs ====== FEATURE: <!--#echo var="FEAT_quell-empty-directories"-->

    FEATURE:

    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.

    The description above is not quite correct. Only directories which potentially may hold messages are hidden if empty. That is, a directory which is really just a directory and is not selectable as a folder will not be hidden. Such directories can occur on servers that treat most names as both a folder and a directory. These directories are typically created implicitly when a folder is created inside a directory that does not yet exist.

    <End of help on this topic> ====== h_config_termcap_wins ===== FEATURE: <!--#echo var="FEAT_termdef-takes-precedence"-->

    FEATURE:

    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 that 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 that 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 that 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 that doesn't begin with escape, it will not be ignored.

    <End of help on this topic> ====== h_config_cruise_mode ===== FEATURE: <!--#echo var="FEAT_enable-cruise-mode"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_cruise_mode_delete ===== FEATURE: <!--#echo var="FEAT_enable-cruise-mode-delete"-->

    FEATURE:

    This feature modifies the behavior of Alpine's "" 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 "" feature.

    <End of help on this topic> ====== h_config_slash_coll_entire ===== FEATURE: <!--#echo var="FEAT_slash-collapses-entire-thread"-->

    FEATURE:

    The slash (/) command is available from the MESSAGE INDEX screen when the folder is sorted by either Threads or OrderedSubject, and the is set to something other than "none". Normally, the slash command Collapses or Expands the subthread that starts at the currently highlighted message, if any. If this option is set, then the slash command Collapses or Expands the entire current thread instead of just the subthread. The current thread is simply the top-level thread that contains the current message.

    <End of help on this topic> ====== h_config_color_thrd_import ===== FEATURE: <!--#echo var="FEAT_thread-index-shows-important-color"-->

    FEATURE:

    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 "" 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.

    <End of help on this topic> ====== h_config_allow_goto ===== FEATURE: <!--#echo var="FEAT_enable-goto-in-file-browser"-->

    FEATURE:

    This feature modifies the behavior of Alpine's file browser. Setting this feature causes Alpine to offer the "G Goto" command in the file browser. That is the default.

    The Goto command allows you to explicitly type in the desired directory.

    <End of help on this topic> ====== h_config_add_ldap ===== FEATURE: <!--#echo var="FEAT_ldap-result-to-addrbook-add"-->

    FEATURE:

    If both the Directory 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.

    <End of help on this topic> ===== h_patterns_compat_behavior ===== Rules Behavior Changes in Pine 4.50

    Rules Behavior Changes in Pine 4.50

    In Alpine, Rules that contain unrecognized elements are ignored. In most cases, the unrecognized elements will be something that was added as a new Rules feature in a later version of Alpine. In versions of Pine prior to 4.50, Pine did not ignore rules that contained unrecognized elements. For example, a new element of Rules that was added in Pine 4.50 is Age interval. Suppose you add an Indexcolor rule, using version Pine 4.50 or later, that colors all messages older than a week red. Now, if you run Pine 4.44 using that same configuration file, it will not recognize the Age interval and so will just ignore it. That means that all messages will match that rule so all messages will be colored red when using Pine version 4.44.

    This behavior was considered a bug so it is fixed in Alpine and Pine 4.50 and later. However, since the behavior still exists in versions prior to Pine 4.50 and since Filtering is a potentially destructive operation, another measure was taken to attempt to avoid unintentional Filtering of messages. The first time that you run Alpine or a Pine that is version 4.50 or greater, the rules in your Filters configuration variable ("Patterns-Filters") will be copied to a new Filters configuration variable with a different name ("Patterns-Filters2"). From then on, Alpine will continue to use the new variable. Of course, Pine version 4.44 or lower will continue to use the old variable. That means that if you are using Alpine and also using a version of Pine that is older than 4.50, they will not share the configuration information about Filters. If you make a change in one version you won't see it in the other version.

    Since Scoring can be used to trigger Filtering, the same thing has been done for Score rules. The old configuration variable name is ("Patterns-Scores") and the new name is ("Patterns-Scores2"). The same is not true of Role, Indexcolor, and Other rules that are thought to be less harmful when a mistake is made.

    <End of help on this topic> ======= h_config_filt_opts_sentdate ======= PATTERN FEATURE: Use-Date-Header-For-Age

    PATTERN FEATURE: Use-Date-Header-For-Age

    By default, the Age interval of a Pattern uses a message's time of arrival to compute the age of the message. If this feature is set, the date in the message's Date header will be used instead.

    <End of help on this topic> ======= h_config_filt_opts_notdel ======= FILTER FEATURE: Move-Only-if-Not-Deleted

    FILTER FEATURE: Move-Only-if-Not-Deleted

    If this option is set then a message will be moved into the specified folder only if it is not marked for deletion. This is useful if you have multiple Alpine sessions running simultaneously and you don't want messages to be filtered into a folder more than once. It is also useful if you want to filter only the "undeleted" messages in a newsgroup into a folder. 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 session or another mail program that didn't use the filtering rule.

    This option has no effect if the Filter Action is not set to Move.

    <End of help on this topic> ======= h_config_filt_opts_nonterm ======= FILTER FEATURE: Dont-Stop-Even-if-Rule-Matches

    FILTER FEATURE: Dont-Stop-Even-if-Rule-Matches

    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.)

    <End of help on this topic> ====== h_command_external_browser ===== The External Browser Command

    The External Browser Command

    A new command was added to Alpine that allows users to send HTML messages to be displayed by a web browser. This is helpful when a user wants to see images in the context of the message, or get a better display of the message than Alpine provides.

    The simplest way to use this command is to do as follows. While reading a message, press the "V" to go to the ATTACHMENT SCREEN. In that screen move the cursor until it is on top of a TEXT/HTML attachment and press the "X" key. This will make Alpine launch the browser you have configured for in the variable, and you should be able to read the message in your browser, as well as in Alpine.

    If the message you sent to your browser has inline images, then the images attached to the message that are necessary for the display of the message are also sent to the browser for its display.

    The text that follows will explain more details about this command, and is only recommended for more advanced users.

    Displaying Images

    First, we will talk about displaying images in an HTML file. Typically, HTML images are displayed as the result of some specific code of the form

    <img src="...">,
    
    where the text between the quotes tells Alpine how to find the image. If the source of the image is internal to the message, Alpine passes that image to the browser. Otherwise Alpine erases the link to the image. This is done so that you can be protected from a bad use of external images. Images can be used to track that you read the message, or your location, devices you own, etc.. Since Alpine does not open images in any messages, your privacy is always protected this way. Therefore, when you do not pass the links to external images to a browser, your privacy is being protected. However, doing this might make the message not be displayed correctly, since when the message was created the images were part of the formatted message, and not having images might make this formatting look awkward.

    If you would like that Alpine display all images, regardless of their source, and regardless of the sender, then you need to disable the feature . The message will display as intended, but you will leak information to the sender of the message, as well as to your internet service provider, which could be your employer, or school, etc.

    Alpine provides an alternative mechanism to either send all links to the images to the external browser or to send only those that are attached to the message you are trying to display. In order to use this mechanism you must first enable . This allows Alpine to add direct links to each attachments. If you want to send an HTML attachment to an external browser, you would place the cursor over the attachment and press the "Return" or "Enter" key to open the attachment. When you do that you will see a prompt and menu which says

    View selected Attachment  ?
                 Y [Yes]       X External
    ^C Cancel    N No
    

    In order to send this message to an external browser, you would press the "X" key. This will change the prompt and menu to

    View selected Attachment using external viewer including inline images only ?
                 Y [Yes]       X No eXternal
    ^C Cancel    N No          I All images
    

    This is telling you that if you answer "Yes" to this question, and external browser will be used to send this messages, and only inline images, that is, those attached in the message will be sent to the browser. If you would like to send all images in this case, the menu tells you that you must press the "I" key. Pressing that key changes the prompt and menu to

    View selected Attachment using external viewer including all images ?
                 Y [Yes]       X No eXternal
    ^C Cancel    N No          I Inline imgs
    

    and as you can see the prompt says that if you press "Yes" then the message will be sent to the browser including the source of all images, including those in external servers. Notice that the "X" command now is a toggle. If you were to press it now, you would return to the original prompt,

    View selected Attachment  ?
                 Y [Yes]       X External
    ^C Cancel    N No
    

    which means that if you answer "Yes" at this time your message would not be sent to your external browser for display, unless you have configured a mailcap entry to display HTML files.

    One of the lessons of this discussion is that if you never press the "X" command in the ATTACHMENT SCREEN, and you never press the "X" command when launching a viewer for an attachment in the MESSAGE TEXT screen, you will never use this mechanism, and Alpine will resort to your already configured mechanisms to open HTML text.This means you can live your life without worrying that Alpine will do anything different because of this new feature. You do not have to use it, but if you do, you should know the risks and advantages and decide when and how to use it.

    Saving HTML Messages to Disk

    No matter what your reason to send a message to an external web browser is, Alpine must write your message to a file (and also all related inline images), and point your browser to open that file. Alpine saves all your messages and auxiliary images in a subdirectory of the ~/.alpine-html directory in unix-like Alpine, or the alpine-html folder in your home directory in PC-Alpine. If Alpine cannot access these directories, or create folders in them, then the full mechanism described above will fail, and you will not be able to send messages to an external browser for display.

    Unfortunately browsers do not remove the file that Alpine created, nor the images that Alpine saved in order to display this message, so if you use this mechanism often you will create many directories and files which the browser will not remove. Alpine will remove these files when you exit Alpine. Any temporary directory that Alpine created that has existed for longer than 10 minutes will be automatically erased. Alpine also erases these directories upon exiting.

    When Alpine creates a directory to house the files associated to a message that will pass to an external browser, it tries to delete that directory later on, according to the discussion above. What this means is that you should consider the contents of the ~/.alpine-html directory in unix-like Alpine and the alpine-html folder in PC-Alpine as temporary, and not rely on their existence. If you attempt to save files in one of these directories, chances are your data will be deleted by Alpine. Since deleting is a destructive action, every session of Alpine that you have open will only attempt to remove the directories it created, with their content in them. If this operation fails, Alpine will not try to investigate, nor will report to you, why the operation failed. Therefore, users should periodically check their html directory to see if there is content there that they wish to delete.

    <End of help on this topic> ===== h_mainhelp_smime ====== S/MIME Overview

    S/MIME Overview

    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. The same support can be provided using the LibreSSL libraries. The support for S/MIME in PC-Alpine is fully based on the LibreSSL libraries. To check if this version of Alpine supports S/MIME look at Supported Options in this Alpine and look for "S/MIME" under the "Encryption" heading.

    Some limitations:

    • 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).

    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

    For PC-Alpine, the equivalent directory is called

    alpine-smime
    and is also located under your home directory.

    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

    If you have access to a private certificate in the PKCS12 format, which would sometimes be in a file with a ".p12" extension, then you can use the following commands to generate private keys, public and certificate authorities certificates. In the examples below, we assume that the certificate in the p12 format is called "certificate.p12", and that your email address is "your@address.com".

    In order to create a private key use the command

    openssl pkcs12 -in certificate.p12 -out your@address.com.key

    In order to create a public certificate use the command

    openssl pkcs12 -in certificate.p12 -clcerts -nokeys -out your@address.com.crt

    In order to create a certificate authority certificate use the command

    openssl pkcs12 -in certificate.p12 -cacerts -nokeys -out certificate-ca.crt

    If the previous command produces an empty file, it means that the certificate authority was not included in the .p12 file, so you will have to get it from some other sources. You will need these certificates, so that you can validate correctly signatures.

    After you have exported these certificates and keys, you can use the import command in Alpine, from the S/MIME configuration screen, to import these certificates into Alpine. They will be available for use as soon as you import them.

    <End of help on this topic> ====== h_config_smime_pubcertdir ===== S/MIME OPTION: <!--#echo var="VAR_smime-public-cert-directory"-->

    S/MIME OPTION:

    If the option 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-----
    

    <End of help on this topic> ====== h_config_smime_pubcertcon ===== OPTION: <!--#echo var="VAR_smime-public-cert-container"-->

    OPTION:

    If this option is set it will be used instead of .

    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

    See Valid Folder Names for more information about the syntax of folder names.

    Use the Setup/SMIME screen to modify this variable.

    <End of help on this topic> ====== h_config_smime_privkeydir ===== OPTION: <!--#echo var="VAR_smime-private-key-directory"-->

    OPTION:

    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 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-----
    

    <End of help on this topic> ====== h_config_smime_privkeycon ===== OPTION: <!--#echo var="VAR_smime-private-key-container"-->

    OPTION:

    If this option is set it will be used instead of .

    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

    See Valid Folder Names for more information about the syntax of folder names.

    Use the Setup/SMIME screen to modify this variable.

    <End of help on this topic> ====== h_config_smime_cacertdir ===== S/MIME OPTION: <!--#echo var="VAR_smime-cacert-directory"-->

    S/MIME OPTION:

    If the option 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 ().

    <End of help on this topic> ====== h_config_smime_cacertcon ===== S/MIME OPTION: <!--#echo var="VAR_smime-cacert-container"-->

    S/MIME OPTION:

    If this option is set it will be used instead of .

    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

    See Valid Folder Names for more information about the syntax of folder names.

    Use the Setup/SMIME screen to modify this variable.

    <End of help on this topic> ========== h_config_smime_sign_by_default ========== S/MIME FEATURE: <!--#echo var="FEAT_smime-sign-by-default"-->

    S/MIME FEATURE:

    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).

    <End of help on this topic> ========== h_config_smime_use_cert_store ========== S/MIME FEATURE: <!--#echo var="FEAT_smime-use-store-only"-->

    S/MIME FEATURE:

    This feature only has an effect if your version of Alpine includes support for S/MIME. It affects Alpine's behavior when you validate a message, and should not be disabled, unless you are performing a test.

    There are two important aspects of validation: validation of the message (that is, the message was not modified after it was sent) as well as validation of the identity of the sender. This option has to do with the latter.

    In order to validate that the message came from the sender in the message and not an impersonator, Alpine can either use the certificates that come in the message, or the ones that you have personally stored. If this feature is enabled (the default) then Alpine will use certificates that you have already saved in your store and not those that come in the message to validate the sender of the message. In particular, the first time that you receive a signed message from a sender, and their certificate does not validate against your store, then you will be asked if you wish to save such certificate. If you do not wish to save the certificate, then Alpine will fail to validate the signature of the message. Otherwise, Alpine will proceed to validate the signature of the message. This behavior helps you prevent against impersonation, because it is assumed that you trust the certificates that you have saved, and might not trust those that came with the message that you are validating.

    <End of help on this topic> ========== h_config_smime_pubcerts_in_keychain ========== S/MIME FEATURE: <!--#echo var="FEAT_publiccerts-in-keychain"-->

    S/MIME FEATURE:

    If this feature is set the Mac OS X default keychain will be used as the place to store public certificates instead of a or a .

    <End of help on this topic> ========== h_config_smime_dont_do_smime ========== S/MIME FEATURE: <!--#echo var="FEAT_smime-dont-do-smime"-->

    S/MIME FEATURE:

    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.

    <End of help on this topic> ========== h_config_smime_encrypt_by_default ========== S/MIME FEATURE: <!--#echo var="FEAT_smime-encrypt-by-default"-->

    S/MIME FEATURE:

    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).

    <End of help on this topic> ========== h_config_smime_remember_passphrase ========== S/MIME FEATURE: <!--#echo var="FEAT_smime-remember-passphrase"-->

    S/MIME FEATURE:

    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.

    <End of help on this topic> ====== h_config_smime_transfer_pub_to_con ===== S/MIME: Transfer Public Certs to Container

    S/MIME: Transfer Public Certs to Container

    The Transfer command will copy the public certificates in your configured to the container in your configured . This might be useful if you decide to switch from using a cert directory to a cert container.

    Warning: Any previous contents in the container will be lost.

    <End of help on this topic> ====== h_config_smime_transfer_pub_to_dir ===== S/MIME: Transfer Public Certs to Directory

    S/MIME: Transfer Public Certs to Directory

    The Transfer command will copy the public certificates in your configured to the directory in your configured . This might be useful if you decide to switch from using a cert container to a cert directory.

    <End of help on this topic> ====== h_config_smime_transfer_priv_to_con ===== S/MIME: Transfer Private Keys to Container

    S/MIME: Transfer Private Keys to Container

    The Transfer command will copy the private keys in your configured . to the container in your configured . This might be useful if you decide to switch from using a key directory to a key container.

    Warning: Any previous contents in the container will be lost.

    <End of help on this topic> ====== h_config_smime_transfer_priv_to_dir ===== S/MIME: Transfer Private Keys to Directory

    S/MIME: Transfer Private Keys to Directory

    The Transfer command will copy the private keys in your configured . to the directory in your configured . This might be useful if you decide to switch from using a key container to a key directory.

    <End of help on this topic> ====== h_config_smime_transfer_cacert_to_con ===== S/MIME: Transfer CA Certs to Container

    S/MIME: Transfer CA Certs to Container

    The Transfer command will copy the CA certificates in your configured to the container in your configured . This might be useful if you decide to switch from using a CA cert directory to a CA cert container.

    Warning: Any previous contents in the container will be lost.

    <End of help on this topic> ====== h_config_smime_transfer_cacert_to_dir ===== S/MIME: Transfer CA Certs to Directory

    S/MIME: Transfer CA Certs to Directory

    The Transfer command will copy the CA certificates in your configured . to the directory in your configured . This might be useful if you decide to switch from using a CA cert container to a CA cert directory.

    <End of help on this topic> ====== h_config_smime_transfer_pubcon_to_key ===== S/MIME: Transfer Public Certs to Keychain

    S/MIME: Transfer Public Certs to Keychain

    Mac OS X Alpine only.

    The Transfer command will copy the public certificates in your configured to your default Mac OS X Keychain. This might be useful if you decide to switch from using a cert container to using the Keychain to store your public certs, which you may do by using the feature S/MIME FEATURE: .

    <End of help on this topic> ====== h_config_smime_transfer_pubkey_to_con ===== S/MIME: Transfer Public Certs to Keychain

    S/MIME: Transfer Public Certs to Keychain

    The Transfer command will copy the public certificates in your configured to your default Mac OS X Keychain. This might be useful if you decide to switch from using a cert container to using the Keychain to store your public certs.

    <End of help on this topic> ====== h_config_smime_public_certificates ===== S/MIME: Manage Public Certificates

    S/MIME: Manage Public Certificates

    This menu item allows you to manage your public certificates, this may include your own public certificate, but it normally includes certificates of people you correspond with. These certificates are saved by Alpine automatically when they are found in signed messages that you receive. This interface allows you to manage them, by giving you the option to delete them, or trust them (in the case of self-signed certificates).

    Please note that Alpine will not validate a message that was sent to you using a self-signed certificate, unless you decide to trust that certificate. Internally, a certificate is trusted by copying it to the Certificate Authorities collection. If you decide that you want to stop trusting a self-signed certificate, you must delete such certificate from such collection.

    The I Import command available in this screen allows you to import a command to this collection.

    <End of help on this topic> ====== h_config_smime_private_keys ===== S/MIME: Manage Private Keys

    S/MIME: Manage Private Keys

    This option allows you to manage your private key. Normally a person has only one key, in the same way that a person only has one valid passport, or ID card, at any given time. This option allows you to manage private keys. You can delete them or import them. Additionally, you can view information about your public certificate, such as the issuer and the dates of validity of such certificate, among others.

    If you have more than one e-mail address for which you want to use the same private key, you must add all those addresses to the private key at the moment that the key is generated. When you receive a signed message using a key generated for several e-mail addresses, Alpine will save a certificate for each e-mail address included in such certificate.

    The I Import command available in this screen allows you to import a command to this collection.

    <End of help on this topic> ====== h_config_smime_certificate_authorities ===== S/MIME: Manage Certificate Authorities

    S/MIME: Manage Certificate Authorities

    This collection contains certificates that are needed to validate the certificate of another person, and therefore contains certificates that you trust. Typically a certificate is signed by another entity, called a certificate authority. This option allows you to manage which certificates you trust, allowing you to import them and to delete them or view information about each certificate, such as the issuer and the dates of validity of such certificate.

    The I Import command available in this screen allows you to import a command to this collection.

    <End of help on this topic> ====== h_config_smime_password_file_certificates ===== S/MIME: Manage Password File Certificates

    S/MIME: Manage Password File Certificates

    This option allows you to manage the certificates that are used to encrypt and decrypt your password file. This is useful in case you want to change the certificates used to encrypt your password file.

    Depending on the version of Alpine that you used for the first time to set this up, you might have had to enter a password to enter this screen. In the case that you did not enter a password to enter this screen, you should know two things that are important:

    • If anyone takes control of your computer (for example, if you left it unattended) then that person can add a password to your password file and make it unreadable to you in the future.
    • If anyone can access your computer (this includes remote access) then that person can steal your password file and decrypt it without your help. This gives access to that person to the same services you have access and such person can use your name to access that service. In particular, that person can try to hack into your service provider with your name on it, or that person could try to send spam with your name.

    Needless to say, this is not advisable. You should keep your password file protected. In order to do so, all you need to do is use the "Create Key" command to create a key. Once you do this, Alpine will use that key, encrypted with the password used to create that key, to protect your password file.

    In this screen you can import a new key to encrypt your password file, and read cryptographic information on your current key.

    To import a new key press "RETURN" and enter the location of the new key. You will be asked to enter the password of the new key. If this part of the process is successful, Alpine will search for the certificate that matches that key. If your key is named "your_email@address.com.key", then Alpine will look for your certificate in the same directory in the file named "your_email@address.com.crt", otherwise it will look for it as part of your key (that is, it will look to see if your certificate is in the file "your_email@address.com.key"), if all of this fails, Alpine will ask you to enter the location of the certificate that matches the key you unlocked. If a certificate is found, it will be used, and in this case, the password file will be read, decrypted with the old key and encrypted with the new key. Once this is done, the new key and certificates are saved, and the old keys are permanently deleted.

    Alpine does not create a backup of your password file, or your old keys that will be replaced. If you need to keep old copies, you will have to do this operation outside Alpine.

    Observe that you can use this screen to remove the password for the key. As explained earlier, this is not advisable, but you can always restore the password to encrypt your password file by creating a new key.

    Be safe and keep your password file encrypted with a password.

    <End of help on this topic> ====== h_certificate_information ===== S/MIME: Certificate Information Screen

    S/MIME: Certificate Information Screen

    The CERTIFICATE INFORMATION screen shows you information contained in a certificate such as its owner, e-mail address, issuer, and interval of validity, among others.

    In the case of public certificates, this screen shows you if there was a failure when attempting to validate such message. If the certificate is self-signed, then the T Trust command will be available, which you can use to trust such certificate and make Alpine not fail validating signatures signed with such certificate.

    You can also mark a certificate deleted, with the D command, or remove the deleted mark with the U undelete command.

    In the case of your private key, Alpine shows you the information from your public key. Additionally, Alpine allows you to see public and private information about your key, with the B and R commands respectively.

    <End of help on this topic> ====== h_config_smime_manage_public_menu ===== S/MIME: Menu of Commands to Manage Public Certificates

    S/MIME: Commands that Manage Public Certificates

    This screen allows you to manage your public certificates.

    The format of this screen is as follows. There are five fields: The leftmost field is normally empty, but it could contain the letter "D" to indicate that that certificate has been marked for deletion. The next field is the e-mail address of the owner of the certificate, shown in its entirety. The third and fourth field are the first and last day validity for that certificate, respectively. The date is displayed in the user's locale unless the option is set. In this case, the month, day and year are represented by two digits, and the format used is mm/dd/yy. Finally, the fifth field is what can be displayed of the MD5 hash of the certificate. You can use any of the last three fields to distinguish between two certificates for the same owner.

    Available commands in this screen and a short description of what they do follows.

    • I Imports a public certificate to this collection.
    • V View information about a certificate such as the name of the person the certificate was issued to, its dates of validity, and validity status.
    • D Marks a certificate deleted.
    • U Removes the deletion mark on a certificate.
    • X Removes all certificates marked deleted permanently (cannot be undone).
    • T This command is only available for self-signed certificates, and allows you to trust a certificate by copying it to the collection of trusted certificates.

    All commands provide feedback to let you know about their success or failure.

    <End of help on this topic> ====== h_config_smime_manage_private_menu ===== S/MIME: Menu of Commands to Manage Private Keys

    S/MIME: Commands that Manage Private Keys

    This screen allows you to manage your private key.

    The format of this screen is as follows. There are five fields: The leftmost field is normally empty, but it could contain the letter "D" to indicate that that certificate has been marked for deletion. The next field is the e-mail address of the owner of the certificate, shown in its entirety. The third field is the first day of validity for that certificate; the fourth field in the last day that that certificate is valid, and the fifth field is what can be displayed of the MD5 hash of the public certificate corresponding to this private key. You can use any of the last three fields to distinguish between two certificates for the same owner.

    Available commands and a short description of what they do follows.

    • I Imports a new public key to this collection.
    • V View information about the public certificate corresponding to this key.
    • D Marks a key to be deleted.
    • U Removes the deletion mark on a key.
    • X Removes all keys marked deleted permanently (cannot be undone). Note that expunging a private key does not remove the public key, which must be removed separately.

    All commands provide feedback to let you know about their success or failure.

    <End of help on this topic> ====== h_config_smime_manage_cacerts_menu ===== S/MIME: Menu of Commands to Manage Certificate Authorities

    S/MIME: Commands that Manage Certificate Authorities

    This screen allows you to manage your collection of certificates that you trust.

    The format of this screen is as follows. There are five fields: The leftmost field is normally empty, but it could contain the letter "D" to indicate that that certificate has been marked for deletion. The next field is the e-mail address of the owner of the certificate, shown in its entirety. The third field is the first day of validity for that certificate; the fourth field in the last day that that certificate is valid, and the fifth field is what can be displayed of the MD5 hash of the certificate. You can use any of the last three fields to distinguish between two certificates for the same owner.

    Available commands and a short description of what they do follows.

    • I Imports a trusted certificate to this collection. This is done by reading the certificate and validating it. Once a certificate is found to be valid, it is saved, adding the extension ".crt" to the certificate, if necessary.
    • V View information about this certificate, such as its issuer and validity dates.
    • D Marks a certificate to be deleted.
    • U Removes the deletion mark on a certificate.
    • X Removes all certificates marked deleted permanently (cannot be undone).

    All commands provide feedback to let you know about their success or failure.

    <End of help on this topic> ====== h_config_lame_list_mode ===== FEATURE: <!--#echo var="FEAT_enable-lame-list-mode"-->

    FEATURE:

    This feature modifies the method Alpine uses to ask your IMAP server for folder names to display in 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.

    <End of help on this topic> ====== h_config_enable_mulnewsrcs ===== FEATURE: <!--#echo var="FEAT_enable-multiple-newsrcs"-->

    FEATURE:

    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 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 also may affect the name of the newsrc file that is used.

    <End of help on this topic> ======= h_ab_export_vcard ======= Address Book Export Format

    Address Book Export Format

    You are exporting address book data from Alpine to a file outside of Alpine. You are being asked to choose the format of the export. Here are the choices:
    Address List
    The addresses from the address book entries you are saving from will be saved one address per line. Address book lists (those with more than one address) will have all of their addresses saved separately.
    VCard
    The entries will be saved in vCard format.
    Tab Separated
    The entries will be saved in tab-separated columns. There will be just 4 columns of data that correspond to Alpine's Nickname field, Full Name field, Address field, and Comment field. It might prove useful to Select only the Simple, non-List address book entries before Saving.
    ^C Cancel
    Cancel out of the Save.

    <End of help on this topic> ====== h_config_predict_nntp_server ===== FEATURE: <!--#echo var="FEAT_predict-nntp-server"-->

    FEATURE:

    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 variable. Setting this feature also negates the need to add News collection servers to the variable.

    This feature can be especially handy when used in conjunction with .

    <End of help on this topic> ====== h_config_nntp_search_uses_overview ===== FEATURE: <!--#echo var="FEAT_nntp-search-uses-overview"-->

    FEATURE:

    This feature should probably be turned on unless it causes trouble. The results of the NNTP overview command (XOVER) may be used to help with some searches in news groups. It should result in quicker response time. Turning this feature on apparently causes search results which are different from what you would get with the feature turned off on some servers.

    <End of help on this topic> ====== h_config_thread_sorts_by_arrival ===== FEATURE: <!--#echo var="FEAT_thread-sorts-by-arrival"-->

    FEATURE:

    This feature affects how a threading sort arranges threads. The default way to arrange threads is by the date of the earliest message in the thread. This feature arranges threads by the last message to arrive in a thread.

    This feature causes old threads that get recent messages to sort to the bottom, where previously a message arrival to a thread would not rearrange the order of that thread.

    <End of help on this topic> ====== h_config_textplain_int ===== FEATURE: <!--#echo var="FEAT_show-plain-text-internally"-->

    FEATURE:

    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.

    <End of help on this topic> ====== h_config_wp_columns ===== WEB ALPINE OPTION: <!--#echo var="VAR_wp-columns"-->

    WEB ALPINE OPTION:

    Web Alpine only.

    This configuration setting specifies the number of horizontal characters used to format various WebAlpine pages. Smaller values will tend to reduce the amount of horizontal scrolling required to view pages within narrow browsers, such as those found on PDAs, and larger values will tend to spread more information across the page.

    The Message List page uses the width to determine how many characters to assign each field. Note, a smaller value may result in a disproportionate amount of blank space between fields on each line. Similarly, a large value may result in cramped fields or horizontal scrolling.

    The Message View page uses this value to determine when to wrap lines in displayed message text. Note, a smaller value may result in jagged right margins or confusing quoting. A larger value may cause lines of text to run beyond the browser's right edge, requiring horizontal scrolling.

    <End of help on this topic> ====== h_config_wp_state ===== WEB ALPINE OPTION: <!--#echo var="VAR_wp-state"-->

    WEB ALPINE OPTION:

    Web Alpine only.

    Various aspects of cross-session state.

    <End of help on this topic> ====== h_config_wp_aggstate ===== WEB ALPINE OPTION: <!--#echo var="VAR_wp-aggstate"-->

    WEB ALPINE OPTION:

    Web Alpine only.

    Aggregate operations tab state.

    <End of help on this topic> ====== h_config_wp_indexlines ===== WEB ALPINE OPTION: <!--#echo var="VAR_wp-indexlines"-->

    WEB ALPINE OPTION:

    Web Alpine only.

    Number of index lines in table.

    <End of help on this topic> ====== h_config_wp_indexheight ===== WEB ALPINE OPTION: <!--#echo var="VAR_wp-indexheight"-->

    WEB ALPINE OPTION:

    Web Alpine only.

    Index table row height.

    <End of help on this topic> ====== h_config_rss_news ===== WEB ALPINE OPTION: <!--#echo var="VAR_rss_news"-->

    WEB ALPINE OPTION:

    Web Alpine only.

    RSS News feed.

    <End of help on this topic> ====== h_config_rss_weather ===== WEB ALPINE OPTION: <!--#echo var="VAR_rss-weather"-->

    WEB ALPINE OPTION:

    Web Alpine only.

    RSS Weather feed.

    <End of help on this topic> ====== h_config_send_confirms_only_expanded ===== FEATURE: send-confirms-only-expanded

    FEATURE: send-confirms-only-expanded (Web Alpine Only)

    This Web Alpine option specifies whether or not a Send confirmations happens when a composed message is readied for sending or not. The default behavior is to not confirm that the nicknames were expanded to the intended addresses.

    <End of help on this topic> ====== h_config_enable_jump_command ===== FEATURE: enable-jump-command

    FEATURE: enable-jump-command (Web Alpine Only)

    This Web Alpine option specifies whether or not a Jump command is offered in the Message List and Message View pages. The command is implemented as an input field in the left column of the List and View screens.

    When enabled and a number is entered in the input field while the Message List is displayed, the Message List is reframed with the specified message. While viewing a message, the message associated with the specified message number is displayed.

    <End of help on this topic> ====== h_config_enable_newmail_sound ===== FEATURE: enable-newmail-sound

    FEATURE: enable-newmail-sound (Web Alpine Only)

    This Web Alpine option specifies whether or not a sound file is sent to the web browser along with the newmail notification message.

    <End of help on this topic> ====== h_config_render_html_internally ===== FEATURE: render-html-internally

    FEATURE: render-html-internally (Web Alpine Only)

    By default, Web Alpine will pass cleansed HTML text you receive in messages to the browser for display (rendering). This feature causes Web Alpine to convert the HTML text into plain text in the same way Unix and PC-Alpine do.

    <End of help on this topic> ====== h_config_role_undo ===== Yes, remember changes and exit back to list of roles; No, discard changes made in this screen; ^C, cancel exit and stay in this config screen. ====== h_exit_editor ===== S, save changes and exit from the editor; D, do not save changes but do exit from the editor; or ^C, cancel exit and stay in the editor. ====== h_config_undo ===== Yes, save changes and exit; No, exit without saving any changes made since entering this CONFIGURATION screen; ^C, cancel exit and stay in config screen. ====== h_os_index_whereis ===== Enter ^V or ^Y to go immediately to the last or first message in the index. Or, enter the match string followed by RETURN. ====== h_os_index_whereis_agg ===== Enter ^V or ^Y to go immediately to the last or first message in the index, Or, enter the match string followed by RETURN (or ^X to select all matches). =========== h_oe_add_full ================== Type the full name of the person being added and press the RETURN key. Press ^C to cancel addition. =========== h_oe_add_nick ================== Type a short nickname and press RETURN. A nickname is a short easy-to- remember word, name or initials like "joe", or "wcfields." ^C to cancel. ========== h_oe_add_addr ================ Type the e-mail address and press RETURN. Press ^C to cancel addition. ========== h_oe_crlst_full ============== Type a long name or description for the list that you are creating and press RETURN. Press ^C to cancel creation of list. =========== h_oe_crlst_nick ============= Type a nickname (short, easy-to-remember name or single word) for the list you are creating and press RETURN. Press ^C to cancel. ========== h_oe_crlst_addr ============== Type an e-mail address, or a nickname already in the address book that you want to be part of this list and press RETURN. ========== h_oe_adlst_addr ============= Type an e-mail address or a nickname already in the address book that you want to add to this list and press RETURN. ========== h_oe_editab_nick ============ Change the nickname using the arrow keys and delete key. Press RETURN when done. Press ^C to cancel editing and leave the nickname as it was. ========== h_oe_editab_full ============ Change the full name using the arrow keys and delete key. Press RETURN when done. Press ^C to cancel editing and leave the full name as it was. ========== h_oe_editab_addr ============ Change the address using the arrow keys and delete key. Press RETURN when done. Press ^C to cancel editing and leave the address as it was. ========== h_oe_editab_fcc ============ Change the fcc using the arrow keys and delete key. Press RETURN when done. Press ^C to cancel editing and leave the fcc as it was. ========== h_oe_editab_comment ============ Change the comment field using the arrow keys and delete key. Press RETURN when done. Press ^C to cancel editing and leave the comment as it was. ====== h_ab_forward ===== Yes, expand nicknames and qualify local names with your current domain name; No, leave nicknames and local names as is; ^C, cancel. ========== h_ab_export ========== Type the name of a file to write the addresses into and press RETURN. You may also specify an absolute path. Use ^C to cancel. ========== h_ab_edit_a_field ========== Edit any of the fields of the currently selected entry by typing one of the letters at the bottom of the screen. Press ^C to cancel edit. ====== h_ab_del_data_revert ===== Press B to completely delete addrbook and revert to default, C to delete config and revert while leaving data, or D to only delete data (make it empty). ====== h_ab_del_data_modify ===== Press B to completely delete addrbook, C to delete configuration while leaving data, or D to delete data (make it empty) but leave config. ^C to cancel. ====== h_ab_del_config_modify ===== Yes, remove this address book from my configuration. No, make no changes now. ====== h_ab_del_config_revert ===== Yes, remove this address book from my config and revert to default. No, make no changes now. ====== h_ab_del_default ===== Yes, remove this default address book from my configuration. No, make no changes now. ====== h_ab_really_delete ===== Yes, delete the actual contents of the address book, not just the configuration. No, don't delete the data after all, cancel and start over. ====== h_ab_del_ignore ===== Press I to ignore all the default address books for this category. Press R to remove this one address book and add the others to your personal list. ====== h_ab_del_dir_ignore ===== Press I to ignore all the default directory servers for this category. Press R to remove this one server and add the others to your personal list. ====== h_ab_copy_dups ===== Yes, overwrite the existing entry. No, skip duplicates but save the rest. Press ^C to cancel. ====== h_confirm_cancel ===== Type C to Confirm that you want to abandon the message you are composing. Type N or ^C to cancel out of the cancel and keep composing. ====== h_ab_text_or_vcard ===== Text, start composer with displayed text already included. VCard, start composer with address book entry attached as a vCard. ^C cancels. ====== h_ab_backup_or_ldap ===== Backup, copy email address from entry and allow editing of it. LDAP, copy LDAP search criteria, do not allow editing of it. ^C cancels. ====== h_ldap_text_or_vcard ===== Text: export displayed text for selected entry. Address: export only the email address. VCard: export entry in vCard format. ^C cancels. ====== h_ab_save_exp ===== Save, save entry or entries to an address book. Export, save to file outside of pine. ^C cancels save. ====== h_ab_add ===== A, add a brand new entry to this address book. E, edit the entry that is currently highlighted. ^C to cancel. ====== h_ab_shuf ===== U, swap order of highlighted address book and the one above it. D, swap order of highlighted address book and the one below it. ^C to cancel. ====== h_ab_shuf_up ===== U, swap order of highlighted address book and the one above it. Press ^C to cancel. ====== h_ab_shuf_down ===== D, swap order of highlighted address book and the one below it. Press ^C to cancel. ====== h_folder_prop ===== Count is # of messages in the folder, Unseen means messages that have not been read, New means messages that were Recently added to the folder. ====== h_role_shuf ===== U, swap order of highlighted rule and the one above it. D, swap order of highlighted rule and the one below it. ^C to cancel. ====== h_role_shuf_up ===== U, swap order of highlighted rule and the one above it. Press ^C to cancel. ====== h_role_shuf_down ===== D, swap order of highlighted rule and the one below it. Press ^C to cancel. ====== h_incoming_shuf ===== B, swap order of highlighted directory and the one before it. F, swap order of highlighted directory and the one after it. ^C to cancel. ====== h_incoming_shuf_up ===== B, swap order of highlighted directory and the one before it. Press ^C to cancel. ====== h_incoming_shuf_down ===== F, swap order of highlighted directory and the one after it. Press ^C to cancel. ====== h_dir_shuf ===== U, swap order of highlighted directory and the one above it. D, swap order of highlighted directory and the one below it. ^C to cancel. ====== h_dir_shuf_up ===== U, swap order of highlighted directory and the one above it. Press ^C to cancel. ====== h_dir_shuf_down ===== D, swap order of highlighted directory and the one below it. Press ^C to cancel. ====== h_hdrcolor_shuf ===== U, swap order of highlighted Header Color and the one above it. D, swap order of highlighted Header Color and the one below it. ^C to cancel. ====== h_hdrcolor_shuf_up ===== U, swap order of highlighted Header Color and the one above it. Press ^C to cancel. ====== h_hdrcolor_shuf_down ===== D, swap order of highlighted Header Color and the one below it. Press ^C to cancel. ========== h_oe_editab_al ============ Change the address using the arrow keys and delete key. Press RETURN when done. Press ^C to cancel editing and leave the address as it was. ========== h_dir_comp_search =============== Type a string to look for just like you would in the composer. Your configured rules for the servers with the implicit flag set will be used. ========== h_oe_searchab =============== Type the word or name you want to search for and press RETURN. If you press RETURN without entering anything the word in [] will be searched for. ========== h_oe_chooseabook ========== Choose the address book you want to save the new entry in. Use ^N or ^P to change address books. ^C to cancel. ========== h_oe_takeaddr ========== Edit the e-mail address using the arrow and delete keys. Press RETURN when done. Press ^C to cancel adding this entry to the address book. ========== h_oe_take_replace ========== Press R to replace the old entry with this new data. You will still have another chance to cancel. N to enter another nickname. ^C to cancel now. ========== h_oe_take_replace_or_add ========== Press R to replace the old entry. Press A to add the selected addresses to the old existing list. N to enter another nickname. ^C to cancel now. ========== h_oe_takename ========== Edit the full name to be correct using the arrow and delete keys. Press RETURN when done. Press ^C to cancel adding this entry to the address book. ========== h_oe_takenick ========== Type a nickname (short easy-to-remember name, initials or single word) for this entry in the address book and press RETURN. Press ^C to cancel addition. ========== h_oe_jump ========== Type the message number you want to jump to and press RETURN. The word "end" represents the last message. Press ^C to cancel jumping to another message. ========== h_oe_jump_thd ========== Type the thread number you want to jump to and press RETURN. The word "end" represents the last thread. Press ^C to cancel jumping to another thread. ========== h_oe_debuglevel ========== Higher number shows more debugging details. Press ^C if you want to cancel the change. ========== h_oe_broach ========== Type the name of the folder you want to open and press RETURN. Press ^P/^N to go to the previous/next collections in the list. Press ^C to cancel goto. ========== h_oe_foldsearch ========== Type the text you want to search for in foldernames and press RETURN. If you press RETURN without entering anything, any text in [] will be searched for. ========== h_oe_foldrename ========== Change the old name of the folder to the new name using the arrow and delete keys and press RETURN. Press ^C to cancel rename. ========== h_oe_login ========== Enter your login name for the host you are opening the mailbox on. Just press RETURN to use your login from this host as is, or edit it with delete key. ========== h_oe_passwd ========== Type your password for the host and login shown as part of the prompt. Press ^C to cancel opening folder. ========== h_oe_choosep ========== Enter the number associated with the printer you want to select. Press ^C to cancel the printer selection. The current selection is highlighted. ========== h_oe_customp ========== Type the name of the Unix print command and press RETURN. Press ^C to cancel the printer selection. ========== h_oe_searchview ========== Type the word or name you want to search for and press RETURN. If you press RETURN without entering anything the word in [] will be searched for. ========== h_oe_keylock ========== The keyboard is in use and locked by another user. Only that user can unlock this keyboard by typing the password. ========== h_wt_expire ========== At the beginning of each month Alpine offers to rename your current sent-mail folder to one named for the month so you have a sent-mail folder for each month ========== h_wt_delete_old ========== It is the beginning of the month, and we need to conserve disk space. Please delete any sent-mail that you do not need. ========== h_select_sort ========== Select the order for sorting the index by typing the capitalized letter. Arrival is by arrival in your mailbox; Date is by time/day message was sent. ========== h_no_F_arg ============ Enter name of file to be opened. ========== h_sticky_personal_name ========== Type in your name as you want it to appear on outgoing email. This entry will be saved into your Alpine configuration file. ========== h_sticky_inbox ============ INBOX syntax is usually {complete.machine.name}INBOX This entry will be saved in your Alpine configuration file. ========== h_sticky_smtp ============ The name of the computer on your campus that relays your outgoing email to the Internet. This entry will be saved in your Alpine configuration file. ========== h_sticky_user_id ========== The username or login-id part of your email address. This entry will be saved in your Alpine configuration file. ========== h_sticky_domain ========== The domain part of your email address, NOT the name of your PC. This entry will be saved in your Alpine configuration file. ========== h_bounce ========= Enter the address or nickname of the intended recipient. Alpine will resend the message, which will retain the original author's From: address. ========== h_incoming_add_folder_nickname ========= Enter an (optional) nickname that will be used in lieu of the actual host and folder names in the FOLDER LIST display. ========== h_anon_forward ========== Enter the address of your intended recipient, or ^C to cancel. Example: jsmith@somewhere.edu ========== h_news_subscribe ========== Enter the name of the newsgroup to which you wish to subscribe, or ^C to cancel. Example: comp.mail.pine ========== h_pipe_msg ========== Enter the name of the Unix command to which you wish to send this message, or ^C to cancel. ========== h_pipe_attach ========== Enter the name of the Unix command to which you wish to send this attachment, or ^C to cancel. ========== h_select_by_num ========== Enter a list of message numbers (or number ranges), or ^C to cancel. "end" is the last message. "." is the current message. Example: 1-.,7-9,11,19,35-end ========== h_select_by_gm_content ========== Enter your search key in the same way that you would enter a search key in the web interface for Gmail. ========== h_select_by_thrdnum ========== Enter a list of message numbers (or number ranges), or ^C to cancel. "end" is the last message. "." is the current message. Example: 1-.,7-9,11,19,35-end ========== h_select_txt_from ========== Messages with From: headers containing the entered string will be selected. ^C to cancel. ^G again to see original options. ========== h_select_txt_not_from ========== Messages without From: headers containing the entered string will be selected. ^C to cancel. ^G again to see original options. ========== h_select_txt_to ========== Messages with To: headers containing the entered string will be selected. ^C to cancel. ^G again to see original options. ========== h_select_txt_not_to ========== Messages without To: headers containing the entered string will be selected. ^C to cancel. ^G again to see original options. ========== h_select_txt_cc ========== Messages with Cc: headers containing the entered string will be selected. ^C to cancel. ^G again to see original options. ========== h_select_txt_not_cc ========== Messages without Cc: headers containing the entered string will be selected. ^C to cancel. ^G again to see original options. ========== h_select_txt_subj ========== Messages with Subject: headers containing the entered string will be selected. ^C to cancel. ^X enters Subject: line of current message. ========== h_select_txt_not_subj ========== Messages without Subject headers containing the entered string will be selected. ^C to cancel. ^X enters Subject: line of current message. ========== h_select_txt_all ========== All messages containing the entered string will be selected. Headers and body, but not encoded attachments, will be compared. Enter ^C to cancel. ========== h_select_txt_not_all ========== All messages that don't contain the entered string will be selected. Headers and body, but not encoded attachments, will be compared. Enter ^C to cancel. ========== h_select_txt_body ========== All messages containing the entered string will be selected. Body text, but not headers or encoded attachments, will be compared. ^C to cancel. ========== h_select_txt_not_body ========== All messages that don't contain the entered string will be selected. Body text, but not headers or encoded attachments, will be compared. ^C to cancel. ========== h_select_txt_recip ========== Messages with Cc: or To: headers containing the entered string will be selected. ^C to cancel. ^G again to see original options. ========== h_select_txt_not_recip ========== Messages without Cc: or To: headers containing the string will be selected. ^C to cancel. ^G again to see original options. ========== h_select_txt_partic ========== Messages with Cc, To, or From headers containing the string will be selected. ^C to cancel. ^G again to see original options. ========== h_select_txt_not_partic ========== Messages without Cc, To, or From headers containing the string will be selected. ^C to cancel. ^G again to see original options. ========== h_select_date ========== If typed, date may be in DD-MMM-YYYY format (04-Jul-2006) or in ISO format (2006-07-04). ^P/^N also changes default date. ^X enters date of current msg. ========== h_attach_index_whereis ========== Enter some text that appears in the Attachment Index entry for the desired attachment. The first attachment containing that text will be highlighted. ========== h_kb_lock ========== Keystrokes entered here (up to a RETURN) comprise a password that must be entered again later in order to unlock the keyboard. ========== h_compose_default ========== N, compose a new message. R, set a role. ^C to cancel. ========== h_untranslatable ========== Send using UTF-8 character set; Send but replace untranslatable characters with question marks; return to the composer; or cancel message altogether. ========== h_compose_intrptd ========== N, compose a new msg. I, continue interrupted msg. R, set a role. ^C to cancel. ========== h_compose_postponed ========== N, compose a new message. P, continue postponed msg. R, set a role. ^C to cancel. ========== h_compose_intrptd_postponed ========== N, compose a new msg. I, continue interrupted msg. P, continue postponed msg. R, set a role. ^C to cancel. ========== h_compose_form ========== N, compose a new message. F, use form letter. R, set a role. ^C to cancel. ========== h_compose_intrptd_form ========== N, compose a new msg. I, continue interrupted msg. F, use form letter. R, set a role. ^C to cancel. ========== h_compose_postponed_form ========== N, compose a new message. P, continue postponed msg. F, use form letter. R, set a role. ^C to cancel. ========== h_compose_intrptd_postponed_form ========== N, compose a new msg. I, continue interrupted msg. P, continue postponed msg. F, use form letter. R, set a role. ^C to cancel. ========== h_config_context_del_except ========== If you delete the last exceptional collection you can only add it back by manually editing the exceptions config file. ========== h_config_whereis ========== To move quickly to a particular line, enter a search string or ^C to cancel. ========== h_config_edit_scorei ========== Enter interval in the form (min,max). -INF and INF may be used to represent -infinity and infinity. ^C to cancel change. RETURN to accept change. ========== h_config_add ========== Enter desired value; use normal editing keys to modify (e.g. ^K, ^D). Just pressing RETURN sets the Empty Value (this turns off any global default). ========== h_config_add_custom_color ========== Enter a header fieldname. For example, "subject" or "from". ========== h_config_add_pat_hdr ========== Enter a header fieldname. For example, "reply-to" or "organization" or any fieldname you want that isn't included already. ========== h_config_print_opt_choice ========== You may edit either the initialization string (characters printed before printing starts) or the trailer string. Choose one or ^C to cancel. ========== h_config_print_init ========== Enter a C-style string for this. You may use common backslash escapes like \\n for newline, \\ooo for octal character, and \\xhh for hex character. ========== h_config_change ========== Edit the existing value using arrow keys, ^K to delete entire entry, ^D to delete current (highlighted) character, etc. Enter ^C to cancel change. ========== h_config_replace_add ========== Replace ignores the current default, Add places the current default in your editing buffer as if you had typed it in. ========== h_config_insert_after ========== Enter a nickname for this print command. (InsertBefore puts the new item before the current line, InsertAfter puts it after the current line.) ========== h_config_print_cmd ========== Enter command to be executed for the printer. Use normal editing keys to modify, ^C to cancel, carriage return to accept current value. ========== h_config_role_del ========== Answering Yes will remove this rule completely from your rules list. ========== h_config_role_addfile ========== Type the name of a file to add to your configuration. You don't need to use a file, you may add rules directly (with Add) without using a file. ========== h_config_role_delfile ========== Answering Yes will remove this rule file completely from your rules list. The rules data file itself will not be removed. ========== h_config_print_del ========== Answering Yes will remove this printer completely from your printer list. ========== h_config_print_name_cmd ========== You may edit the Nickname of this printer, the Command to be executed when printing, or change the Options associated with this printer. ========== h_send_check_fcc ========== Yes, send message without an Fcc. No, return to composer. ========== h_send_check_subj ========== Yes, send message without a Subject. No, return to composer. ========== h_send_check_to_cc ========== Yes, send message without a To address, or a Cc address, or a Newsgroup. No, return to composer. ========== h_send_fcc_only ========== Yes, copy message to Fcc only and send to NO recipients. No, return to composer. ========== h_send_prompt ========== Yes, send the message. No or ^C, return to composer. ========== h_send_prompt_flowed ========== Yes, send the message. No or ^C, return to composer. What's Flowed? See Do Not Send Flowed Text in config screen. ========== h_send_prompt_dsn ========== Yes, send the message. No or ^C, return to composer. What's DSNOpts? See Enable Delivery Status Notification in config screen. ========== h_send_prompt_dsn_flowed ========== Yes, send the message. No or ^C, return to composer. What's DSNOpts? See Enable Delivery Status Notification. What's Flowed? See Do Not Send Flowed Text. ========== h_role_confirm ========== Yes, use displayed role. No, compose without a role. ^C, cancel the message. ^T, select a role from your other eligible roles. ========== h_norole_confirm ========== Return, compose without a role. ^C, cancel the message. ^T, select a role from your eligible roles. ========== h_custom_print ========== Enter a Unix command that accepts its data on standard input. Alpine will display any information the command sends to standard output. ========== h_convert_abooks_and_sigs ========== You will be given the opportunity to convert address books and signature files to remote configurations. ========== h_convert_abooks ========== You will be given the opportunity to convert address books to remote configurations. ========== h_flag_keyword ========== Enter the name of the keyword you want to add for this folder. No spaces, parentheses, braces, percents or asterisks are allowed. ========== h_select_keyword ========== Enter the keyword you want to match, or use ^T to select a keyword from a list of possible keywords for this folder. Use ! to look for non-matches instead. ========== h_type_keyword ========== Enter the keyword you want to add. You may add a nickname in the next step. No spaces, parentheses, braces, percents or asterisks are allowed. ========== h_type_keyword_nickname ========== Enter an optional nickname for the keyword you want to add. Type Carriage return to use the keyword name instead of a nickname. ========== h_convert_sigs ========== You will be given the opportunity to convert signature files to remote configurations. ========== h_convert_abook ========== Yes is fairly safe. You will be ADDing a remote address book that is a copy of the current address book. The current abook won't be removed automatically. ========== h_convert_sig ========== Answering Yes copies the contents of the signature file into your Alpine configuration file. After that, the contents of the file will not be used. ========== h_save_addman ========== Enter the simple name of the folder you want to add. Carriage return to accept what you have typed so far. ^C to get back to SELECT FOLDER screen. ========== h_reopen_folder ========== Yes reopens the folder, as if you were starting over. This uncovers new mail. No leaves the folder index as it was without discovering new mail. ========== h_convert_pinerc_server ========== This is the name of the host (computer) where the remote Alpine configuration will be stored. This should be an IMAP server that you have permission to use. ========== h_convert_pinerc_folder ========== Enter the correct remote folder name. This folder is special and should contain only configuration data. It shouldn't contain other mail messages. ========== h_role_compose ========== Compose a New message, Reply to current message, Forward current message, or Bounce message. Then you will be asked to choose one of your Roles to be used. ========== h_role_aggregate ========== Compose a reply, or forward, or bounce the selected messages. Then you will be asked to choose one of your Roles to be used for this operation. ========== h_save_size_changed ========== The reported size of a message is not the same as the actual size. Answer Yes to continue and hope for the best or No to Cancel the entire Save. ========== h_select_by_larger_size ========== Enter a number or ^C to cancel. All messages greater than this many characters in size will be selected. Examples: 2176, 1.53K (1530), or 3M (3000000). ========== h_select_by_smaller_size ========== Enter a number or ^C to cancel. All messages less than this many characters in size will be selected. Examples: 2176, 1.53K (1530), or 3M (3000000). ========== h_preserve_field ========== Use 'p' to toggle between preserving or not preserving the original To: and Cc: fields of the message. Enter ^C to cancel message. ========== h_privacy_policy ========== x-alpine-http:http://alpine.x10host.com/privacy.html ========== h_apache_license ========== x-alpine-http:http://alpine.x10host.com/legal/apache_license.html