Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Mail-Verarbeitung: Parameterbereich MAILHANDLING

&pagelevel(4)&pagelevel

Im Parameterbereich MAILHANDLING legen Sie fest, wie mit der erhaltenen Mail verfahren werden soll.

Für jede Mail werden zwei Dateien angelegt:

  • Prozedur-Datei
    enthält die Anweisungen, die beim Erhalt einer Mail ausgeführt werden

  • Nachrichten-Datei
    enthält die erhaltene Nachricht

Entsprechend legen Sie mit dem Parametersatz PROCEDURE fest, wie die Prozedur-Datei aufgebaut ist. Mit dem Parametersatz MESSAGEBODY legen Sie fest, wie die Datei aufgebaut ist, die die eigentliche Nachricht enthält.


Syntax

MAILHANDLING = PARAMETERS ( ... )


PARAMETERS ( ... )



|

PREFIX=<string>



|

,ENTER= JOB / PROCEDURE



|

,DELETE= YES / NO



|

,PAMFILE= NO / YES



|

,SMIME=PARAMETERS( ... )



|


PARAMETERS( ... )



|



|

KEY=<private key file>



|



|

,CERTIFICATE=<certificate file>



|



|

,CRL=<CRL file>



|



|

,CA_CERTIFICATES=<CA certificates file>



|



|

,VERIFY_SIGNATURE= YES / NO



|



|

,VERIFY_DEPTH=<depth>



|

,BODY=PARAMETERS( ... )



|


PARAMETERS( ... )



|



|

PROCEDURE=PARAMETERS( ... )



|



|


PARAMETERS( ... )



|



|



|

SUFFIX=<string>



|



|



|

,TEXT=(<textlist>)



|



|



|

,ATTACHMENT=(<textlist>)



|



|

,MESSAGEBODY=PARAMETERS( ... )



|



|


PARAMETERS( ... )



|



|



|

TEXT=(<textlist>)



|

,ATTACHMENT=PARAMETERS( ... )



|


PARAMETERS( ... )



|



|

PROCEDURE=(<textlist>)



|



|

,MESSAGEBODY=(<textlist>)

Beschreibung der Operanden

PREFIX=<string>
Namens-Präfix für die erzeugten Dateien.
Die Dateinamen werden gemäß dem Schema PREFIX.JJJJ-MM-DD.HHMMSS[.#nnn] gebildet. Wenn innerhalb einer Sekunde mehrere Dateien erzeugt werden, so wird mit #nnn hochgezählt.
Voreinstellung: MAIL

ENTER=JOB / PROCEDURE
legt fest, ob die Prozedur-Datei mit /ENTER-JOB- oder mit /ENTER-PROCEDURE gestartet werden soll.

ENTER=JOB
startet die Enter-Prozedur mit /ENTER-JOB.

ENTER=PROCEDURE
startet die Enter-Prozedur mit /ENTER-PROCEDURE.

DELETE=YES / NO
gibt an, ob nach Ausführung der Enter-Prozedur die Prozedurdatei gelöscht werden soll.

DELETE=YES
Die Prozedurdatei wird nach Ausführung der Enter-Prozedur gelöscht.

DELETE=NO
Die Prozedurdatei wird nach Ausführung der Enter-Prozedur nicht gelöscht.

PAMFILE=NO / YES
gibt an, ob Base64 encodierte Anhänge mit Content-Type ungleich 'text' als PAM-Dateien gespeichert werden sollen.

PAMFILE=NO
Alle Anhänge werden als SAM-Dateien gespeichert.

PAMFILE=YES
Base64 encodierte Anhänge mit Content-Type ungleich 'text' werden als PAM-Dateien gespeichert.

SMIME=PARAMETERS( ... )
bestimmt die Behandlung von gemäß S/MIME-Standard signierten und/oder verschlüsselten Mails. Es wird nur S/MIME Version 2 unterstützt.

KEY=<private key file>
benennt die Datei, die den für die Entschlüsselung von verschlüsselten Mails notwendigen privaten Schlüssel enthält. Dieser private Schlüssel muss unbedingt geheim bleiben. Der Schlüssel muss im PEM-Format abgelegt sein.

CERTIFICATE=<certificate file>
benennt die Datei, die das zum privaten Schlüssel zugehörige X.509-Zertifikat enthält. Das Zertifikat muss im PEM-Format abgelegt sein.

CRL=<CRL file>
benennt die Datei, die eine Certificate Revocation List (CRL) enthält. Mit der CRL wird bei signierten Mails überprüft, ob die bei der Signatur verwendeten Zertifikate noch gültig sind. Hierfür sind in regelmäßigen Abständen (von typischerweise wenigen Wochen) die CRLs von den betroffenen CAs zu besorgen und in einer gemeinsamen Datei abzulegen, deren Name mit diesem Operanden spezifiziert wird. Rein technisch funktioniert die Verifizierung auch ohne Verwendung einer CRL. Wenn man aber nicht auf andere Weise sicherstellen kann, dass die verwendeten Zertifikate noch gültig sind, sollte man, wie eben beschrieben, eine CRL-Datei erzeugen und spezifizieren.

CA_CERTIFICATES=<CA certificates file>
benennt eine Datei, die die für die Verifizierung von S/MIME-Signaturen benötigten CA-Zertifikate enthält. Die X.509-Zertifikate müssen im PEM-Format abgelegt sein und sind sequenziell in der Datei angeordnet.

Zum Hinzufügen oder Löschen von Zertifikaten kann die Datei mit einem beliebigen Text-Editor bearbeitet werden. Die einzelnen Zertifikate sind wie folgt in der Datei notiert:


-----BEGIN CERTIFICATE----<
 CA-Zertifikat in Base64-Kodierung >
-----END CERTIFICATE-----


Text außerhalb dieser Sequenzen wird vom Mail-Reader ignoriert und kann deshalb zum Kennzeichnen der Zertifikate verwendet werden, die wegen der ASN.1/Base64-Codierung in nicht lesbarer Form vorliegen.

VERIFY_SIGNATURE=YES / NO
gibt an, ob eine evtl. vorhandene Signatur mithilfe der CA-Zertifikate und der CRL überprüft werden soll.

VERIFY_SIGNATURE=YES
Vorhandene Signatur wird überprüft.

VERIFY_SIGNATURE=NO
Vorhandene Signatur wird nicht überprüft.

VERIFY_DEPTH=<depth>
legt die so genannte Verifizierungstiefe fest, d.h. die Anzahl der maximal zulässigen Zertifikate zwischen dem Zertifikat des S/MIME-Signierers und dem Zertifikat, das dem Mail-Reader bekannt ist. Wird die maximale Verifizierungstiefe überschritten, wird die Verifizierung als fehlgeschlagen betrachtet.

Im Einzelnen ist zu beachten:


1

Signierer-Zertifikat wird nur akzeptiert, wenn es direkt von einer dem Mail-Reader bekannten Certificate Authority (CA) signiert worden ist.

0

Nicht sinnvoll, da in diesen Fällen nur selbstsignierte Zertifikate zulässig sind.

Voreinstellung: 9

BODY=PARAMETERS( ... )
Die folgenden Parameter bestimmen die Behandlung des Mail-Bodys.
Als Mail-Bodys werden alle Nachrichten-Teile behandelt, bei denen im Content-Type-Header der name-Parameter nicht versorgt ist.

PROCEDURE=PARAMETERS( ... )
bestimmt den Inhalt der zu erzeugenden Prozedur-Datei.

SUFFIX=<string>
legt das Suffix fest, der die Prozedur-Datei von der Nachrichten-Datei unterscheidet.

Standardeinstellung: PROC

TEXT=(<textlist>)
Der Operanden-Wert ist eine durch Kommas getrennte Liste von Texten, die jeweils in einfache Anführungszeichen eingeschlossen sind. Für jeden non-Multipart-Mail-Bestandteil und jeden Bestandteil einer Multipart-Mail, bei dem der name-Operand des Content-Type-Headers nicht versorgt ist, wird diese Textliste am Anfang der Prozedur-Datei eingefügt (jedes Element der Liste steht in einer eigenen Zeile). Dabei werden die im Abschnitt „Mail-spezifische Parameter substituieren“ "Mail-spezifische Parameter substituieren" definierten, in %-Zeichen eingeschlossenen Parameter substituiert. Insbesondere wird %FILE-NAME% durch den Namen der geschriebenen Nachrichten-Datei ersetzt. Als Voreinstellung ist diese Textliste leer.

ATTACHMENT=(<textlist>)
Der Operanden-Wert ist eine durch Kommas getrennte Liste von Texten, die jeweils in einfache Anführungszeichen eingeschlossen sind. Für jeden Teil einer Multipart-Mail, bei dem der name-Operand des Content-Type-Headers versorgt ist, wird diese Textliste in die Prozedur-Datei eingefügt (jedes Element der Liste steht in einer eigenen Zeile). Dabei werden die im Abschnitt „Mail-spezifische Parameter substituieren“ (Mail-spezifische Parameter substituieren) definierten, in %-Zeichen eingeschlossenen Parameter substituiert. Insbesondere wird %ATTACHMENT-FILE-NAME% durch den Namen der erzeugten Attachment-Nachrichten-Datei und %ATTACHMENT-PROCEDURE-NAME% durch den Namen der erzeugten Prozedur-Datei für das jeweilige Attachment ersetzt. Als Voreinstellung ist diese Textliste leer.

MESSAGEBODY=PARAMETERS(...)
bestimmt den Aufbau der Nachrichten-Datei.

TEXT=(<textlist>)
Der Operanden-Wert ist eine durch Kommas getrennte Liste von Texten, die jeweils in einfache Anführungszeichen eingeschlossen sind. Für einen non-Multipart-Mail-Bestandteil auf der obersten Ebene und für jeden Teil einer Multipart-Mail, bei dem der name-Operand des Content-Type-Headers nicht versorgt ist, wird diese Textliste in die Nachrichten-Datei eingefügt (jedes Element der Liste steht in einer eigenen Zeile). Dabei werden die im Abschnitt „Mail-spezifische Parameter substituieren“ (Mail-spezifische Parameter substituieren) definierten, in %-Zeichen eingeschlossenen Parameter substituiert. Insbesondere wird %TEXT% durch den Nachrichtentext substituiert. Als Voreinstellung ist diese Textliste leer.

ATTACHMENT=PARAMETERS(...)
bestimmt den Aufbau der für jedes Attachment zu generierenden Prozedur-Datei und Nachrichten-Datei.
Der Name der Dateien wird derart generiert, dass an den Namen des Mail-Bodys der Wert des name-Parameters aus dem Content-Type-Header-Feld angehängt wird. Für die Attachment-Prozedur-Datei wird noch zusätzlich das Suffix angehängt (siehe Operand SUFFIX).

PROCEDURE=(<textlist>)
bestimmt den Aufbau der für jedes Attachment zu generierenden Prozedur-Datei.
Der Operanden-Wert ist eine durch Kommas getrennte Liste von Texten, die jeweils in einfache Anführungszeichen eingeschlossen sind. Diese Textliste wird in die Prozedur-Datei eingefügt, wobei jedes Element der Liste in einer eigenen Zeile steht. Dabei werden die im Abschnitt „Mail-spezifische Parameter substituieren“ definierten, in %-Zeichen eingeschlossenen Parameter substituiert. Als Voreinstellung ist diese Text-Liste leer.

MESSAGEBODY=(<textlist>)
bestimmt den Aufbau der für jedes Attachment zu generierenden Nachrichten-Datei.
Der Operanden-Wert ist eine durch Kommas getrennte Liste von Texten, die jeweils in einfache Anführungszeichen eingeschlossen sind. Diese Textliste wird in die Nachrichten-Datei eingefügt, wobei jedes Element der Liste in einer eigenen Zeile steht. Dabei werden die im Abschnitt „Mail-spezifische Parameter substituieren“ definierten, in %-Zeichen eingeschlossenen Parameter substituiert. Insbesondere wird %TEXT% durch den Nachrichtentext und %HEADER% durch die Header-Zeilen substituiert. Als Voreinstellung ist diese Textliste leer.

Beispiel

Das folgende Beispiel stellt den Parameterbereich MAILHANDLING der Konfigurationsdatei dar.

MAILHANDLING=PARAMETERS(
   ENTER=PROCEDURE,
   BODY=PARAMETERS(
       PROCEDURE=PARAMETERS(
          TEXT=(
             '/WRITE-TEXT ''To: %To%''',
             '/WRITE-TEXT ''Subject: %SUBJECT%''',
             '/INCLUDE-PROCEDURE MAILPROC(FILENAME=%FILE-NAME%)'
          ),
          ATTACHMENT=(
             '/REMARK ****************************',
             '/REMARK * Now we call the procedure ',
             '/REMARK * handling the attachment   ',
             '/REMARK ****************************',
             '/INCLUDE-PROCEDURE %ATTACHMENT-PROCEDURE-NAME%,(-',
             '/                    CONTENTTYPE=''%CONTENT-TYPE%'')'
          )
       )
   ),
   ATTACHMENT=PARAMETERS(
       PROCEDURE=(
          '/BEG-PAR-DECL',
          '/DECLARE-PARAMETER CONTENTTYPE',
          '/END-PAR-DECL',
          '/CALL-PROCEDURE ATTPROC,(CT=''&(CONTENTTYPE)'')'
       )
   )
)

Wenn Sie das oben dargestellte Beispiel verwenden, um eine Mail mit Attachment zu empfangen, erzeugt der Mail-Reader folgende Prozedur-Datei:

  • MAIL.2010-06-27.134758.PROC nach folgendem Muster, um die Nachricht zu verarbeiten:

    /WRITE-TEXT 'To: mail01@system'
    /WRITE-TEXT 'Subject: This is a funny test'
    /INCLUDE-PROCEDURE MAILPROC,(FILENAME=MAIL.2010-06-27.134758)
    /REMARK ****************************
    /REMARK * Now we call the procedure
    /REMARK * handling the attachment
    /REMARK ****************************
    /INCLUDE-PROCEDURE MAIL.2010-06-27.134758.testtxt.PROC,(-
    /                    CONTENTTYPE='text/plain; name="test.txt"')
    
  • MAIL.2010-06-27.134758.TESTTXT.PROC nach folgendem Muster, um den Anhang zu verarbeiten:

    /BEG-PAR-DECL
    /DECLARE-PARAMETER CONTENTTYPE
    /END-PAR-DECL
    /CALL-PROCEDURE ATTPROC,(CT='&(CONTENTTYPE)')
    

Um die Nachricht zu verarbeiten, ruft die mit dem Kommando ENTER-PROCEDURE gestartete Prozedur MAIL.2010-06-27.134758.PROC die anderweitig definierte Prozedur MAILPROC mit dem Namen der Nachrichten-Datei als Parameter auf. Um den Anhang zu verarbeiten, wird anschließend die Prozedur MAIL.2010-06-27.134758.TESTTXT.PROC aufgerufen, die wiederum die anderweitig definierte Prozedur ATTPROC mit dem Content-Type-Header des Attachments als Parameter aufruft. Weitere Beispiele finden Sie in Abschnitt „Mails mit BS2000-Prozeduren verarbeiten“.