---
name: "ap"
section: "8mh"
platform: "linux"
package: "nmh"
version: "1.8-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/ap/8mh"
---

# ap(8mh)

nmh parser of RFC 822-style addresses

## NAME

ap - nmh parser of RFC 822-style addresses

## SYNOPSIS

**/usr/lib/mh/ap** \[**-help**\] \[**-version**\] \[**-form** *formatfile*\] \[**-format** *string*\] \[**-width** *columns*\] *addrs* ...

## DESCRIPTION

**ap** is a program that parses addresses according to the ARPA Internet standard.  It also understands many non-standard formats. It is useful for seeing how **nmh** will interpret an address.

The **ap** program treats each argument as one or more addresses, and prints those addresses out in the official RFC 822 format.  Hence, it is usually best to enclose each argument in quotes for the shell.

To override the output format used by **ap**, the **-format** *string* or **-format** *file* switches are used.  This permits individual fields of the address to be extracted with ease.  The string is simply a format string, and the file is simply a format file.  See [*mh-format*(5)](/mh-format/5.md) for the details.

In addition to the standard escapes, **ap** also recognizes the following additional escape:

```
Escape	Returns	Description
error	string	A diagnostic if the parse failed
```

Here is the default format string used by **ap**:

%\<{error}%{error}: %{text}%\|%(putstr(proper{text}))%\>

which says that if an error was detected, print the error, a \`:', and the address in error.  Otherwise, output the RFC 822-proper format of the address.

## FILES

- $HOME/.mh\_profile

  The user's profile.

- /etc/nmh/mts.conf

  The mts configuration file.

## PROFILE COMPONENTS

None

## SEE ALSO

*fmttest*(1), [*dp*(8)](/dp/8.md)

*Standard for the Format of ARPA Internet Text Messages* (RFC 822)

## DEFAULTS

- \-format

  As described above.

- \-width

  The width of the terminal.

## CONTEXT

None
