Go to the first, previous, next, last section, table of contents.


4.2 MML Definition

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.

`type'
The MIME type of the part (Content-Type).
`filename'
Use the contents of the file in the body of the part (Content-Disposition).
`charset'
The contents of the body of the part are to be encoded in the character set speficied (Content-Type).
`name'
Might be used to suggest a file name if the part is to be saved to a file (Content-Type).
`disposition'
Valid values are `inline' and `attachment' (Content-Disposition).
`encoding'
Valid values are `7bit', `8bit', `quoted-printable' and `base64' (Content-Transfer-Encoding).
`description'
A description of the part (Content-Description).
`creation-date'
RFC822 date when the part was created (Content-Disposition).
`modification-date'
RFC822 date when the part was modified (Content-Disposition).
`read-date'
RFC822 date when the part was read (Content-Disposition).
`size'
The size (in octets) of the part (Content-Disposition).
`sign'
What technology to sign this MML part with (smime, pgp or pgpmime)
`encrypt'
What technology to encrypt this MML part with (smime, pgp or pgpmime)

Parameters for `application/octet-stream':

`type'
Type of the part; informal--meant for human readers (Content-Type).

Parameters for `message/external-body':

`access-type'
A word indicating the supported access mechanism by which the file may be obtained. Values include `ftp', `anon-ftp', `tftp', `localfile', and `mailserver'. (Content-Type.)
`expiration'
The RFC822 date after which the file may no longer be fetched. (Content-Type.)
`size'
The size (in octets) of the file. (Content-Type.)
`permission'
Valid values are `read' and `read-write' (Content-Type).

Parameters for `sign=smime':

`keyfile'
File containing key and certificate for signer.

Parameters for `encrypt=smime':

`certfile'
File containing certificate for recipient.


Go to the first, previous, next, last section, table of contents.