- XMR4 ;ISC-SF/GMB-SMTP HELP ;04/17/2002 11:17
- ;;8.0;MailMan;**51**;Jun 28, 2002;Build 9
- HELPME ;
- N XMALL
- S XMALL="HHHH^HELO^HELP^MAIL^NOOP^QUIT^RCPT^RSET^TURN^DATA"
- 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)
- ;;TURN (Which turns around the line; Sender becomes receiver)
- ;;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 ;;
- ;;
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HXMR4 4748 printed Mar 13, 2025@21:17:33 Page 2
- XMR4 ;ISC-SF/GMB-SMTP HELP ;04/17/2002 11:17
- +1 ;;8.0;MailMan;**51**;Jun 28, 2002;Build 9
- HELPME ;
- +1 NEW XMALL
- +2 SET XMALL="HHHH^HELO^HELP^MAIL^NOOP^QUIT^RCPT^RSET^TURN^DATA"
- +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 ;;TURN (Which turns around the line; Sender becomes receiver)
- +12 ;;QUIT (which terminates the connection)
- +13 ;;
- +14 ;;CHRS <domain> initialize a remote domain
- +15 ;;Extensions:
- +16 ;;MESS ID:XMREMID Sending message remote ID to allow processing to stop
- +17 ;;
- +18 ;;Enter HELP ALL to see further discussion on all commands, or
- +19 ;;HELP <command> to see further discussion of <command>.
- +20 ;;
- 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 ;;