XMR4 ;ISC-SF/GMB-SMTP HELP ;04/17/2002 11:17
;;8.0;MailMan;;Jun 28, 2002
HELPME ;
N XMALL
S XMALL="HHHH^EXPN^HELO^HELP^MAIL^NOOP^QUIT^RCPT^RSET^TURN^VRFY"
I XMP="ALL" D ALL G END
I U_XMALL_U[(U_XMP_U) D SHOW(XMP) G END
D SHOW("HHHH")
END I 'ER S XMSG="214 " X XMSEN
Q
ALL ;
N I,J
F I=1:1:$L(XMALL,U) D SHOW($P(XMALL,U,I)) Q:ER
Q
SHOW(XMCMD) ;
N I
F I=0:1 S XMSG="214-"_$P($T(@XMCMD+I),";",3,99) Q:$L(XMSG)=4 X XMSEN Q:ER
Q
HHHH ;;
;;This is the simple mail transfer protocol receiver
;;Commands currently understood are:
;;HELO <domain> (which initiates a transaction)
;;MAIL FROM: <reverse-path>
;;RCPT TO: <forward-path> (which names a recipient)
;;DATA (terminated with a single line of '.')
;;HELP (which displays this text)
;;NOOP (which does nothing)
;;RSET <reason for> which stops transmission of message
;;STAT (which displays the current status of the receiver)
;;VRFY <user> (which verifies the existence of a user)
;;TURN (Which turns around the line; Sender becomes receiver)
;;EXPN <mail group> (which lists the members of a group)
;;QUIT (which terminates the connection)
;;
;;CHRS <domain> initialize a remote domain
;;Extensions:
;;MESS ID:XMREMID Sending message remote ID to allow processing to stop
;;
;;Enter HELP ALL to see further discussion on all commands, or
;;HELP <command> to see further discussion of <command>.
;;
HELO ;;
;;The HELO command is used to identify the sending host to the receiver:
;;
;; HELO <domain>
;;
;; Where <domain> is the name of the sending host.
;;
;;If the receiver will accept mail, it responds with its name.
;;
;;The HELO command must be the first command of a mail sequence.
;;
MAIL ;;
;;The MAIL command is used after a HELO command to ask a receiver to
;;accept a mail message. The format is:
;;
;; MAIL FROM: <user>@<site>
;;
;;where <user> is the name of the user sending the message, and <site>
;;is the name of the site sending the mail, in Internet domain
;;format.
;;
;;The receiver will respond with "250 OK" if accepted, and "501 Invalid
;;Reverse path specification" if not.
;;
;;This command is followed with RCPT and DATA commands to name
;;and transfer the data, respectively.
;;
RCPT ;;
;;This command is used to identify the recipients of the mail.
;;Its format is:
;;
;; RCPT TO: <user>
;;
;;If the user is found, the receiver will respond with "250 OK";
;;Otherwise, it will say "501 Invalid forward path specification".
;;
;;Each recipient of the message is named individually. The VRFY
;;command can be used to confirm the existence of a user without
;;actually putting him on the recipient list.
;;After recipients are specified, the DATA command is used to transfer
;;the body of the message.
;;
DATA ;;
;;The DATA command is used after the MAIL and RCPT commands to transmit
;;the body of the message. The command has no arguments. The receiver's
;;response to the command is to either issue an error message:
;;"503 no recipients specified" or "354 Start mail input".
;;
;;Data will be accepted until a line consisting of a single period is
;;detected. If any line begins with a period, it must have an
;;additional period inserted at the beginning of the line.
;;
;;After the DATA command is completed, the receiver will respond with
;;"250 OK" if the message was accepted, or an error message if
;;otherwise.
;;
RSET ;;
;;The RSET (Reset) command is used to reset the receiver to its initial
;;state and cancel any mail in progress. The sender does not need to
;;issue HELO again.
;;
VRFY ;;
;;The VRFY (Verify) command is used to verify the existence of a user
;;at the receiver. The format is:
;;
;; VRFY <user>
;;
;;The computer will respond with the user's full name if found, or
;;"550 User not found" if not. This command can be issued at any
;;time, and does not affect the recipient list.
;;
EXPN ;;
;;The EXPN (Expand) command causes the receiver to expand a mailing
;;list, showing the sender the list of individuals in the list.
;;
HELP ;;
;;The HELP command displays user assistance information for interactive
;;users. If issued without an argument, it gives a general introduction.
;;If given an argument naming a command, it gives further information
;;on that command. If given an argument of "ALL", it displays
;;help on all arguments.
;;
NOOP ;;
;;The NOOP (no operation) command causes the receiver to respond with
;;a "250 OK" message.
;;
QUIT ;;
;;The QUIT command is used to terminate the mail transfer process.
;;The connection will be closed, and any mail transfers not concluded
;;with a successful DATA command will be lost.
;;
TURN ;;
;;
XMR4 ;ISC-SF/GMB-SMTP HELP ;04/17/2002 11:17
+1 ;;8.0;MailMan;;Jun 28, 2002
HELPME ;
+1 NEW XMALL
+2 SET XMALL="HHHH^EXPN^HELO^HELP^MAIL^NOOP^QUIT^RCPT^RSET^TURN^VRFY"
+3 IF XMP="ALL"
DO ALL
GOTO END
+4 IF U_XMALL_U[(U_XMP_U)
DO SHOW(XMP)
GOTO END
+5 DO SHOW("HHHH")
END IF 'ER
SET XMSG="214 "
XECUTE XMSEN
+1 QUIT
ALL ;
+1 NEW I,J
+2 FOR I=1:1:$LENGTH(XMALL,U)
DO SHOW($PIECE(XMALL,U,I))
IF ER
QUIT
+3 QUIT
SHOW(XMCMD) ;
+1 NEW I
+2 FOR I=0:1
SET XMSG="214-"_$PIECE($TEXT(@XMCMD+I),";",3,99)
IF $LENGTH(XMSG)=4
QUIT
XECUTE XMSEN
IF ER
QUIT
+3 QUIT
HHHH ;;
+1 ;;This is the simple mail transfer protocol receiver
+2 ;;Commands currently understood are:
+3 ;;HELO <domain> (which initiates a transaction)
+4 ;;MAIL FROM: <reverse-path>
+5 ;;RCPT TO: <forward-path> (which names a recipient)
+6 ;;DATA (terminated with a single line of '.')
+7 ;;HELP (which displays this text)
+8 ;;NOOP (which does nothing)
+9 ;;RSET <reason for> which stops transmission of message
+10 ;;STAT (which displays the current status of the receiver)
+11 ;;VRFY <user> (which verifies the existence of a user)
+12 ;;TURN (Which turns around the line; Sender becomes receiver)
+13 ;;EXPN <mail group> (which lists the members of a group)
+14 ;;QUIT (which terminates the connection)
+15 ;;
+16 ;;CHRS <domain> initialize a remote domain
+17 ;;Extensions:
+18 ;;MESS ID:XMREMID Sending message remote ID to allow processing to stop
+19 ;;
+20 ;;Enter HELP ALL to see further discussion on all commands, or
+21 ;;HELP <command> to see further discussion of <command>.
+22 ;;
HELO ;;
+1 ;;The HELO command is used to identify the sending host to the receiver:
+2 ;;
+3 ;; HELO <domain>
+4 ;;
+5 ;; Where <domain> is the name of the sending host.
+6 ;;
+7 ;;If the receiver will accept mail, it responds with its name.
+8 ;;
+9 ;;The HELO command must be the first command of a mail sequence.
+10 ;;
MAIL ;;
+1 ;;The MAIL command is used after a HELO command to ask a receiver to
+2 ;;accept a mail message. The format is:
+3 ;;
+4 ;; MAIL FROM: <user>@<site>
+5 ;;
+6 ;;where <user> is the name of the user sending the message, and <site>
+7 ;;is the name of the site sending the mail, in Internet domain
+8 ;;format.
+9 ;;
+10 ;;The receiver will respond with "250 OK" if accepted, and "501 Invalid
+11 ;;Reverse path specification" if not.
+12 ;;
+13 ;;This command is followed with RCPT and DATA commands to name
+14 ;;and transfer the data, respectively.
+15 ;;
RCPT ;;
+1 ;;This command is used to identify the recipients of the mail.
+2 ;;Its format is:
+3 ;;
+4 ;; RCPT TO: <user>
+5 ;;
+6 ;;If the user is found, the receiver will respond with "250 OK";
+7 ;;Otherwise, it will say "501 Invalid forward path specification".
+8 ;;
+9 ;;Each recipient of the message is named individually. The VRFY
+10 ;;command can be used to confirm the existence of a user without
+11 ;;actually putting him on the recipient list.
+12 ;;After recipients are specified, the DATA command is used to transfer
+13 ;;the body of the message.
+14 ;;
DATA ;;
+1 ;;The DATA command is used after the MAIL and RCPT commands to transmit
+2 ;;the body of the message. The command has no arguments. The receiver's
+3 ;;response to the command is to either issue an error message:
+4 ;;"503 no recipients specified" or "354 Start mail input".
+5 ;;
+6 ;;Data will be accepted until a line consisting of a single period is
+7 ;;detected. If any line begins with a period, it must have an
+8 ;;additional period inserted at the beginning of the line.
+9 ;;
+10 ;;After the DATA command is completed, the receiver will respond with
+11 ;;"250 OK" if the message was accepted, or an error message if
+12 ;;otherwise.
+13 ;;
RSET ;;
+1 ;;The RSET (Reset) command is used to reset the receiver to its initial
+2 ;;state and cancel any mail in progress. The sender does not need to
+3 ;;issue HELO again.
+4 ;;
VRFY ;;
+1 ;;The VRFY (Verify) command is used to verify the existence of a user
+2 ;;at the receiver. The format is:
+3 ;;
+4 ;; VRFY <user>
+5 ;;
+6 ;;The computer will respond with the user's full name if found, or
+7 ;;"550 User not found" if not. This command can be issued at any
+8 ;;time, and does not affect the recipient list.
+9 ;;
EXPN ;;
+1 ;;The EXPN (Expand) command causes the receiver to expand a mailing
+2 ;;list, showing the sender the list of individuals in the list.
+3 ;;
HELP ;;
+1 ;;The HELP command displays user assistance information for interactive
+2 ;;users. If issued without an argument, it gives a general introduction.
+3 ;;If given an argument naming a command, it gives further information
+4 ;;on that command. If given an argument of "ALL", it displays
+5 ;;help on all arguments.
+6 ;;
NOOP ;;
+1 ;;The NOOP (no operation) command causes the receiver to respond with
+2 ;;a "250 OK" message.
+3 ;;
QUIT ;;
+1 ;;The QUIT command is used to terminate the mail transfer process.
+2 ;;The connection will be closed, and any mail transfers not concluded
+3 ;;with a successful DATA command will be lost.
+4 ;;
TURN ;;
+1 ;;