[613] | 1 | XMR2 ;ISC-SF/GMB-SMTP Receiver (non-standard) ;04/17/2002 11:15
|
---|
| 2 | ;;8.0;MailMan;;Jun 28, 2002
|
---|
| 3 | ; *** Note that this command (MESS <what:parm>) is not standard.
|
---|
| 4 | ; *** MESS ID, in particular, may return 'RSET', which is supposed
|
---|
| 5 | ; to be sent only by the sender, not by the receiver.
|
---|
| 6 | MESS ; CHECK IF DUPLICATE MESSAGE / USERS...
|
---|
| 7 | N XMWHAT,XMPARM
|
---|
| 8 | I XMP="" D ERRCMD^XMR Q
|
---|
| 9 | S XMWHAT=$E($P(XMP,":"),1,6),XMPARM=$P(XMP,":",2,99)
|
---|
| 10 | I $T(@XMWHAT)="" D ERRCMD^XMR Q
|
---|
| 11 | D @XMWHAT
|
---|
| 12 | Q
|
---|
| 13 | BLOB ;; MESS BLOB
|
---|
| 14 | D BLOB^XMR0BLOB(XMPARM)
|
---|
| 15 | Q
|
---|
| 16 | CLOSED ;; MESS CLOSED
|
---|
| 17 | S XMZFDA(3.9,XMZIENS,1.95)="y"
|
---|
| 18 | S XMSG="250 OK" X XMSEN
|
---|
| 19 | Q
|
---|
| 20 | CONFID ;; MESS CONFIDENTIAL
|
---|
| 21 | S XMZFDA(3.9,XMZIENS,1.96)="y"
|
---|
| 22 | S XMSG="250 OK" X XMSEN
|
---|
| 23 | Q
|
---|
| 24 | CONFIR ;; MESS CONFIRMATION
|
---|
| 25 | S XMZFDA(3.9,XMZIENS,1.3)="y"
|
---|
| 26 | S XMSG="250 OK" X XMSEN
|
---|
| 27 | Q
|
---|
| 28 | ID ;;
|
---|
| 29 | N XMZCHK
|
---|
| 30 | S XMREMID=XMPARM
|
---|
| 31 | S XMZCHK=$$LOCALXMZ^XMR3A(XMREMID)
|
---|
| 32 | I 'XMZCHK S XMSG="250 OK" X XMSEN Q
|
---|
| 33 | I $P(XMZCHK,U,2,3)="1^P" S XMSG="250 OK" X XMSEN Q
|
---|
| 34 | ;Message originated here. / Previously received message.
|
---|
| 35 | D DOTRAN^XMC1($S($P(XMZCHK,U,2):42305,1:42306))
|
---|
| 36 | S XMRXMZ=+XMZCHK
|
---|
| 37 | I $P(XMZCHK,U,3)'="E"!(XMRXMZ=XMZ) D Q
|
---|
| 38 | . I $P(XMZCHK,U,3)="P" D DOTRAN^XMC1(42307) ;Already purged.
|
---|
| 39 | . I $P(XMZCHK,U,3)="R" D DOTRAN^XMC1(42308) ;Already purged & replaced with a different message.
|
---|
| 40 | . S XMSG="RSET:"_XMRXMZ_"@"_^XMB("NETNAME")_":Duplicate purged" X XMSEN
|
---|
| 41 | D DOTRAN^XMC1(42309) ;Delivering to additional recipients.
|
---|
| 42 | S XMSG="RSET:"_XMRXMZ_"@"_^XMB("NETNAME")_":Previously received" X XMSEN
|
---|
| 43 | Q
|
---|
| 44 | INFO ;; MESS INFORMATION
|
---|
| 45 | S XMZFDA(3.9,XMZIENS,1.97)="y"
|
---|
| 46 | S XMSG="250 OK" X XMSEN
|
---|
| 47 | Q
|
---|
| 48 | LINES ;; MESS LINES
|
---|
| 49 | N XMLINES,XMLIMIT
|
---|
| 50 | S XMLIMIT=$P($G(^XMB(1,1,"NETWORK-LIMIT")),U,2)
|
---|
| 51 | S XMLINES=XMPARM
|
---|
| 52 | I 'XMLIMIT!(XMLINES'>XMLIMIT) S XMSG="250 OK" X XMSEN Q
|
---|
| 53 | S XMSG="RSET:"_XMLIMIT_":Max lines exceeded" X XMSEN
|
---|
| 54 | S XM2LONG=1
|
---|
| 55 | Q
|
---|
| 56 | TYPE ;; MESS TYPE
|
---|
| 57 | S XMZFDA(3.9,XMZIENS,1.7)=XMPARM
|
---|
| 58 | S XMSG="250 OK" X XMSEN
|
---|
| 59 | Q
|
---|