home *** CD-ROM | disk | FTP | other *** search
-
- /* $VER: WriteMail.adm 1.2 (6.1.94)
-
- Schreiben einer Mail an die akt. ADM-Adresse.
- Zum Benutzen dieses Scripts muß der Editor unten definiert werden.
-
- Hier werden das MessageSystem UMS sowie Befehle von "Stuntzis
- UMS Tools" verwendet. Z-Netz-Mails werden bei diesem Script
- via UUCP-Gate exportiert.
-
- Für eine Erklärung der von diesem Script erkannten EMail-Formate
- siehe Script "SendMails.rexx".
-
- Das Script benötigt die RexxReqTools.library!
-
- HISTORY:
-
- V1.0 [jan] Erstes Release.
- V1.1 [jan] Abfrage nun mit der RexxReqTools.library
- per Requester.
- V1.2 [jan] Berücksichtigung Zerberus-UUCP-Gate entfernt.
- Anpassung an SUMSWrite 2.3 (ToPath->ToAddr).
-
- */
-
-
- /*----------------------------------------------------------------------
- DEFINITIONEN
- ----------------------------------------------------------------------*/
-
- editor = "C:TTX >NIL: wait" /* Darf sich nicht vom CLI "ablösen"*/
- /* = detach */
-
- sig1 = "Jan" /* Unterschrift */
-
- sig2 = " " /* Signature */
- sig3 = "2:2407/106.5@Fidonet, jan@digit.stgt.sub.org"
-
- /*----------------------------------------------------------------------
- HAUPTPROGRAMM: Adresse auslesen, Mail schreiben & schicken
- ----------------------------------------------------------------------*/
-
- OPTIONS RESULTS
-
- call addlib("rexxreqtools.library", 0, -30, 0)
-
- GETADDRESS ADM /* Hole Adresse */
-
- IF ADM.EMail2 ~= "" THEN DO /* Wenn EMail2 angegeben */
- SAY("1." ADM.EMAIL1)
- SAY("2." ADM.EMAIL2)
- SAY("Welche EMail-Adresse?") /* Wählen, welche ... */
- PULL num
- IF num=1 THEN txt = ADM.EMAIL1
- ELSE txt = ADM.EMAIL2
- END
- ELSE DO
- IF ADM.EMail1 = "" THEN DO /* Wenn auch nicht EMail1 */
- SAY("Keine EMail-Adresse vorhanden!") /* Fehler! */
- EXIT
- END
- ELSE txt = ADM.EMAIL1 /* Sonst EMAIL1 nehmen */
- END
-
- CALL SendMail
-
- EXIT /* Ende */
-
-
- /*----------------------------------------------------------------------
- UNTERPROGRAMM: EMail schreiben
- ----------------------------------------------------------------------*/
-
- SendMail:
- msg = FALSE
-
- IF txt ~= "" THEN DO /* Wenn überhaupt EMail-Text vorhanden */
-
- pos = POS("=",txt) /* Wenn mit ZER=, FIDO= oder UUCP= ein- */
- /* getragen... */
-
- IF pos > 0 THEN DO /* ... Netz herausfinden und von Adresse */
- net = STRIP(SUBSTR(txt,1,pos-1)) /* trennen */
- adr = STRIP(SUBSTR(txt,pos+1,LENGTH(txt)-pos))
- END
- ELSE DO /* andernfalls: Herausfinden, welches Netz */
- adr = ""
-
- pos = POS("@Fidonet",txt) /* Endung "@Fidonet"? */
- IF pos>0 THEN DO
- net = "FIDO"
- adr = STRIP(txt)
- END
-
- pos = POS(".ZER",txt) /* Endung ".ZER"? */
- IF pos=LENGTH(txt)-3 THEN DO
- net = "ZER"
- adr = STRIP(txt)
- END
-
- IF adr="" THEN DO /* Ansonsten UUCP */
- net = "UUCP"
- adr = STRIP(txt)
- END
-
- END
-
- IF net="FIDO" THEN DO /* FIDO: Realname vorhanden? */
- pos = POS(":",adr)
-
- /* wenn nicht -> aus ADM-Adresse */
- IF pos < 3 THEN DO
- name = ADM.firstName ADM.lastName
- IF POS("@Fidonet",adr) < 1 THEN adr = adr || "@Fidonet"
- END
- ELSE DO /* Sonst Namen herausschneiden */
- pos = POS("@",adr)
- name = STRIP(SUBSTR(adr,1,pos-1))
- adr = STRIP(SUBSTR(adr,pos+1,LENGTH(txt)-pos-1)) || "@Fidonet"
- END
-
- SAY "FIDONET: " name "--" adr
- msg = TRUE
- END
-
- IF net="ZER" THEN DO /* ZERBERUS: */
- pos = POS("@",adr)
- name = STRIP(SUBSTR(adr,1,pos-1)) /* NAME/ALIAS heraustrennen */
- SAY "ZERBERUS:" name "--" adr
- msg = TRUE
- END
-
- IF net="UUCP" THEN DO /* UUCP= angegeben? */
- name = STRIP(ADM.firstName ADM.lastName)
- SAY "USENET: " name "--" adr
- msg = TRUE
- END
-
- IF msg = FALSE THEN DO /* Ansonsten: Nachricht ist UUCP */
- name = STRIP(ADM.firstName ADM.lastName)
- /* adr = adr */
- END
-
-
- /* Message-Erzeugung:
-
- Das Script erstellt eine temporäre Datei, in der der Messagetext
- und für "sumswrite" nötige Schlüsselwörter enthalten sind.
- Diese wird dann ed(it)iert.
- Danach wird - nach einer Sicherheitsabfrage - "sumswrite" gestartet.
-
- */
-
-
- IF ~OPEN(datei,"ram:admtmpmsg","W") THEN DO /* Ausgabedatei öffnen */
- SAY "Kann Ausgabedatei nicht öffnen!"
- EXIT
- END
-
- ok = WRITELN(datei,"ToName" name)
- ok = WRITELN(datei,"ToAddr" adr)
- ok = WRITELN(datei,"Subject")
- ok = WRITELN(datei,"Group NetMail")
- ok = WRITELN(datei,"Organization ADM-Mail")
- ok = WRITELN(datei,"Attributes")
- ok = WRITELN(datei,"-------------------------------------------------------------")
- ok = WRITELN(datei,"Hallo" ADM.firstname || "!")
- ok = WRITELN(datei," ")
- ok = WRITELN(datei,"Bye,")
- ok = WRITELN(datei,sig1)
- ok = WRITELN(datei,sig2)
- ok = WRITELN(datei,sig3)
-
- ok = CLOSE(datei) /* Datei schließen */
-
- cmd = editor "ram:admtmpmsg"
- ADDRESS COMMAND cmd
-
- ans = rtezrequest("Nachricht senden?","_Senden|Abbru_ch","ADM-Rexxscript",,"rtez_defaultresponse=1")
-
- IF ans ~= 0 THEN DO
- cmd = "sumswrite jan jg <ram:admtmpmsg" /* SUMSWRITE starten */
- ADDRESS COMMAND cmd
- END
- ELSE ans = rtezrequest("Nachricht nicht gesendet.","_OK","ADM-Rexxscript",,)
- END
-
- RETURN
-
-