<<< Previous |  | Next >>>

# cone

## Name

cone -- Read and send E-mail messages

## Synopsis

cone [-r] [-c directory]

## USAGE

`Cone` is a console newsreader and E-mail. It is an interactive program for reading and sending E-mail messages. `Cone` is designed to be intuitive and easy to learn. Starting `Cone` for the first time displays two links: one for the default system mailbox, and a second link to a quick online tutorial. The online tutorial provides a brief overview of using `Cone` for reading and sending E-mail.

Pressing Q on most screens exits `Cone`. `Cone` tries to gracefully log out and shut down all server connections. If `Cone` cannot log out of a remote server because the remote server is down, press CTRL-C (after Q to terminate `Cone`).

Use CTRL-Z to temporarily suspend `Cone` and drop back to the shell prompt. `Cone` remains suspended in the background, and may be restarted by using the shell's fg command.

NOTE: | Connections to remote mail servers may be disconnected for inactivity if `Cone` remains suspended for a prolonged period of time. When suspended, `Cone` cannot maintain any active connections to remote mail servers.

The -c option names a directory where `Cone` saves its configuration files, and defaults to `$HOME/.cone`. The configuration directory will be created, if necessary.

The -r option recovers a backup copy of `Cone`'s configuration file. This option is primarily used when remote configuration is enabled, but the folder that contains `Cone`'s configuration on a remote server was deleted, or is not available. In all cases, `Cone` makes a daily local configuration file backup. The -r option searches for local configuration file backups, and offers an option to restore the backup copy.

### Reading local mail with `Cone`

`Cone` reads local mail from either maildirs (the preferred format) or mailbox files (or "mboxes"). When mboxes are used, `Cone` does not read the system mailbox file directly (usually `/var/spool/something`). All messages in the system mailbox are automatically moved to `$HOME/Inbox`, which is then accessed as if it was the system mailbox. Starting `Cone` for the first time on an mbox-based system automatically copies all existing mail from the system mailbox file to `$HOME/Inbox`.

This is an intentional design choice. Normal user application cannot create new files in `/var/spool`; all they can do is read the mailbox file from `/var/spool`. Therefore, the only way to update the mailbox file is by rewriting it from scratch (more or less). While the mailbox file is in the process of being rewritten, if the `Cone` process is interrupted, or killed, the resulted in a corrupted system mailbox. There are way to minimize this vulnerability, but it cannot be eliminated completely. Some Linux kernels use an "OOM killer" that may terminate any process when the system memory is low. There is no way to completely prevent corrupted system mailbox files on those kernels.

`Cone` uses an alternative way of updating mboxes. `Cone` updates mboxes by creating a new mbox file separately, then replacing the original mbox file with the new version. Unfortunately this cannot be done with the system mailbox file, because of the restricted access rights on the system spool directory. To solve this problem `Cone` automatically copies the system mailbox file to `$HOME/Inbox`, each time the system mailbox file is opened and whenever new mail is available.

### Viewing MIME attachments

`Cone` displays text and simple HTML content by itself. Other kinds of attachments may be viewed by using a helper script. `Cone` invokes a helper script to open a MIME attachment. The helper script's name is "TYPE.SUBTYPE.filter", where "TYPE" and "SUBTYPE" corresponds to the MIME type and subtype, accordingly. `Cone` looks for helper scripts in `$HOME/.cone` (or the directory specified by -c) and in `/usr/local/share/cone`.

For example, a helper script named "IMAGE.GIF.filter", if installed, is invoked to process `image/gif` MIME attachments.

#### Helper scripts

`Cone` runs each helper script twice:

    TYPE.SUBTYPE.filter check type/subtype

When the first argument is "check", the helper script should terminate with a zero exit code if it is willing to process an attachment whose MIME type is specified by the second argument. A script or a program that's has multiple "TYPE.SUBTYPE.filter" links may use the second argument to identify the attachment's mime type. If the helper script is unable to process the attachment, at this time, it should terminate with a non-zero exit code.

The default helper script for image attachments terminates with a non-zero exit code if the DISPLAY environment variable is not initialized. When invoked from an X-Windows terminal, image attachments will be automatically displayed; and image attachments are ignored otherwise on non-graphical consoles.

    TYPE.SUBTYPE.filter filter type/subtype filename

If the helper script initially terminates with a zero exit code, it will be invoked again after the MIME attachment is downloaded and decoded. The first argument will be "filter", and the attachment's filename is specified by the third argument.

NOTE: | This is a temporary file, whose extension will not necessary be the file extension associated with this MIME type.

The helper script should read and process the file specified by the third argument. `Cone` interprets anything the helper script writes to standard output as HTML.

NOTE: | `Cone` waits until the helper script terminates before displaying the rest of the message. Most helper scripts should run in the background. However, note that `Cone` removes the temporary file when the original message is closed; the temporary file may be removed any time after the helper script terminates. The helper script should make its own private copy of the file, if necessary.

## FILES

`$HOME/.cone`

  Configuration files, and other application data. May be modified by the -c option.

`/usr/local/share/cone/IMAGE.GIF.filter`, `/usr/local/share/cone/IMAGE.JPEG.filter`, `/usr/local/share/cone/IMAGE.PNG.filter`, `/usr/local/share/cone/APPLICATION.PDF.filter`

  Default helper scripts distributed with `Cone`.

## SEE ALSO

mailtool(1), sendmail(8).

<<< Previous | Home | Next >>>
Mail Filters | Up | leaf