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="[email protected] (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="[email protected] (Sendpage Gateway)"
pc name=test protocol=null maxmsgsize=100\
emailFrom="[email protected] (Sendpage test)"
# emailReply=yes/no # send e-mail confirmation of
# page
# [email protected] # 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.