# Class type Netmime.mime_body

    class type mime_body = object .. end

A MIME body with both read and write method. It is still possible, however, to set the read-only flag to make this kind of body immutable, too.

The value of the body can be set either by a `string`, or by writing to an object channel. Both ways are possible independently of where the value is stored, in-memory, or as external file.

Inherits

- `Netmime.mime_body_ro` Supports all these read access method, too

    method ro : bool

whether this body is read-only or not

    method set_value : string -> unit

Sets the value. If the value is immutable, the exception `Immutable` will be raised.

The passed string must be in decoded form. When the body is stored in an external file, the file is overwritten.

    method open_value_wr : unit -> Netchannels.out_obj_channel

Opens the value for writing. The current value is overwritten. If the value is immutable, the exception `Immutable` will be raised.

For example, to copy the file `f` into the value:

     let ch = body # open_value_wr() in
     let f_ch = new Netchannels.input_file f in
     ch # output_channel f_ch;
     f_ch # close_in();
     ch # close_out();