Mit diesem Makro können Sie E-Mails versenden.
Entry-Namen oder SVC-Nummer(n)
SVC 20 (dezimal)
UNIT=940, FUNCTION=20, VERSION=1 | 2 | 3
Makroaufruf-Format und Operandenbeschreibung
YMLSML |
FL= *TU / *TPR ,VERSION= 1 / 2 / 3 ,XPAND= PARAM / GENERAL / ADD_HEADER / DATA_SPEC / CHARSET / ENCODING / CONT_DISP / MSG_ATT ,MAILP= <var: pointer> ,MAILPL= <integer: 1..32767> / <var: int:4> ,OPTFILE= *NONE / <var: char:54> ,ENCRYPT= *NO / *YES / *OPTFILE ,SIGN= *NO / *YES / *OPTFILE ,SECPROT= *SMIME ,CIPHER= *3DES / *AES-128 / *AES-192 / *AES-256 / *OPTFILE ,WAIT= *NO-DISCARD / *NO / *YES ,WAITTIM= *UNLIM / <integer: 1..65535> / <var: int:4> |
FL=
Funktionsbereich
*TU
SVC-Schnittstelle wird generiert.
*TPR
CALL-Schnittstelle wird generiert.
VERSION=
Wählt die Schnittstellenversion aus.
1
Es wird die originale Schnittstellenversion ausgewählt.
Dies ist die Voreinstellung.
2
Es wird die neue Schnittstellenversion ausgewählt, die den Operanden WAITTIM und zusätzliche Returncodes anbietet.
3
Es wird die neueste Schnittstellenversion ausgewählt, die in der DATA_SPEC-Datenstruktur die Angabe von Optionen zum Sperren und Löschen einer Datei erlaubt. Im Rahmen dessen gibt es auch einen zusätzlichen Returncode.
XPAND=
Diese Parameter steuern die Expansion der Datenstrukturen, die die Parameterliste des Makros und das Layout der E-Mail-Parameter beschreiben. Diese Datenstrukturen werden durch den YMLSML-Parameter MAILP referenziert. Eine Beschreibung der Datenstrukturen finden Sie ab "YMLSML - Mail senden".
PARAM
Makro-Parameterliste wird generiert.
GENERAL
Daten-Layout für die allgemeinen E-Mail-Parameter wird generiert.
ADD_HEADER
Daten-Layout für die zusätzlichen Header-Zeilen wird generiert.
DATA_SPEC
Daten-Layout für die Spezifikation der E-Mail-Daten wird generiert.
CHARSET
Daten-Layout für die Spezifikation des Zeichensatzes wird generiert.
ENCODING
Daten-Layout für die Spezifikation der Kodierung wird generiert.
CONT_DISP
Daten-Layout für die Spezifikation der inhaltlichen Gliederung wird generiert.
MSG_ATT
Daten-Layout für die Klammerung von Nachrichten/Anhängen wird generiert.
MAILP=
Parameterbereich zur Beschreibung der E-Mail. Dieser Parameter ist obligatorisch.
IDENTIFIER
Variable, in der die Adresse des Parameterbereichs gespeichert ist, oder Register, das die Adresse des Parameterbereichs enthält.
MAILPL=
Länge des Parameterbereichs zur E-Mail-Beschreibung. Dieser Parameter ist obligatorisch.
INTEGER 1, 32767
Länge des Parameterbereichs.
IDENTIFIER
Variable, in der die Länge des Parameterbereichs gespeichert ist, oder Register, das die Länge des Parameterbereichs enthält.
OPTFILE=
Name der Benutzer-Optionsdatei (siehe "Konfigurationsdatei für das Mail-Sender Frontend (Benutzer-Optionsdatei)"). Die Optionen dieser Datei können durch einige Makro-Parameter überschrieben oder ergänzt werden.
*NONE
Keine Datei definiert.
IDENTIFIER
Variable, in der der Name der Optionsdatei gespeichert ist, oder Register, das die Adresse des Namens der Optionsdatei enthält.
ENCRYPT=
Legt fest, ob der Anwender die zu sendende Nachricht verschlüsseln möchte.
*NO
E-Mail wird nicht verschlüsselt.
*YES
E-Mail wird verschlüsselt.
*OPTFILE
Die Angabe aus der Benutzer-Optionsdatei (siehe "Konfigurationsdatei für das Mail-Sender Frontend (Benutzer-Optionsdatei)") wird übernommen.
SIGN=
Dieser Parameter legt fest, ob der Aufrufer die zu sendende Nachricht signieren möchte.
*NO
E-Mail wird nicht signiert.
*YES
E-Mail wird signiert.
*OPTFILE
Die Angabe aus der Benutzer-Optionsdatei (siehe "Konfigurationsdatei für das Mail-Sender Frontend (Benutzer-Optionsdatei)") wird übernommen.
SECPORT=
Dieser Parameter legt das Verfahren zur Verschlüsselung/Signierung fest.
Derzeit wird nur das Verfahren S/MIME unterstützt.
*SMIME
S/MIME wird verwendet.
CIPHER=
Symmetrischer Verschlüsselungs-Code.
*3DES
Triple DES mit 112 Bit effektiver Schlüsselläng.
*AES-128
AES mit 128 Bit Schlüssellänge.
*AES-192
AES mit 192 Bit Schlüssellänge.
*AES-256
AES mit 256 Bit Schlüssellänge.
*OPTFILE
Die Angabe aus der Benutzer-Optionsdatei (siehe "Konfigurationsdatei für das Mail-Sender Frontend (Benutzer-Optionsdatei)") wird übernommen.
WAIT=
Legt fest, ob der Aufrufer die vollständige Erledigung des E-Mail-Sende-Auftrags durch das Mail-Sender-Backend abwarten will.
*NO-DISCARD
Nicht warten und ASTI anweisen, den Ergebnis-Status des Backends der E-Mail-Sendung zu verwerfen.
*NO
Nicht warten, aber ASTI anweisen, den Ergebnis-Status des Backends der E-Mail-Sendung zu speichern.
*YES
Warten, bis das Mail-Sender-Backend die vollständige Erledigung des Sende-Auftrags oder einen Fehler beim Versenden der E-Mail meldet.
WAITTIM=
Mit diesem Operanden kann die Wartezeit bei WAIT=*YES begrenzt werden. Der Operand ist nur mit VERSION>=2 verfügbar. Wenn die maximale Wartezeit abgelaufen ist, wird der Aufruf mit einem entsprechenden Return-Code beendet.
*UNLIM
Unbegrenzte Wartezeit. Mit diesem Operandenwert ist das Verhalten wie bisher.
INTEGER 1,65535
Maximale Wartezeit in Sekunden.
IDENTIFIER
Variable, in der die Wartezeit gespeichert ist oder Register, das die Wartezeit enthält (jeweils in Sekunden).
Returncode
SRC2 | SRC1 | MRC | MRC-Name | Bedeutung |
|
|
|
| Es wurde kein Fehler festgestellt. |
|
|
|
| Parameterfehler. |
|
|
|
| Interner Fehler. |
|
|
|
| Syntax-Fehler im E-Mail-Parameter. |
|
|
|
| Optionsdatei nicht verfügbar. |
|
|
|
| Nachricht oder Anhang nicht verfügbar. |
|
|
|
| Datei für SMIME nicht verfügbar. |
|
|
|
| E-Mail-Parameter zu groß. |
|
|
|
| Backend-Fehler. |
|
|
|
| Maximale Anzahl an Aufträgen überschritten. |
|
|
|
| Mail-Client-Service nicht verfügbar. |
|
|
|
| E-Mail-Parameter-Adresse ungültig. |
|
|
|
| Ressourcen sind erschöpft. |
|
|
|
| Subsystem ASTI nicht verfügbar. |
|
|
|
| Keine FROM-Adresse angegeben. |
|
|
|
| Unerwarteter ASTI-Fehler. |
00 | 80 | 0010 | YMLSTIME | Maximale Wartezeit erreicht. |
00 | 40 | 0011 | YMLSFLME | Unerwarterter File-Lock-Manager-Fehler. |
SRC1/2=Sub Returncode 1/2 in Sedezimal-Darstellung;
MRC=Main Returncode in Sedezimal-Darstellung
Makroaufruf-Parameter
Die Datenstruktur für die Makroaufruf-Parameter von YMLSML ist wie folgt aufgebaut:
VERSION=1
Distanz | Identifier | Wert | Bedeutung |
| Parameter Area | ||
000 |
| Function-Header | |
008 |
| Eingabeparameter | |
008 |
| Adresse des E-Mail-Parameterbereichs | |
00C |
| Länge des E-Mail-Parameterbereichs | |
010 |
| Auf Ende des E-Mail-Sende-Auftrags warten? | |
|
| Ja | |
|
| Nein; ASTI verwirft Ausführungsstatus des Auftrags. | |
|
| Nein; ASTI verwirft Ausführungsstatus des Auftrags nicht. | |
011 |
| Protokoll für Verschlüsselung und Signierung | |
|
| S/MIME | |
012 |
| Verschlüsselung? | |
|
| Ja | |
|
| Nein | |
| 3 | Wert aus Benutzer-Optionsdatei | |
013 |
| Signierung? | |
|
| Ja | |
|
| Nein | |
| 3 | Wert aus Benutzer-Optionsdatei | |
014 |
| Verschlüsselungsalgorithmus: | |
|
| 3DES | |
|
| AES-128 | |
|
| AES-192 | |
|
| AES-256 | |
| 127 | Wert aus Benutzer-Optionsdatei | |
015 |
| Name der Benutzer-Optionsdatei | |
04B |
| Reservierter Bereich | |
04C |
| Ausgabeparameter | |
04C |
| Auftrags-ID zur Referenzierung des E-Mail-Sende-Auftrags, falls der Aufrufer nicht auf die vollständige Übertragung wartet. | |
05C |
| Return-Code vom Back-End | |
| 00 | Ok | |
| 01 | Parameter-Fehler | |
| 02 | Ressourcen sind erschöpft | |
| 03 | SMTP-Fehler | |
| 04 | S/MIME-Fehler | |
| 0A | Interner Fehler | |
060 |
| Enthält ggf. entsprechende Fehlermeldungen in Textformat, z.B. SMTP-Fehler-Meldungen des SMTP-Servers. | |
100 |
| Wenn der YMLSML-Aufruf mit dem Return-Code YMLSASTI zurückgewiesen wird, enthält dieses Feld den ASTI-Return-Code. |
VERSION>=2:
Distanz | Identifier | Wert | Bedeutung |
| Parameter Area | ||
000 |
| Function-Header | |
008 |
| Eingabeparameter | |
008 |
| Adresse des E-Mail-Parameterbereichs | |
00C |
| Länge des E-Mail-Parameterbereichs | |
010 |
| Maximale Wartezeit | |
014 |
| Auf Ende des E-Mail-Sende-Auftrags warten? | |
|
| Ja | |
|
| Nein; ASTI verwirft Ausführungsstatus des Auftrags. | |
|
| Nein; ASTI verwirft Ausführungsstatus des Auftrags nicht. | |
015 |
| Protokoll für Verschlüsselung und Signierung | |
|
| S/MIME | |
016 |
| Verschlüsselung? | |
|
| Ja | |
|
| Nein | |
| 3 | Wert aus Benutzer-Optionsdatei | |
017 |
| Signierung? | |
|
| Ja | |
|
| Nein | |
| 3 | Wert aus Benutzer-Optionsdatei | |
018 |
| Verschlüsselungsalgorithmus: | |
|
| 3DES | |
|
| AES-128 | |
|
| AES-192 | |
|
| AES-256 | |
| 127 | Wert aus Benutzer-Optionsdatei | |
019 |
| Name der Benutzer-Optionsdatei | |
04F |
| Reservierter Bereich | |
050 |
| Ausgabeparameter | |
050 |
| Auftrags-ID zur Referenzierung des E-Mail-Sende-Auftrags, falls der Aufrufer nicht auf die vollständige Übertragung wartet. | |
060 |
| Return-Code vom Back-End | |
| 00 | Ok | |
| 01 | Parameter-Fehler | |
| 02 | Ressourcen sind erschöpft | |
| 03 | Allgemeiner SMTP-Fehler | |
| 04 | S/MIME-Fehler | |
| 05 | Fehler bei SMTP MAIL-Kommando | |
| 06 | Fehler bei SMTP RCPT-Kommando | |
| 07 | Fehler bei SMTP DATA-Kommando | |
| 08 | Fehler bei Zugriff auf Benutzer-Optionsdatei | |
| 09 | Mail zu groß | |
| 0A | Interner Fehler | |
064 |
| Enthält ggf. ergänzende Fehlermeldungen in Textformat, z.B. SMTP-Fehler-Meldungen des SMTP-Servers. | |
104 |
| Wenn der YMLSML-Aufruf mit dem Return-Code YMLSASTI zurückgewiesen wird, enthält dieses Feld den ASTI-Return-Code. | |
108 |
| Meldungs-ID | |
10F |
| Reservierter Bereich |
Ergänzende Erläuterungen zu den Ausgabeparametern:
YMLSRETC
Einige Fehler-Situationen, bei denen in VERSION=1 ein Sammel-Return-Code geliefert wird, werden bei VERSION>=2 durch spezifische Return-Codes abgedeckt, um schneller die eigentliche Fehler-Ursache feststellen zu können. So ist der Return-Code YMLSBMM ein starker Hinweis darauf, dass ein Fehler in der Absender-Adresse vorliegt. Entsprechend weist der Return-Code YMLSBMR auf einen Fehler in mindestens einer der Empfänger-Adressen hin. Ein YMLSBMD kann z.B. auftreten, wenn der SMTP-Server die Verletzung bestimmter Regeln erst nach dem DATA-Kommando prüft, die Ursache der Regel-Verletzung kann mit den angegebenen Adressen zusammenhängen. In jedem Fall sollte das Feld YMLSRETM weitere (Text-)Information zur Fehlerursache geben.
YMLSRETM
Wenn der verwendete SMTP-Server den RFC 2034 unterstützt, dann enthält dieses Feld eine maschineninterpretierbare Fehleranzeige, die i.A. spezifischer ist als die SMTP-bezogenen Return-Codes des YMLSRETC-Feldes.
YMLSMID
Dieses Feld enthält einen YML-Meldungsschlüssel für eine Meldung, die den aufgetretenen Fehler beschreibt. Das ist normalerweise die gleiche Meldung, die ein vergleichbarer SEND-MAIL-Kommandoaufruf liefern würde.
Auflistung der Expansion der Datenstruktur für die Makroaufruf-Parameter
Expansion:
XPAND= PARAM
YMLSML MF=D,XPAND=PARAM
1 MFTST MF=D,PREFIX=Y,MACID=MLS,ALIGN=F,
1 DMACID=MLS,SUPPORT=(E,D,C,M,L),DNAME=MLSPARL
000000 2 YMLSPARL DSECT ,
1 * Parameter area
1 YMLSHDR FHDR MF=(C,YMLS),EQUATES=NO FHDR
1 * main return codes
00000000 1 YMLSSUCC EQU 0 No error detected
00000001 1 YMLSPARE EQU 1 Parameter error
00000002 1 YMLSINTE EQU 2 Internal error
00000003 1 YMLSMSYN EQU 3 Syntax error
00000004 1 YMLSOFNA EQU 4 Option file not
accessible
00000005 1 YMLSMFNA EQU 5 Message or attachment
file
1 * not accessible
00000006 1 YMLSSFNA EQU 6 SMIME related file not
1 * accessible
00000007 1 YMLSPTBG EQU 7 Mail parameter too big
00000008 1 YMLSBACK EQU 8 Back-end error
00000009 1 YMLSMORD EQU 9 Max number of orders
exceeded
0000000A 1 YMLSSNAV EQU 10 Mailclient Service not
1 * available
0000000B 1 YMLSAINV EQU 11 Mailpar address invalid
0000000C 1 YMLSRSRC EQU 12 Resource saturation
0000000D 1 YMLSANAV EQU 13 Subsystem ASTI not
available
0000000E 1 YMLSNFRA EQU 14 No FROM address specified
0000000F 1 YMLSASTI EQU 15 Unexpected ASTI error
1 *
1 *
000008 1 YMLSIND DS 0XL68 Input parameters
000008 1 YMLSMPAR DS A Mail parameter area
00000C 1 YMLSMPRL DS F Mail parameter area
length
000010 1 YMLSWAIT DS FL1 wait
1 * Wait operand values
00000001 1 YMLSWYES EQU 1 YES
00000002 1 YMLSWNO EQU 2 NO-DISCARD
00000003 1 YMLSWRES EQU 3 NO
1 *
000011 1 YMLSSPRO DS FL1 Protocol for encryption
and
1 * signing
1 * Mail encryption/signing protocol
00000001 1 YMLSSMIM EQU 1 SMIME
1 *
000012 1 YMLSENC DS FL1 Encryption
1 * General yes or no selection
00000001 1 YMLSGYES EQU 1 YES
00000002 1 YMLSGNO EQU 2 NO
00000003 1 YMLSGOPT EQU 3 OPTFILE
1 *
000013 1 YMLSSIGN DS FL1 Signing
000014 1 YMLSCPHR DS FL1 Cipher
1 * Cipher operand values
00000005 1 YMLS3DES EQU 5 3DES
00000006 1 YMLSAES8 EQU 6 AES-128
00000007 1 YMLSAES2 EQU 7 AES-192
00000008 1 YMLSAES6 EQU 8 AES-256
0000007F 1 YMLSFOPT EQU 127 OPTFILE
1 *
000015 1 YMLSOPTF DS CL54 Option file
00004B 1 YMLSRSV1 DS CL1 Reserved
1 *
1 *
00004C 1 YMLSOUTD DS 0XL184 Output parameters
00004C 1 YMLSOID DS CL16 Order Id
00005C 1 YMLSRETC DS F Return code
1 * rc
00000000 1 YMLSBOK EQU 0 OK
00000001 1 YMLSBPER EQU 1 Parameter error
00000002 1 YMLSBRSC EQU 2 Resource saturation
00000003 1 YMLSBSMT EQU 3 SMTP error
00000004 1 YMLSBSMI EQU 4 SMIME error
0000000A 1 YMLSBINT EQU 10 Internal error
1 *
000060 1 YMLSRETM DS CL160 Return message
000100 1 YMLSARET DS F Return code from ASTI
1 *
00000104 1 YMLS# EQU *-YMLSHDR
E-Mail-Parameter
Eine E-Mail besteht aus vielen, zum Teil optionalen Bestandteilen, deren Länge meist variabel ist. Deshalb werden für die Spezifikation der E-Mail-Parameter geordnete Datenstrukturen verwendet, die auf Tupeln der Form (Typ, Länge, Wert) basieren.
Der Typ der einzelnen Parameter ist ein 2 Byte langes Integer-Feld. Das Feld enthält einen der Werte, die in der nachfolgenden Aufzählung aufgelistet sind.
Wertname | Tag # | Bedeutung |
|
| Envelope Sender-Adresse (wird auch in die FROM Header-Zeile gesetzt, wenn YMLSFFRM nicht angegeben ist). |
|
| Absender-Adresse in der FROM Header-Zeile. |
|
| Liste von Envelope Empfänger-Adressen, mit Komma getrennt (wird auch in die TO Header-Zeile gesetzt, wenn YMLSFTO nicht angegeben ist). |
|
| Liste von Empfänger-Adressen, mit Komma getrennt, wird in die To Header-Zeile gesetzt. |
|
| Liste von Envelope Empfänger-Adressen, mit Komma getrennt (wird auch in die CC Header-Zeile gesetzt, wenn YMLSFCC nicht angegeben ist). |
|
| Liste von Empfänger-Adressen, mit Komma getrennt, wird in die Cc Header-Zeile gesetzt. |
|
| Liste von Envelope Empfänger-Adressen, mit Komma getrennt. |
|
| Adresse in der REPLY-TO Header-Zeile. |
|
| Text für die SUBJECT Header-Zeile. |
|
| Zusätzliche Header-Zeilen, in denen der Aufrufer den Feld-Namen selbst bestimmen kann. |
|
| Anfang der Definition des Nachrichten-Textes |
|
| Ende der Definition des Nachrichten-Textes |
|
| Anfang der Anhang-Definition |
|
| Ende der Anhang-Definition |
|
| Daten-Definition für Nachricht/Anhang |
|
| Zeichensatz-Definition für Header/Nachricht/Anhang |
|
| Transfer-Codierung von Nachricht/Anhang |
|
| Inhaltstyp von Nachricht/Anhang |
|
| Präsentationshinweis für Nachricht/Anhang |
|
| Key-Datei (siehe Benutzer-Optionsdatei „privateKeyFile“) |
|
| Datei, die ein X.509-Zertifikat zum Signieren von E-Mails mit S/MIME enthält (siehe Benutzer-Option „signerCertificateFile“). |
|
| Datei, die zusätzliche X.509-Zertifikate zum Signieren von E-Mails mit S/MIME enthält (siehe Benutzer-Option „addSignerCertificatesFile“). |
|
| Datei, die X.509-Zertifikate zur Verschlüsselung von E-Mails mit S/MIME enthält (siehe Benutzer-Option „recipientCertificatesFile“). |
|
| Datei, die Widerruf-Listen (CRL) für X.509-Zertifikate enthält (siehe Benutzer-Option „certificateRevocationListFile“). |
Hinweise zur Definition des Eingabebereichs für die E-Mail-Parameter
Wenn einer der Parameter YMLSKEYF, YMLSSGNF, YMLSASCF oder YMLSCRLF spezifiziert ist, wird die entsprechende Option der Benutzer-Optionsdatei ignoriert. Durch Angabe des Wertes
*NONEwird diese Option deaktiviert. Dies ist z.B. der Fall, wenn ein X.509-Zertifikat zur Signierung von E-Mails mit S/MIME verwendet (YMLSSGNF) wird, das sich von dem in der Optionsdatei spezifizierten X.509-Zertifikat unterscheidet, und für das im Gegensatz zum X.509-Zertifikat in der Optionsdatei keine zusätzlichen X.509-Zertifikate notwendig sind (YMLSASCF:*NONE).Wenn der Parameter YMLSRCTF angegeben ist, wird die dort spezifizierte Datei in der Suchreihenfolge vor die Dateien gestellt, die in der recipientCertificatesFile-Option angegeben sind.
Die gegenwärtige Implementierung beschränkt die Größe der E-Mail-Parameter auf 63 kB. Vermutlich wird diese Grenze nur dann erreicht, wenn der Text der E-Mail oder Daten in den Anhängen direkt in den Parameterbereich der E-Mail eingefügt werden. Tritt dieser Fehler auf, dann schreiben Sie den E-Mail-Text in eine (temporäre) Datei und geben Sie im Parameterbereich stattdessen nur den Dateinamen an.
- Die reservierten Header-Bereiche müssen mit binären Nullen initialisiert werden.
Die Daten mit variabler Länge beginnen direkt nach dem zugehörigen Header. Die Header müssen auf volle Wortlänge ausgerichtet sein. Daher müssen Sie Füll-Bytes einfügen, wenn der variable Teil eine Anzahl Bytes enthält, die kein Vielfaches von 4 ist.
Der Feldname des E-Mail-Headers muss in der Datenstruktur für zusätzliche Header ohne den darauffolgenden Doppelpunkt eingegeben werden.
Sofern nicht anders vermerkt, ist die Reihenfolge der Datenstrukturen ohne Bedeutung.
Die Definition des E-Mail-Textes oder eines Anhangs muss mit zwei YMLSATT -Datenstrukturen geklammert sein, bei denen das Tag-Feld mit YMLSMBEG/YMLSMEND (Mail) bzw. YMLSABEG/YMLSAEND versehen ist.
Die Definition des E-Mail-Textes oder eines Anhangs kann Datenstrukturen mit den folgenden Tags enthalten:
YMLSDSPC, YMLSCHST, YMLSTRCD, YMLSTCTDLiegt eine YMLSCSET -Datenstruktur (mit YMLSCHST-Tag) außerhalb einer YMLSATT -Datenstruktur, dann wird sie auf die nachfolgenden Header-Zeilen (siehe RFC 2047) angewendet (gegebenenfalls bis zum Auftreten einer weiteren YMLSCSET-Datenstruktur).
Alle spezifizierten Dateien müssen unverändert bleiben, bis die E-Mail gesendet ist.
Auflistung der Expansion der Datenstrukturen für die E-Mail-Parameter
Expansion:
XPAND= | GENERAL, ADD_HEADER, DATA_SPEC, CHARSET, ENCODING, |
YMLSML MF=D,XPAND=GENERAL
1 MFTST MF=D,PREFIX=Y,MACID=MLS,ALIGN=F,
1 DMACID=MLS,SUPPORT=(E,D,C,M,L),DNAME=MLSGNRL
000000 2 YMLSGNRL DSECT ,
1 * Input parameters
000000 1 YMLSGTAG DS H tag of general parameter
1 * Tag value(s) for struct _general
00000001 1 YMLSFROM EQU 1 from
00000002 1 YMLSFFRM EQU 2 fake_from
00000003 1 YMLSTO EQU 3 to
00000004 1 YMLSFTO EQU 4 fake_to
00000005 1 YMLSCC EQU 5 cc
00000006 1 YMLSFCC EQU 6 fake_cc
00000007 1 YMLSBCC EQU 7 envelope recipient mail
1 * addresses
00000008 1 YMLSRPLT EQU 8 reply_to
00000009 1 YMLSSBJT EQU 9 subject
00000012 1 YMLSCTTT EQU 18 content_type
00000014 1 YMLSOPFI EQU 20 option file
00000015 1 YMLSKEYF EQU 21 key file
00000016 1 YMLSSGNF EQU 22 signer certificate file
00000017 1 YMLSASCF EQU 23 additional signer
1 * certificates file
00000018 1 YMLSRCTF EQU 24 recipient certificate
file
00000019 1 YMLSCRLF EQU 25 CRL file
1 *
000002 1 YMLSGRS1 DS XL2 reserved
000004 1 YMLSGLEN DS F general parameter length
00000008 1 YMLSGNRL# EQU *-YMLSGTAG
YMLSML MF=D,XPAND=ADD_HEADER
1 MFTST MF=D,PREFIX=Y,MACID=MLS,ALIGN=F,
1 DMACID=MLS,SUPPORT=(E,D,C,M,L),DNAME=MLSHEAD
000000 2 YMLSHEAD DSECT ,
1 * Input parameters
000000 1 YMLSHTAG DS H tag of add. header
1 * Tag value(s) for struct _add_header
0000000A 1 YMLSAHDR EQU 10 add. header
1 *
000002 1 YMLSHRS1 DS XL2 reserved
000004 1 YMLSHLNN DS F add. header name length
000008 1 YMLSHLNB DS F add. header body length
0000000C 1 YMLSHEAD# EQU *-YMLSHTAG
YMLSML MF=D,XPAND=DATA_SPEC
1 MFTST MF=D,PREFIX=Y,MACID=MLS,ALIGN=F,
1 DMACID=MLS,SUPPORT=(E,D,C,M,L),DNAME=MLSDTSP
000000 2 YMLSDTSP DSECT ,
1 * Data specification
000000 1 YMLSDTAG DS H tag of add. header
1 * Tag value(s) for struct _data_spec
0000000F 1 YMLSDSPC EQU 15 dataspec
1 *
000002 1 YMLSDTYP DS FL1 reserved
1 * Type of data specification
00000001 1 YMLSFILE EQU 1 file
00000002 1 YMLSDATA EQU 2 data
1 *
000003 1 YMLSDRS1 DS XL1 reserved
000004 1 YMLSDLEN DS F length of data. spec.
00000008 1 YMLSDTSP# EQU *-YMLSDTAG
YMLSML MF=D,XPAND=DATA_SPEC,VERSION=3
1 MFTST MF=D,PREFIX=Y,MACID=MLS,ALIGN=F,
1 DMACID=MLS,SUPPORT=(E,D,C,M,L),DNAME=MLSDTSP
000000 2 YMLSDTSP DSECT ,
1 * Data specification
000000 1 YMLSDTAG DS H tag of add. header
1 * Tag value(s) for struct _data_spec
0000000F 1 YMLSDSPC EQU 15 dataspec
1 *
000002 1 YMLSDTYP DS FL1 reserved
1 * Type of data specification
00000001 1 YMLSFILE EQU 1 file
00000002 1 YMLSDATA EQU 2 data
1 *
000003 1 YMLSDOPT DS AL1 options
00000080 1 YMLSDDEL EQU X'80' delete file
00000040 1 YMLSDDES EQU X'40' destroy when deleting
00000020 1 YMLSDLCK EQU X'20' lock file
0000001F 1 YMLSDUNU EQU X'1F' unused
000004 1 YMLSDLEN DS F length of data. spec.
00000008 1 YMLSDTSP# EQU *-YMLSDTAG
YMLSML MF=D,XPAND=CHARSET
1 MFTST MF=D,PREFIX=Y,MACID=MLS,ALIGN=F,
1 DMACID=MLS,SUPPORT=(E,D,C,M,L),DNAME=MLSCSET
000000 2 YMLSCSET DSECT ,
1 * Data specification
000000 1 YMLSCTAG DS H tag of add. header
1 * Tag value(s) for struct _charset
00000010 1 YMLSCHST EQU 16 character set
1 *
000002 1 YMLSCBNR DS FL1 binary data
1 * Binary data selection
00000001 1 YMLSBYES EQU 1 YES
00000002 1 YMLSBNO EQU 2 NO
1 *
000003 1 YMLSCRS1 DS XL1 reserved
000004 1 YMLSCLEN DS F length
000008 1 YMLSCSCX DS CL8 src_charset_XHCS
000010 1 YMLSCDCX DS CL8 dest_charset_XHCS
00000018 1 YMLSCSET# EQU *-YMLSCTAG
YMLSML MF=D,XPAND=ENCODING
1 MFTST MF=D,PREFIX=Y,MACID=MLS,ALIGN=F,
1 DMACID=MLS,SUPPORT=(E,D,C,M,L),DNAME=MLSENCD
000000 2 YMLSENCD DSECT ,
1 * Encoding
000000 1 YMLSETAG DS H tag of encoding
1 * Tag value(s) for struct _encoding
00000011 1 YMLSTRCD EQU 17 transfer encoding
1 *
000002 1 YMLSEMCH DS FL1 encoding mechanism
1 * Type of encoding mechanism
00000001 1 YMLSE7BT EQU 1 7 bit
00000002 1 YMLSE8BT EQU 2 8 bit
00000003 1 YMLSEBIN EQU 3 binary
00000004 1 YMLSEQP EQU 4 quoted printable
00000005 1 YMLSEB64 EQU 5 base64
1 *
000003 1 YMLSERS1 DS XL1 reserved
00000004 1 YMLSENCD# EQU *-YMLSETAG
YMLSML MF=D,XPAND=CONT_DISP
1 MFTST MF=D,PREFIX=Y,MACID=MLS,ALIGN=F,
1 DMACID=MLS,SUPPORT=(E,D,C,M,L),DNAME=MLSDISP
000000 2 YMLSDISP DSECT ,
1 * Content disposition
000000 1 YMLSITAG DS H tag of content
disposition
1 * Tag value(s) for struct _cont_disp
00000013 1 YMLSTCTD EQU 19 content disposition
1 *
000002 1 YMLSISPT DS FL1 content disposition
1 * Disposition type
00000001 1 YMLSINLN EQU 1 inline
00000002 1 YMLSIATT EQU 2 attachment
1 *
000003 1 YMLSIRS1 DS XL1 reserved
00000004 1 YMLSDISP# EQU *-YMLSITAG
YMLSML MF=D,XPAND=MSG_ATT
1 MFTST MF=D,PREFIX=Y,MACID=MLS,ALIGN=F,
1 DMACID=MLS,SUPPORT=(E,D,C,M,L),DNAME=MLSATT
000000 2 YMLSATT DSECT ,
1 * Bracketing message or attachment specification
000000 1 YMLSATAG DS H tag of msg | att
1 * Tag value(s) for struct _msg_att
0000000B 1 YMLSMBEG EQU 11 msg_begin
0000000C 1 YMLSMEND EQU 12 msg_end
0000000D 1 YMLSABEG EQU 13 att_begin
0000000E 1 YMLSAEND EQU 14 att_end
1 *
000002 1 YMLSARS1 DS XL2 reserved
00000004 1 YMLSATT# EQU *-YMLSATAG