Next: Advanced MML Example, Previous: Simple MML Example, Up: Composing
The MML language is very simple. It looks a bit like an SGML application, but it's not.
The main concept of MML is the part. Each part can be of a different type or use a different charset. The way to delineate a part is with a ‘<#part ...>’ tag. Multipart parts can be introduced with the ‘<#multipart ...>’ tag. Parts are ended by the ‘<#/part>’ or ‘<#/multipart>’ tags. Parts started with the ‘<#part ...>’ tags are also closed by the next open tag.
There's also the ‘<#external ...>’ tag. These introduce ‘external/message-body’ parts.
Each tag can contain zero or more parameters on the form ‘parameter=value’. The values may be enclosed in quotation marks, but that's not necessary unless the value contains white space. So ‘filename=/home/user/#hello$^yes’ is perfectly valid.
The following parameters have meaning in MML; parameters that have no meaning are ignored. The MML parameter names are the same as the MIME parameter names; the things in the parentheses say which header it will be used in.
Content-Type).
Content-Disposition).
Content-Type). See Charset Translation.
Content-Type).
Content-Disposition).
Content-Transfer-Encoding). See Charset Translation.
Content-Description).
Content-Disposition).
Content-Disposition).
Content-Disposition).
Content-Disposition).
smime, pgp
or pgpmime)
smime,
pgp or pgpmime)
Parameters for ‘text/plain’:
Parameters for ‘application/octet-stream’:
Content-Type).
Parameters for ‘message/external-body’:
Content-Type.)
Content-Type.)
Content-Type.)
Content-Type).
Parameters for ‘sign=smime’:
Parameters for ‘encrypt=smime’: