Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: XMR2

XMR2.m

Go to the documentation of this file.
  1. XMR2 ;ISC-SF/GMB-SMTP Receiver (non-standard) ;04/17/2002 11:15
  1. ;;8.0;MailMan;;Jun 28, 2002
  1. ; *** Note that this command (MESS <what:parm>) is not standard.
  1. ; *** MESS ID, in particular, may return 'RSET', which is supposed
  1. ; to be sent only by the sender, not by the receiver.
  1. MESS ; CHECK IF DUPLICATE MESSAGE / USERS...
  1. N XMWHAT,XMPARM
  1. I XMP="" D ERRCMD^XMR Q
  1. S XMWHAT=$E($P(XMP,":"),1,6),XMPARM=$P(XMP,":",2,99)
  1. I $T(@XMWHAT)="" D ERRCMD^XMR Q
  1. D @XMWHAT
  1. Q
  1. BLOB ;; MESS BLOB
  1. D BLOB^XMR0BLOB(XMPARM)
  1. Q
  1. CLOSED ;; MESS CLOSED
  1. S XMZFDA(3.9,XMZIENS,1.95)="y"
  1. S XMSG="250 OK" X XMSEN
  1. Q
  1. CONFID ;; MESS CONFIDENTIAL
  1. S XMZFDA(3.9,XMZIENS,1.96)="y"
  1. S XMSG="250 OK" X XMSEN
  1. Q
  1. CONFIR ;; MESS CONFIRMATION
  1. S XMZFDA(3.9,XMZIENS,1.3)="y"
  1. S XMSG="250 OK" X XMSEN
  1. Q
  1. ID ;;
  1. N XMZCHK
  1. S XMREMID=XMPARM
  1. S XMZCHK=$$LOCALXMZ^XMR3A(XMREMID)
  1. I 'XMZCHK S XMSG="250 OK" X XMSEN Q
  1. I $P(XMZCHK,U,2,3)="1^P" S XMSG="250 OK" X XMSEN Q
  1. ;Message originated here. / Previously received message.
  1. D DOTRAN^XMC1($S($P(XMZCHK,U,2):42305,1:42306))
  1. S XMRXMZ=+XMZCHK
  1. I $P(XMZCHK,U,3)'="E"!(XMRXMZ=XMZ) D Q
  1. . I $P(XMZCHK,U,3)="P" D DOTRAN^XMC1(42307) ;Already purged.
  1. . I $P(XMZCHK,U,3)="R" D DOTRAN^XMC1(42308) ;Already purged & replaced with a different message.
  1. . S XMSG="RSET:"_XMRXMZ_"@"_^XMB("NETNAME")_":Duplicate purged" X XMSEN
  1. D DOTRAN^XMC1(42309) ;Delivering to additional recipients.
  1. S XMSG="RSET:"_XMRXMZ_"@"_^XMB("NETNAME")_":Previously received" X XMSEN
  1. Q
  1. INFO ;; MESS INFORMATION
  1. S XMZFDA(3.9,XMZIENS,1.97)="y"
  1. S XMSG="250 OK" X XMSEN
  1. Q
  1. LINES ;; MESS LINES
  1. N XMLINES,XMLIMIT
  1. S XMLIMIT=$P($G(^XMB(1,1,"NETWORK-LIMIT")),U,2)
  1. S XMLINES=XMPARM
  1. I 'XMLIMIT!(XMLINES'>XMLIMIT) S XMSG="250 OK" X XMSEN Q
  1. S XMSG="RSET:"_XMLIMIT_":Max lines exceeded" X XMSEN
  1. S XM2LONG=1
  1. Q
  1. TYPE ;; MESS TYPE
  1. S XMZFDA(3.9,XMZIENS,1.7)=XMPARM
  1. S XMSG="250 OK" X XMSEN
  1. Q