| 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
 | 
|---|