cone — Read and send E-mail messages
cone [-r] [-c directory]
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.
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.
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/). All
        messages in the system mailbox are automatically moved to
        something$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.
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
        @datadir@/cone.
For example, a helper script named “IMAGE.GIF.filter”, if
        installed, is invoked to process image/gif MIME attachments.
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 filtertype/subtypefilename
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.
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.
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.
Cone has limited
        ability to activate URLs
        in HTML messages.
        Cone handles “mailto:” URLs by itself. For other
        URLs Cone runs @datadir@/cone/ with
        the URL passed as an
        argument.method.handler
Cone installs
        http.handler (hard linked to
        https.handler). This script
        checks if firefox or
        mozilla binaries are found in
        the current PATH, and runs
        them.
Cone also looks
          method.handler$HOME/.cone (or the
          directory specified by -c) in
          addition to @datadir@/cone.