Linux pine command

Updated: 11/06/2021 by Computer Hope
pine command

On Unix-like operating systems, pine is a program for accessing email and newsgroups.


pine is a screen-oriented message-handling tool. In its default configuration, pine offers an intentionally limited set of functions geared toward the novice user, but it also has a growing list of optional power-user and personal-preference features. pine's basic feature set includes:

  • View, Save, Export, Delete, Print, Reply and Forward messages.
  • Compose messages in a simple editor (pico) with word-wrap and a spelling checker. Messages may be postponed for later completion.
  • Full-screen selection and management of message folders.
  • Address book to keep a list of long or frequently-used addresses. Personal distribution lists may be defined. Addresses may be taken into the address book from incoming mail without retyping them.
  • New mail checking and notification occurs automatically.
  • Context-sensitive help screens.

pine supports MIME (Multipurpose Internet Mail Extensions), an Internet Standard for representing multipart and multimedia data in e-mail. pine allows you to save MIME objects to files, and in some cases, can also initiate the correct program for viewing the object. It uses the system's mailcap configuration file to determine what program can process a particular MIME object type. pine's message composer does not have multimedia capability itself, but any data file (including multimedia) can be attached to a text message and sent using MIME's encoding rules. This allows any group of individuals with MIME-capable mail software to exchange formatted documents, spread-sheets, image files, etc., via Internet e-mail.

pine uses the "c-client" messaging API to access local and remote mail folders. This library provides a variety of low-level message-handling functions, including drivers for a variety of different mail file formats, and routines to access remote mail and news servers, using IMAP (Internet Message Access Protocol) and NNTP (Network News Transport Protocol). Outgoing mail is usually handed off to the sendmail program but it can optionally be posted directly via SMTP.


pine [options] [address, address]


address Send mail to address. This causes pine to go directly into the message composer.
-attach file Send mail with the listed file as an attachment.
-attachlist file-list Send mail with the listed file-list as an attachments.
-attach_and_delete file Send mail with the listed file as an attachment, and remove the file after the message is sent.
-aux local_directory When using a remote configuration (-p <remote_config>) this tells pine the local directory to use for storing auxiliary files, like debug files, address books, and signature files.
-bail Exit if the pinerc file (pine's configuration file) does not exist. This option might be useful if the config file is accessed using some remote filesystem protocol. If the remote mount is missing this causes pine to quit instead of creating a new pinerc.
-c context-number context-number is the number corresponding to the folder-collection that the -f command line argument should be applied. By default, the -f argument is applied to the first defined folder-collection.
-conf Produce a sample/fresh copy of the system-wide configuration file, pine.conf, on the standard output. This option is distinct from the per-user .pinerc file.
-convert_sigs -p pinerc Convert signature files into literal signatures. The pinerc is the location of your pine configuration file.
-copy_abook <local_abook> <remote_abook> Copy the local address book file to a remote address book folder.
-copy_pinerc <local_pinerc> <remote_pinerc> Copy the local pinerc file to a remote pinerc folder.
-create_lu addrbook sort-order Creates auxiliary index (look-up) file for addrbook and sorts addrbook in sort-order, which may be dont-sort, nickname, fullname, nickname-with-lists-last, or fullname-with-lists-last. Useful when creating global or shared address books. After creating the index file in this way, the file should be moved or copied in a way which preserves the modification time (mtime) of the address book file. The mtime of the address book file at the time the index file was built is stored inside the index file and a comparison between that stored value and the current mtime of the address book file is done when somebody runs pine. If the mtime has changed since the index file was made, then pine wants to rebuild the index file. In other words, don't build the index file with this option and then copy the address book to its final destination in a way which changes the file's mtime.
-d debug-level Output diagnostic info at debug-level (a number from 0-9) to the current .pine-debug[1-4] file. A value of 0 turns debugging off and suppresses the .pine-debug file.
-d key[=val] Fine tuned output of diagnostic messages where "flush" causes debug file writing without buffering, "timestamp" appends each message with a timestamp, "imap=n" where n is between 0 and 4 representing none to verbose IMAP telemetry reporting, "numfiles=n" where n is between 0 and 31 corresponding to the number of debug files to maintain, and "verbose=n" where n is between 0 and 9 indicating an inverse threshold for message output.
-f folder Open folder (in first defined folder collection, use -c n to specify another collection) instead of INBOX.
-F file Open named text file and view with pine's browser.
-h Display a list of valid command-line options.
-i Start up in the FOLDER INDEX screen.
-I keystrokes Initial (comma separated list of) keystrokes which pine should execute on startup.
-install This option causes pine to prompt for some basic setup information, then exits.
-k Use function keys for commands. This option is the same as running the command "pinef" instead of "pine".
-n number Start up with current message-number set to number.
-o Open first folder read-only.
-p config-file Use config-file as the personal configuration file instead of the default .pinerc.
-P config-file Use config-file as the configuration file instead of default system-wide configuration file pine.conf.
-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.
-registry cmd This option affects the values of pine's Registry entries. Possible values for cmd are set, clear, and dump. The set always resets pine's Registry entries according to its current settings. clear clears the Registry values. clearsilent silently clears the Registry values. dump displays the values of current Registry settings. Note that the dump command is currently disabled. Without the -registry option, pine writes values into the Registry only if there currently aren't any values set.
-r Use restricted/demo mode. pine only sends mail to itself and functions like save and export are restricted.
-sort order Sort the FOLDER INDEX display in one of the following orders: arrival, date, subject, orderedsubj, thread, from, size, score, to, cc, or reverse. Arrival order is the default. The OrderedSubj choice simulates a threaded sort. Any sort may be reversed by adding /reverse to it. Reverse by itself is the same as arrival/reverse.
-supported Some options may or may not be supported depending on how pine was compiled. This option is a way to determine which options are supported in the particular copy of pine you are using.
-url url Open the given url. Cannot be used with -f or -F options.
-v Print version information.
-version Same as -v.
-x config Use configuration exceptions in config. Exceptions are used to override your default pinerc settings for a particular platform, is a local file or a remote folder.
-z Enable ^Z and the SIGTSTP signal so pine may be suspended.
-option=value Assign value to the config option option e.g., -signature-file=sig1 or -feature-list=signature-at-bottom (Note: feature-list values are additive)


There are several levels of pine configuration. Configuration values at a given level over-ride corresponding values at lower levels. In order of increasing precedence:

  • built-in defaults
  • system-wide pine.conf file.
  • personal .pinerc file (may be set via built-in Setup/Config menu.)
  • command-line options.
  • system-wide pine.conf.fixed file.

There is one exception 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. Unix pine also uses the following environment variables:

TERM Current terminal specification.
DISPLAY (determines if pine can display IMAGE attachments.)
SHELL The current shell. (if not set, default is /bin/sh.)
MAILCAPS (semicolon-delimited list of path names to mailcap files)


/usr/spool/mail/xxxx Default folder for incoming mail.
~/mail Default directory for mail folders.
~/.addressbook Default address book file.
~/ Default address book index file.
~/.pine-debug[1-4] Diagnostic log for debugging.
~/.pinerc Personal pine config file.
~/.newsrc News subscription/state file.
~/.signature Default signature file.
~/.mailcap Personal mail capabilities file.
~/.mime.types Personal file extension to MIME type mapping.
/etc/mailcap System-wide mail capabilities file.
/etc/mime.types System-wide file ext. to MIME type mapping.
/usr/local/lib/ Local pointer to system administrator.
/usr/local/lib/pine.conf System-wide configuration file.
/usr/local/lib/pine.conf.fixed Non-overridable configuration file.
~/.pine-interrupted-mail Message which was interrupted.
~/mail/postponed-msgs For postponed messages.
~/mail/sent-mail FCC (Outgoing message archive).
~/mail/saved-messages Default destination for Saving messages.



Launch pine.

pine [email protected]

Launch pine, and immediately begin composing an e-mail addressed to [email protected].

mail — Read, compose, and manage mail.
pico — A simple text editor.
sendmail — Send mail.