alpine(1)

๐Ÿ“ฆ
version 2.26 ยท 2 versions
  • 2.26 ยท debian bookworm, debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 2.25 ยท ubuntu jammy
, in debian bookworm, debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

๐ŸŽ€ alpine(1) ยท General Commands Manual ๐ŸŽ€

Manual: alpine(1) ๐Ÿ’Œ (General Commands Manual, bestie!)


๐Ÿ’– NAME ๐Ÿ’–

alpine is an Alternatively Licensed Program for Internet News and Email ๐Ÿ“จโœจ It's giving news AND email, no cap.


๐ŸŒธ SYNTAX ๐ŸŒธ

alpine [ options ] [ address , address ]

alpinef [ options ] [ address , address ]

๐Ÿ’… DESCRIPTION ๐Ÿ’…

Okay so alpine is a screen-oriented message-handling tool ๐Ÿ–ฅ๏ธ๐Ÿฆ‹ By default it keeps things intentionally simple and geared toward novice users ๐ŸŒฑ but it also has a huge list of optional "power-user" and personal-preference features ๐Ÿ‘‘ Literally something for everyone.

alpinef is a variant of Alpine that uses function keys instead of mnemonic single-letter commands โŒจ๏ธ๐Ÿ”ฅ Same queen, different vibe.

Alpine's basic feature set is giving:

  • View, Save, Export, Delete, Print, Reply and Forward messages ๐Ÿ’Œ
  • Compose messages in a simple editor (Pico) with word-wrap and a spelling checker โœ๏ธ Messages can be postponed for later completion, so you don't have to finish everything in one go ๐Ÿซถ
  • Full-screen selection and management of message folders ๐Ÿ“‚โœจ
  • An address book to keep track of long or frequently-used addresses ๐Ÿ“’ Personal distribution lists can be defined ๐ŸŒˆ and addresses can be taken into the address book from incoming mail without retyping them ๐Ÿ™ˆ the efficiency is unmatched
  • New mail checking and notification happens automatically every 2.5 minutes and after certain commands, e.g. refresh-screen (Ctrl-L) ๐Ÿ””๐Ÿ’œ
  • On-line, context-sensitive help screens ๐Ÿงš whenever you're lost, it's got you

Alpine supports MIME (Multipurpose Internet Mail Extensions), an Internet Standard for representing multipart and multimedia data in email ๐ŸŒธ Alpine lets you save MIME objects to files, and in some cases it can even start the correct program to view the object ๐ŸŽฌ It uses the system's mailcap configuration file to figure out which program can process a particular MIME object type ๐Ÿง 

Alpine's message composer doesn't have built-in multimedia capability, BUT any type of data file --including multimedia-- can be attached to a text message and sent using MIME's encoding rules ๐Ÿ“Ž๐Ÿ“ This means any group of people with MIME-capable mail software (e.g. Alpine, PC-Alpine, or many other programs) can swap formatted documents, spread-sheets, image files, etc, via Internet email ๐Ÿฅน๐Ÿ’– Friendship goals, honestly.

Alpine uses the c-client messaging API to access local and remote mail folders โญ This library gives you a bunch of low-level message-handling functions ๐Ÿ› ๏ธ including drivers for a variety of different mail file formats, plus routines to access remote mail and news servers using IMAP (Internet Message Access Protocol) and NNTP (Network News Transport Protocol) ๐ŸŒ Outgoing mail is usually posted directly via SMTP (Simple Mail Transfer Protocol) ๐Ÿ“คโœจ

โœจ OPTIONS โœจ

okay so here's the command line stuff, and bestie there are a LOT of options ๐Ÿ’… Everything is listed below. Some of them are only for PC-Alpine, and I'll flag those ๐Ÿซถ

  • address โ€” Pop an address in and Alpine skips the menus and drops you straight into the message composer ๐Ÿ’Œ Mail goes to that address.
  • -attach file โ€” Send mail with that file attached ๐Ÿ“Ž
  • -attachlist file-list โ€” Same vibe, but you hand it a whole list of files in file-list and they all get attached as attachments ๐Ÿ—‚๏ธ
  • -attach_and_delete file โ€” Attaches the file like -attach, but then it removes the file after the message is sent ๐Ÿ—‘๏ธ
โš ๏ธ Heads up bestie: -attach_and_delete deletes the file once the message goes out. It's a whole-ass delete, not a suggestion ๐Ÿ’€
  • -aux local_directory โ€” PC-Alpine only ๐ŸชŸ When you're using a remote config (-p <remote_config>), this tells PC-Alpine which local directory to stash its auxiliary files in, like debug files, address books, and signature files ๐Ÿงš
  • -bail โ€” Exit if the pinerc file doesn't exist ๐Ÿšช This can be super handy if the config file is reached through some remote filesystem protocol. If the remote mount is missing, Alpine just quits instead of making itself a brand new pinerc ๐Ÿ™…โ€โ™€๏ธ
  • -c context-number โ€” context-number is the number of the folder-collection that the -f argument should apply to ๐Ÿ“‚ If you don't pick one, -f goes to the first defined folder-collection
  • -conf โ€” Prints a sample/fresh copy of the system-wide config file, pine.conf, to standard output โœจ This is different from your personal .pinerc file, so don't mix them up ๐Ÿซ 
  • -convert_sigs -p pinerc โ€” Converts your signature files into literal signatures ๐Ÿ–‹๏ธ
  • -copy_abook <local_abook> <remote_abook> โ€” Copies your local address book file into a remote address book folder ๐Ÿ“’
  • -copy_pinerc <local_pinerc> <remote_pinerc> โ€” Copies your local pinerc file into a remote pinerc folder ๐Ÿ“‹
  • -d debug-level โ€” Dumps diagnostic info at debug-level (anywhere from 0-9) into the current .pine-debug[1-4] file ๐Ÿ” Set it to 0 and debugging turns off, and the .pine-debug file doesn't get made at all ๐Ÿ™ˆ
  • -d key[=val] โ€” The fine-tuned version of debugging, bestie ๐ŸŽ€ Here's what you can pick:
    • flush makes the debug file write without buffering ๐Ÿ’ง
    • timestamp slaps a timestamp on every message ๐Ÿ•ฐ๏ธ
    • imap=n, where n is 0-4, goes from no IMAP telemetry (0) all the way to verbose (4) ๐Ÿ“ก
    • numfiles=n, where n is 0-31, is how many debug files get kept around ๐Ÿ—ƒ๏ธ
    • verbose=n, where n is 0-9, is an inverse threshold for message output ๐Ÿ”ข
  • -f folder โ€” Opens folder instead of INBOX ๐Ÿ“ฅ It goes in the first defined folder collection, but you can use -c n to pick a different collection
  • -F file โ€” Opens the named text file and lets you read it with Alpine's browser ๐Ÿ“–
  • -h โ€” Help! ๐Ÿ†˜ Lists all the valid command-line options
  • -i โ€” Starts you up on the FOLDER INDEX screen ๐Ÿ“‘
  • -I keystrokes โ€” An initial (comma separated) list of keystrokes that Alpine runs the second it starts up โŒจ๏ธ
  • -install โ€” PC-Alpine only ๐ŸชŸ Asks you for some basic setup info, then exits ๐Ÿ’ซ
  • -k โ€” Uses function keys for commands. It's the exact same as running alpinef ๐Ÿ”‘
  • -n number โ€” Starts up with the current message-number set to number ๐Ÿ”ข
  • -nowrite_password_cache โ€” Reads from a password cache if there's one, but never offers to write a password into the cache ๐Ÿ™…โ€โ™€๏ธ
  • -o โ€” Opens the first folder read-only ๐Ÿ‘€
  • -p config-file โ€” Uses config-file as your personal configuration file instead of the default .pinerc ๐ŸŽ€
  • -P config-file โ€” Uses config-file as the configuration file instead of the default system-wide pine.conf ๐ŸŒ
  • -passfile <fully-qualified-path> โ€” If password file support is compiled in, this uses the file at fully-qualified-path instead of the default ๐Ÿ”
  • -pinerc file โ€” Outputs a fresh pinerc configuration to file, but keeps any settings the user already changed ๐Ÿ’… Set file to - and the output goes to standard out instead
  • -pwdcertdir <fully-qualified-path> โ€” If SMIME and password file support are both compiled in, this sets the directory where your personal key and certificate go. Those are what encrypt and decrypt your password file ๐Ÿ—๏ธ
  • -r โ€” Restricted/demo mode ๐ŸŽญ Alpine will only send mail to itself, and functions like save and export are restricted ๐Ÿšซ
  • -registry cmd โ€” PC-Alpine only ๐ŸชŸ This one messes with Alpine's registry entries. The possible values for cmd are set, clear, and dump:
    • set always resets Alpine's registry entries to match its current settings ๐Ÿ”„
    • clear clears the registry values ๐Ÿงน
    • clearsilent clears the registry values silently ๐Ÿคซ
    • dump shows you the values of your current registry settings ๐Ÿ‘€
๐Ÿ’€ The dump command is currently disabled, so that one's a no-go for now.

Without the -registry option, PC-Alpine only writes values into the registry if there aren't any values set yet ๐ŸŒธ

  • -smimedir <fully-qualified-path> โ€” If SMIME is compiled in, this sets the directory where the public, private, and certificate authorities' certificates and keys live ๐Ÿ” If you don't set it on the command line, the default is ~/.alpine-smime ๐Ÿ 
  • -sort order โ€” Sorts the FOLDER INDEX display in one of these orders: arrival, date, subject, orderedsubj, thread, from, size, score, to, cc, or reverse ๐Ÿ“Š arrival is the default. OrderedSubj pretends to be a threaded sort ๐Ÿงต Any sort can be flipped by adding /reverse to the end. Just reverse on its own is the same as arrival/reverse ๐Ÿ”
  • -supported โ€” Some options are supported or not depending on how Alpine was compiled ๐Ÿ› ๏ธ This one tells you which options your copy of Alpine actually supports โœ…
  • -uninstall โ€” PC-Alpine only ๐ŸชŸ Removes the references to Alpine in your Windows settings ๐Ÿงผ
  • -url url โ€” Opens the given url ๐Ÿ”— Can't be used with -f or -F
  • -v โ€” Version! Prints the version info ๐Ÿฆ‹
  • -version โ€” Also version! Prints the version info too ๐Ÿฆ‹
  • -x config โ€” Uses the configuration exceptions in config ๐ŸŽฏ Exceptions override your default pinerc settings for one particular platform. The config can be a local file or a remote folder ๐ŸŒ
  • -xoauth2-server ServerName โ€” The name of the service that XOAUTH2 authentication will be tried with ๐Ÿ”‘ As of writing, Gmail is the only service supported. Example: -xoauth2-server Gmail
โš ๏ธ -xoauth2-server, -xoauth2-client-id, and -xoauth2-client-secret all have to be used at the same time, no exceptions ๐Ÿซถ
  • -xoauth2-client-id Client-Id โ€” The string that tells the XOAUTH2 service provider who Alpine is ๐Ÿชช Same rule: -xoauth2-server, -xoauth2-client-id, and -xoauth2-client-secret must all be used simultaneously
  • -xoauth2-client-secret Client-Secret โ€” The secret string that identifies Alpine to the XOAUTH2 service provider ๐Ÿค Same rule: -xoauth2-server, -xoauth2-client-id, and -xoauth2-client-secret must all be used simultaneously
  • -z โ€” Turns on ^Z and SIGTSTP so you can suspend alpine โธ๏ธ
  • -option=value โ€” Assigns value to the config option option ๐ŸŽ€ For example, -signature-file=sig1 or -feature-list=signature-at-bottom. (Note: feature-list values are additive ๐Ÿ’œ)

โœจ CONFIGURATION โœจ

okay so Alpine has like, a few different levels of config, and the higher one always wins over the lower one ๐Ÿ‘‘ Here's the order from lowest priority to highest, so you know who's boss:

  1. built-in defaults ๐Ÿงฑ
  2. system-wide pine.conf file ๐Ÿข
  3. personal .pinerc file (you can set this one through the built-in Setup/Config menu ๐Ÿ› ๏ธ)
  4. command-line options ๐Ÿ’ป
  5. system-wide pine.conf.fixed file ๐Ÿ”’

There's one exception to the "higher level replaces lower level" rule, and it's the feature-list variable ๐ŸŒˆ Its values are additive instead, so they stack up. You can also negate a single feature by putting no- in front of its name, like no-feature.

Unix Alpine also reads these environment variables ๐ŸŒธ

  • TERM
  • DISPLAY โ€” decides if Alpine can display IMAGE attachments ๐Ÿ–ผ๏ธ
  • SHELL โ€” if it isn't set, the default is /bin/sh ๐Ÿš
  • MAILCAPS โ€” a semicolon-delimited list of path names to mailcap files ๐Ÿ“œ

๐Ÿ“ FILES ๐Ÿ“

okay so this section is basically a map of every file alpine cares about, bestie ๐Ÿ—บ๏ธโœจ

  • /var/spool/mail/xxxx โ€” where incoming mail lands by default ๐Ÿ“ฌ
  • ~/mail โ€” the default home base for your mail folders ๐Ÿ“‚
  • ~/.addressbook โ€” default address book file ๐Ÿ“’
  • ~/.signature โ€” the file that gets appended to every message โœ๏ธ
  • ~/.pine-debug[1-4] โ€” diagnostic log for debugging ๐Ÿ›
  • ~/.pinerc โ€” your personal alpine config file โš™๏ธ
  • ~/.pine-crash โ€” debug info that's useful when alpine crashes ๐Ÿ’ฅ
  • ~/.newsrc โ€” news subscription and state file ๐Ÿ“ฐ
  • ~/.mailcap โ€” your personal mail capabilities file ๐ŸŽ€
  • ~/.mime.types โ€” your personal file extension to MIME type mapping ๐Ÿ—‚๏ธ
  • /etc/mailcap โ€” the system-wide mail capabilities file ๐ŸŒ
  • /etc/mime.types โ€” the system-wide file extension to MIME type mapping ๐ŸŒ
  • /etc/pine.info โ€” local pointer to your system administrator ๐Ÿง‘โ€๐Ÿ’ป
  • /etc/pine.conf โ€” the system-wide configuration file ๐Ÿ›๏ธ
  • /etc/pine.conf.fixed โ€” non-overridable configuration file, so nobody can change it, not even you ๐Ÿšซ
  • ~/.alpine-smime/ca โ€” directory that holds the Certificate Authority files ๐Ÿ…
  • ~/.alpine-smime/private โ€” directory that holds private key(s) ๐Ÿ”
  • ~/.alpine-smime/public โ€” directory that holds public key(s) ๐Ÿ”“
  • /tmp/.\usr\spool\mail\xxxx โ€” per-folder mailbox lock files ๐Ÿ”’
  • ~/.pine-interrupted-mail โ€” a message that got interrupted mid-send ๐Ÿ™ˆ
  • ~/mail/postponed-msgs โ€” for postponed messages (drafts) ๐Ÿ“
  • ~/mail/sent-mail โ€” outgoing message archive, aka the FCC ๐Ÿ“ค
  • ~/mail/saved-messages โ€” default destination when you save messages ๐Ÿ’พ

๐Ÿ”— SEE ALSO ๐Ÿ”—

ngl, these are the vibes you'll want to check out next ๐Ÿซถ

Newsgroup: comp.mail.pine ๐Ÿ’ฌ

Mailing List: Alpine-info, at https://www.washington.edu/alpine/alpine-info/ ๐Ÿ“ฎ

Main Alpine distribution site: http://repo.or.cz/alpine.git ๐ŸŒธ

  • Alpine Technical Notes, included in the source distribution ๐Ÿ“š
  • C-Client messaging API library, included in the source distribution ๐Ÿงš

๐Ÿ™ ACKNOWLEDGMENTS ๐Ÿ™

this part is so sweet ๐Ÿฅน Alpine is the result of so many people who gave their time to support it, improve it, and suggest ways to make it better over the years ๐Ÿ’– None of it would've happened without the University of Washington in Seattle, Washington ๐ŸŒˆ The whole Alpine community sends its most sincere thanks to every contributor, and they invite everyone to jump in and contribute too โœจ


That's the whole page, bestie! ๐ŸŽ€ Alpine Version 2.26, manual page, fully served ๐Ÿ’…๐Ÿ‘‘๐Ÿฆ‹