Quando si scrive un messaggio, il programma di analisi
MIME crea un flusso di bit del messaggio utilizzando l'albero logico dei messaggi. Il dominio
MIME non impone tutti i vincoli richiesti dalla specifica MIME ed è pertanto possibile che vengano creati messaggi MIME non conformi a tale specifica. I vincoli imposti dal programma di analisi MIME sono i seguenti:
- E' necessario che l'albero sia composto da un elemento principale denominato MIME e dagli elementi child Parte, Dati e Parti costituenti, come riportato in Elementi dell'albero logico.
- E' necessario che sia presente esattamente un'intestazione Content-Type al livello principale dell'albero e che tale intestazione sia disponibile mediante la proprietà ContentType. I tipi secondari di supporto non sono convalidati.
- Se il tipo di supporto è multiplo, sarà necessario che sia presente un parametro di limite valido.
- Per qualsiasi parte MIME costituente è possibile disporre esattamente di una intestazione Content-Type. Se il valore dell'intestazione inizia con multipart, è necessario che comprenda inoltre un parametro di limite
valido. E' necessario che il valore di tale parametro di limite non sia lo stesso di altri valori di parametro di limite nella definizione.
- Il valore Content-Type MIME "messaggio" non è supportato e risulta in un errore durante il runtime.
- Tutti gli elementi nome-valore nella struttura sono scritti come name: value seguito dalla sequenza
ASCII <CR><LF>.
Se si dispone di altri elementi nella struttura, il programma di analisi funziona con la stessa procedura del programma di analisi dell'intestazione HTTP.
- Un elemento solo nome o un elemento NameValue con un valore NULL risulta in Name:
NULL.
- Qualsiasi elemento child di un elemento nome-valore viene ignorato.
E' necessario che il flusso di messaggi serializzi eventuali alberi secondari. Questa operazione può essere eseguita utilizzando il comando ESQL
ASBITSTREAM.