Sample code for 30+ languages & platforms
Rust

Convert a MIME Entity to multipart/alternative

See more MIME Examples

Demonstrates the Chilkat Mime.ConvertToMultipartAlt method, which wraps the current entity in a new outer multipart/alternative, making the original the first child. It takes no arguments.

Note: The file paths are relative to the application's current working directory. Absolute paths may also be used. Supply the paths appropriate to your own environment.

Background: Use this to add an alternate rendering to an existing message — for example, promoting a plain-text message so an HTML version can be added alongside it. The original content becomes the first (least-preferred) alternative, and you append the richer representation after it. As with the mixed conversion, message-level headers move to the new outer entity.

Chilkat Rust Downloads

Rust

let mime = chilkat::Mime::new();
if mime.load_mime_file("qa_data/message.eml").is_err() {
    println!("{}", mime.last_error_text());
    return;
}

// Wrap the current entity in a new outer multipart/alternative entity.  The original entity
// becomes the first child, ready for an alternate representation to be added.
if mime.convert_to_multipart_alt().is_err() {
    println!("{}", mime.last_error_text());
    return;
}

// Add an alternative representation of the same content.
let html_part = chilkat::Mime::new();
if html_part.set_body_from_html("<html><body>HTML alternative.</body></html>").is_err() {
    println!("{}", html_part.last_error_text());
    return;
}

if mime.append_part(&html_part).is_err() {
    println!("{}", mime.last_error_text());
    return;
}

println!("Number of parts: {}", mime.num_parts());