---
name: "sendpage"
section: "1sendpage"
platform: "linux"
package: "sendpage"
version: "0.8.6.1-2"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/sendpage/1sendpage"
---

# sendpage(1sendpage)

SNPP client/server for sending messages to an alpha-numeric pager

## NAME

Sendpage - SNPP client/server for sending messages to an alpha-numeric pager

## SYNOPSIS

**sendpage** \[ **-p** \] \[ **-bd** *\[s\]* \] \[ **-d** *debug level* \] \[ **-P** *port* \]

**sendpage** \[ **-inBS** \] \[ **-b** *\[v\|p\]* \] \[ **-f** *sender* \] \[ **-c** *header* \] \[ **-h/?** \]

## DESCRIPTION

**Sendpage** is a front end to the PET (also known as IXO or TAP) protocol used by many paging systems. It uses a disk based queue to store messages for delivery--failed deliveries are retried.  The basic format for sending a message with  **sendpage** is

**echo text \|sendpage \<user\>**

Messages received by the **Sendpage** daemon that are longer than the maximum page length are split into multiple segments and sent as separate pages.  The maximum page length is determined in the /etc/sendpage.cf file.

## OPTIONS

The following options are supported:

- **-p**

  This option tells the **sendpage** daemon to ignore the pid file.

- **-bd** *\[s\]*

  This option tells  **sendpage** to run in daemon mode. The \[s\] tells it to run with SNPP support.

- **-d** *n*

  Specifies that the daemon should be run in debug mode at n level.

- **-P** *port*

  Specifies which port the daemon should use.

- **-i**

  Forces  **sendpage** to do an immediate queue run.

- **-n**

  Tells  **sendpage** not to send a mail response to the page.

- **-B**

  Parse the input as an RFC822 mail message gathering data from the body of the message.

- **-S**

  Try to strip out the signature files of email messages.

- **-bv**

  Run  **sendpage** alias verify mode.  It allows you enter a paging alias and get it's phone number and user name.

- **-bp**

  Print queue.  This command is the same as the  **pageq** command.

- **-f** *sender*

  Set sender to 'sender.'  Normally set with getuid.

- **-c** *header*

  Parse the input as an RFC822 mail message gathering data from this header.

- **-h/?**

  Help output.

## The Configuration File

\# lines begining with # are ignored\
 \# \\ can be used as a escape character to continue long lines\
 \#\
 \# sendpage.cf

\#\
 \# Note: The parser only does 1 pass, so forward references\
 \# don't work.\
 \#    The order of definitions should be:\
 \#    global\
 \#    trMap\
 \#    pc\
 \#    profile\
 \#    alias

\#\
 \# global options\
 \#

\# maxMsgSize      max message size the daemon will accept in\
 \#                 a queue file without truncating it.\
 \# emaiFrom        default from address for e-mail\
 \# replyToSender   add a Reply-To: line when sending mail of\
 \#                 sender\
 \# timeFormat      monthFirst or dayFirst\
 \#\
 \# FUTURE\
 \# syslogFacility  log facility to use \*\*\
 \# maxMsgSplit     max # of splits a message can go through\
 \#                 without truncation \*\*

global maxMsgSize=480 maxMsgSplit=5\\\
\
        syslogFacility=LOG\_MAIL/\\\
\
        timeFormat=monthFirst replyToSender=yes\\\
\
        emailFrom="sendpage@host.domain (Sendpage)"

\#\
 \# Accounting options\
 \#

\#\
 \# trMap definitions\
 \#\
 \# The message portion of the page is passed through a 1:1\
 \# translation map.  This is primarly used to map out illegal\
 \# characters.  Each map should define all 256 characters.\
 \# The character codes can be found on ascii's man page.

trMap std    0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
              0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
              0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
              0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
              0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27\\\
\
              0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f\\\
\
              0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37\\\
\
              0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f\\\
\
              0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47\\\
\
              0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f\\\
\
              0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57\\\
\
              0x58 0x59 0x5a 0x5b 0x5c 0x5d 0x5e 0x5f\\\
\
              0x60 0x61 0x62 0x63 0x64 0x65 0x66 0x67\\\
\
              0x68 0x69 0x6a 0x6b 0x6c 0x6d 0x6e 0x6f\\\
\
              0x70 0x71 0x72 0x73 0x74 0x75 0x76 0x77\\\
\
              0x78 0x79 0x7a 0x7b 0x7c 0x7d 0x7e 0x7f\\\
\
              0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
              0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
              0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
              0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
              0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
              0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
              0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
              0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
              0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
              0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
              0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
              0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
              0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
              0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
              0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
              0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a

trMap bofh    0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
               0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
               0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
               0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
               0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27\\\
\
               0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f\\\
\
               0x30 0x21 0x32 0x33 0x34 0x35 0x36 0x37\\\
\
               0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f\\\
\
               0x40 0x41 0x26 0x28 0x65 0x45 0x46 0x36\\\
\
               0x48 0x7c 0x4a 0x4b 0x6c 0x4d 0x4e 0x2A\\\
\
               0x50 0x71 0x52 0x24 0x54 0x55 0x56 0x57\\\
\
               0x58 0x59 0x5a 0x5b 0x5c 0x5d 0x5e 0x5f\\\
\
               0x60 0x61 0x42 0x63 0x64 0x65 0x66 0x47\\\
\
               0x68 0x21 0x37 0x4b 0x4c 0x6d 0x6e 0x30\\\
\
               0x70 0x71 0x72 0x24 0x54 0x75 0x76 0x77\\\
\
               0x2b 0x79 0x7a 0x7b 0x7c 0x7d 0x7e 0x7f\\\
\
               0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
               0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
               0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
               0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
               0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
               0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
               0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
               0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
               0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
               0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
               0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
               0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
               0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
               0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
               0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a\\\
\
               0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a

trMap num    0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x2a 0x0 0x0 0x0 0x0 0x0\\\
\
              0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37\\\
\
              0x38 0x39 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0\\\
\
              0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0

\#\
 \# paging central definitions\
 \#\
 \# format:\
 \#  pc option=value\
 \#\
 \# options are:\
 \# name             name of paging central\
 \# phone            phone number\
 \# speed            baud rate\
 \# parity           parity bit setting\
 \# databits         # of databits\
 \# stopbits         # of stopbits\
 \# protocal         protocol to use - pet-pg1, pet-pg3, and\
 \#                  null implemented\
 \# msgretries       # of times to retry a page\
 \# answertime       how long in seconds to wait for modem to\
 \#                  answer\
 \# modemdial        string used to dial modem\
 \# dialer           internal/external (external not imple-\
 \#                  mented yet)\
 \# modeminit        init string to send to modem\
 \# modemdev         device to use with modem\
 \# maxmsgsize       maximum # of bytes before truncated\
 \# password         paging central password\
 \# emaiFrom         e-mail from address\
 \# trMap            translation map to pass all messages\
 \#                  through\
 \# retryNotify      which retry to send a notification on\
 \#\
 \# FUTURE\
 \# maxtransactions  maximum # of transactions per run (phone call)\
 \# fallbackGateway  e-mail address of gateway to try if this one isn't working\
 \#

pc  name=test phone=95788800 speed=1200 parity=even\\\
\
     databits=7 stopbits=1 protocol=pet-pg1 msgretries=20\\\
\
     answertime=25 modemdial=atdt dialer=internal\\\
\
     modeminit=atE0Q0V1H0X4 modemdev=/dev/cua/b\\\
\
     maxmsgsize=200\\\
\
     emailFrom="sendpage@host.domain (Sendpage Gateway)"

pc  name=test protocol=null maxmsgsize=100\\\
\
     emailFrom="sendpage@host.domain (Sendpage test)"

\# emailReply=yes/no         # send e-mail confirmation of\
 \#                             page\
 \# emailCC=foo@bar.com       # also send e-mail to this\
 \#                             destination\
 \# emailReplyErrr=yes/no     # e-mail replies for\
 \#                             errors/warnings\
 \# msgIncSender=yes/no       # inc. the sender in the message\
 \# msgIncDate=yes/no         # inc. the time of the messsage\
 \# msgIncTime=yes/no         # inc. the time of the messsage\
 \# trMap=whatever            # use this 1:1 translation\
 \#                             mapping \
 \#\
 \# alias definitions\
 \#\
 \# "alias"    name    expands to\
 \#\
 \# aliases can be in the form\
 \# xxx  yyy               : simple. "xxx" expands to "yyy"\
 \# xxx  yyy    zzz        : list. "xxx" expands to "yyy"\
 \#                           "zzz"\
 \# xxx  /etc/operator     : file. "xxx" expands to the\
 \#                           contents of the alias expansion\
 \#                           of /etc/operator\
 \# xxx  /etc/operator:yyy : file with default.  if can't get\
 \#                           contents of /etc/operator,\
 \#                           default to "yyy"\
 \# xxx  \|/etc/schedule    : pipe. "xxx" expands to the output\
 \#                           of the alias expansion of\
 \#                           /etc/shedule\
 \# xxx  \|/etc/schedule:yyy: pipe with default.  if can't get\
 \#                          the contents of /etc/schedule,\
 \#                          default to "yyy"\
 \#\
 \#    combinations are also allowed -- first look\
 \#        /etc/operator, then /etc/operator2, finally\
 \#        default to yyy\
 \#    xxx        /etc/operator:/etc/operator2:yyy\
 \#\
 \# note it's important that pipe style aliases don't call\
 \# programs that will hang.  This could cause sendpage to get\
 \# stuck.\
 \#\
 \#\
 \# Each alias has a profile which is either defined here, or\
 \# automatically generated internally.  The alias definitions\
 \# can either contain the profile options on the RHS, or\
 \# seperately with a profile definition.\
 \#\
 \# for example\
 \#\
 \# alias  maf  12345.test msgIncSender=yes msgIncTime=yes\
 \#\
 \#     is the same as\
 \#\
 \# alias    maf       12345.test.1\
 \# profile  maf       msgIncSender=yes msgIncTime=yes\
 \#\
 \#     is the same as\
 \#\
 \# profile  xxx       msgIncSender=yes msgIncTime=yes\
 \# set profile=xxx\
 \#\
 \# alias    maf       12345.test\
 \#\
 \#\
 \# note the special profile 'default' is used internally for\
 \# default options, it it doesn't exist the hard coded\
 \# internal defaults are used.  This is important since\
 \# sending a page to a recipient that is not definied here\
 \# will require the use of a default profile.\
 \#

profile default emailReplyErr=yes emailReply=yes\\\
\
         msgIncSender=yes msgIncDate=yes msgIncTime=yes

profile numeric emailReplyErr=yes emailReply=yes\\\
\
         msgIncSender=no msgIncDate=no msgIncTime=no

set profile=default

alias    test    1234567.test\
 alias    sysadm    /etc/operator\
 alias    foobar    12345.test emailReply=yes

## FILES

/etc/sendpage.cf

## AUTHOR

**Sendpage** 0.8.6.1, Copyright (C) 1997 Cornelius Cook This program comes with ABSOLUTELY NO WARRANTY; This is free software, and you are welcome to redistribute it under the conditions of the GNU General Public License.
