Für die diversen EMails, die der GeoShop versendet, können EMail Templates erstellt werden. Diese EMail Templates können Variablen enthalten, die während Anwendung mit den effektiven Werten ersetzt werden.
Die EMail Templates werden pro Sprache wie folgt abgelegt:
GEOSHOP_DIR\user\template\<language>\*.*
Als <language> werden die ISO Codes
   de,en,it,fr verwendet.
Als Files für die EMail Templates können Textfiles oder HTML Files verwendet werden.
Textfiles dürfen keine Extension aufweisen.
HMTL Files müssen die Extension html
   aufweisen.
EMail Templates sind folgende.
| EMail Template | Beschreibung | 
confirm_email | EMail zur Bestätigung Bestellung. | 
deliver_email | EMail zur Lieferung Bestellung. | 
upload_error | EMail zur Meldung Upload Daten mit Fehler. | 
confirm_email | EMail zur Meldung Upload Daten erfolgreich. | 
Beispiel eines EMailTemplates confirm_email als
   Textfile.
Sehr geehrter GeoShop Kunde Danke fuer Ihre Bestellung. Ihre Bestellung wurde wie folgt registriert: Bestellungsnummer: %orderno% Produkt: %product% Ebenen: %topics% Bereich: %OPT.selection_image% Lieferart: %shipping% Sobald die bestellten Daten zum Download bereit sind, werden Sie ueber eine zweite E-Mail benachrichtigt. Mit freundlichen Gruessen infoGrips GmbH E-Mail : info@infogrips.ch Telefon: 01 350 10 10
Templates in HTML werden am besten mit einem HTML Editor erstellt.
Variable in den Templates werden mit dem Prozentzeichen umfasst.
Je nach Prozessart Upload oder Downlaod und Prozesszustand stehen diverse Variablen zur Verfügung. Im Ablauf des Prozesses können zum Teil auch zusätzliche Variablen definiert werden, zum Beispiel in der Preisberechnung.
Der GeoShop und die Konfigurationen senden diverse Mails bei Uploads, Downloads, Checks etc. Die Mails beinhalten Standard-Betreffs und -Inhalte. Alle Mails können über eine zentrale Konfiguration bei Bedarf bearbeitet werden, bevor diese endgültig versendet werden. Angepasst werden können Betreff, Inhalt, Empfänger, Absender, Anhänge etc.
Dieses Kapitel beschreibt wie die Mail-Konfiguration aufgerufen werden kann und wie der Input und Output aussieht.
GEOSHOP_DIR\user\options\appserver.opt
MAP
   AppServer MAP
      :
      SEND_EMAIL_SCRIPT STRING \script\email\email.cfg
      DEBUG_EMAIL STRING OFF
      :
   }
   :
SEND_EMAIL_SCRIPTDefiniert das Skript, dass die Mails bearbeiten kann.
DEBUG_EMAILMit den Werten ON|OFF definiert den
               Debug-Modus für den Skript. Mit dem Debug-Modus
               ONwerden die Anteile Log, Input und Output
               im Verzeichnis geoshop\data\temp
               abgelegt.
Das Skript erhält in der Option OPT.input ein File, das die
      Parameter des Mails beinhaltet. Die OPT.input Datei
      ist im Serial-Format und kann mit der Methode
      SERIAL.LOAD_OBJECT geladen werden.
OPT.input
      Input-Parameter:
| Parameter | req/opt | Beschreibung | 
dest | r | STRING Mail Zieldresse. | 
subject | r | STRING Betreff der Mail. | 
content | r | STRING Inhalt der Mail in einer
                  Datei abgelegt. | 
cc | o | STRING kommaseparierte Liste von
                  cc-Mailadressen. | 
attach | o | LIST mit
                  STRINGS's Liste mit
                  Mail-Anhängen. | 
job | o | STRING Job-Nummer eines
                  eventuelles Upload- oder Download Prozesses. Über die
                  Job-Nummer können bei Bedarf weitere Optionen des Prozesses
                  gelesen werden aus
                  geoshop\data\temp\<job>\ics.opt
                  . | 
Beispiel:
 MAP
    dest STRING info@infogrips.ch
    subject STRING 'dies ist ein Test'
    content STRING c:\geoshop\data\temp\3456\email.txt
    attach LIST
       STRING c:\geoshop\data\temp\3456\email.zip
    }
    job STRING 3456
 } Der Skript erhält in der Option OPT.output eine Datei, in die
      veränderte Parameter der Mail geschrieben werden können. Die Datei ist
      im Serial-Format und kann mit der Methode
      SERIAL.WRITE_OBJECT geschrieben werden. Die
      Output-Datei ist optional. Wird die Output-Datei nicht geschrieben,
      entspricht die Mail dem Input.
OPT.output
      Output-Parameter:
| Parameter | req/opt | Beschreibung | 
dest | r | STRING Mail Zieladresse. | 
subject | r | STRING Betreff der Mail. | 
content | r | STRING Inhalt der Mail in einer
                  Datei abgelegt. | 
cc | o | STRING kommaseparierte Liste von
                  cc-Mailadressen. | 
attach | o | LIST mit
                  STRING's Liste mit Mail-Anhängen. | 
abort_email | o | STRING Ist dieser Parameter
                  gesetzt, wird die Mail nicht gesendet. | 
Beispiel:
 MAP
    dest STRING info@infogrips.ch
    subject STRING 'Updated: dies ist ein Test'
    content STRING c:\geoshop\data\temp\3456\email.txt
    attach LIST
       STRING c:\geoshop\data\temp\3456\email.zip
    }
 } Soll eine Mail verändert werden, so liest man am einfachesten die
      Datei OPT.input in eine Map, verändert die Parameter
      in der Map und schreibt die Map in die Datei
      OPT.output.
Beispiel
      geoshop\user\script\email\email.cfg:
! mail input get
!---------------
IF OPT.input SERIAL.LOAD_OBJECT NOT THEN
   'input not there: ' . OPT.input  
   EXIT
END_IF
=> VAR.MAIL_MAP
! job service read 
!----------------
'' => VAR.SERVICE
IF 'VAR.MAIL_MAP.job' EXISTS THEN 
   OPT.data_dir . '\temp\' . VAR.MAIL_MAP.job . '\ics.opt' => VAR.OPT_FILE
   IF VAR.OPT_FILE TEXTFILE.OPEN THEN
       => VAR.FID
       WHILE VAR.FID TEXTFILE.READLN DO
           EXTRL
           => VAR.NAME
           => VAR.VALUE
           IF VAR.NAME = 'service' THEN
              VAR.VALUE => VAR.SERVICE
              BREAK
           END_IF
       END_WHILE 
       VAR.FID TEXTFILE.CLOSE
   END_IF
END_IF
! subject change
!---------------
'my edited subject from service ' . VAR.SERVICE => VAR.MAIL_MAP.subject
IF  OPT.output &VAR.MAIL_MAP SERIAL.SAVE_OBJECT NOT THEN
   'output can not be written: ' . OPT.output  
    EXIT
END_IF