---
name: "comp"
section: "1"
platform: "linux"
package: "nmh"
version: "1.5-release-0.2"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/comp"
---

# comp(1)

compose a message

## NAME

comp - compose a message

## SYNOPSIS

**comp** \[*+folder*\] \[*msg*\] \[**-form** *formfile*\] \[**-use** \| **-nouse**\] \[**-file** *file*\] \[**-draftfolder** *+folder*\] \[**-draftmessage** *msg*\] \[**-nodraftfolder**\] \[**-editor** *editor*\] \[**-noedit**\] \[**-width** *columns*\] \[**-from** *address*\] \[**-to** *address*\] \[**-cc** *address*\] \[**-fcc** *+folder*\] \[**-subject** *text*\] \[**-whatnowproc** *program*\] \[**-nowhatnowproc**\] \[**-version**\] \[**-help**\]

## DESCRIPTION

**Comp** is used to create a new message to be mailed.  It copies a message form to the draft being composed and then invokes an editor on the draft (unless **-noedit** is given, in which case the initial edit is suppressed).

The default message template “components” will direct **comp** to construct the message draft as follows:

```
From: {from switch} or <Local-Mailbox> or <username@hostname>
To: {to switch} or blank
cc: {cc switch} or blank
Fcc: {fcc switch} or +outbox
Subject: {subject switch} or blank
--------
```

If a file named “*components*” exists in the user's nmh directory, it will be used instead of this form.  You may specify an alternate forms file with the switch **-form** *formfile*.

You may also start **comp** using the contents of an existing message as the form.  If you supply either a *+folder* or *msg* argument, that message will be used as the message form.  You may not supply both a **-form** *formfile* and a *+folder* or *msg* argument.  The line of dashes or a blank line must be left between the header and the body of the message for the message to be identified properly when it is sent (see [**send**(1)](/send/1.md)).

The switch **-use** directs **comp** to continue editing an already started message.  That is, if a **comp** (or **dist**, **repl**, or **forw**) is terminated without sending the draft, the draft can be edited again via “**comp** **-use**”.

The **-file** *file* switch says to use the named file as the message draft.

Forms that are selected via the **-form** switch are processed via the **nmh** template system; see  [**mh-format**(5)](/mh-format/5.md) for details.  Drafts constructed from another message or with the **-use** or **-file** switchs will NOT be processed with [**mh-format**(5)](/mh-format/5.md).

In addition to the standard [**mh-format**(5)](/mh-format/5.md) escapes, the following *component* escapes are either new or have an alternate meaning:

```
Escape	Returns	Description
fcc	string	Any folders specified with `-fcc folder'
from	string	Any addresses specified with `-from address'
to	string	Any addresses specified with `-to address'
cc	string	Any addresses specified with `-cc address'
subject	string	Any text specified with `-subject text'
```

By default the “To:” and “cc:” fields are empty.  You may add addresses to these fields with the **-to** *address* and **-cc** *address* switches.  You may give these switches multiple times to add multiple addresses.

By default the “From:” field has either the value of the **Local-Mailbox** profile entry or a system default email address.  This default can be overridden by using the **-from** *address* switch.  The default mailbox in the “Fcc:” field is *+outbox*. This can be overridden by the **-fcc** switch.

Any text you give to the **-subject** switch will be placed in the “Subject:” field in the draft.

If the draft already exists, **comp** will ask you as to the disposition of the draft.  A reply of **quit** will abort **comp**, leaving the draft intact; **replace** will replace the existing draft with the appropriate form; **list** will display the draft; **use** will use the draft for further composition; and **refile** *+folder* will file the draft in the given folder, and give you a new draft with the appropriate form.  (The *+folder* argument to **refile** is required.)

The **-draftfolder** *+folder* and **-draftmessage** *msg* switches invoke the **nmh** draft folder facility.  This is an advanced (and highly useful) feature.  Consult the [**mh-draft**(5)](/mh-draft/5.md) man page for more information.

The **-editor** *editor* switch indicates the editor to use for the initial edit.  Upon exiting from the editor, **comp** will invoke the **whatnow** program.  See [**whatnow**(1)](/whatnow/1.md) for a discussion of available options.  The invocation of this program can be inhibited by using the **-nowhatnowproc** switch.  (In truth of fact, it is the *whatnow* program which starts the initial edit.  Hence, **-nowhatnowproc** will prevent any edit from occurring.)

## FILES

```
^/etc/nmh/components~^The standard message skeleton
^or <mh-dir>/components~^Rather than the standard skeleton
^$HOME/.mh_profile~^The user profile
^<mh-dir>/draft~^The draft file
```

## PROFILE COMPONENTS

```
^Path:~^To determine the user's nmh directory
^Draft-Folder:~^To find the default draft-folder
^Editor:~^To override the default editor
^Msg-Protect:~^To set mode when creating a new message (draft)
^fileproc:~^Program to refile the message
^whatnowproc:~^Program to ask the “What now?” questions
```

## SEE ALSO

[dist(1)](/dist/1.md), [forw(1)](/forw/1.md), [repl(1)](/repl/1.md), [send(1)](/send/1.md), [whatnow(1)](/whatnow/1.md), [mh-profile(5)](/mh-profile/5.md)

## DEFAULTS

```
`+folder' defaults to the current folder
`msg' defaults to the current message
`-nodraftfolder'
`-nouse'
```

## CONTEXT

None

## BUGS

If *whatnowproc* is **whatnow**, then **comp** uses a built-in **whatnow**, it does not actually run the **whatnow** program. Hence, if you define your own *whatnowproc*, don't call it **whatnow** since **comp** won't run it.
