Sample code for 30+ languages & platforms
Zig

Remove the Plain-Text Body from an Email

See more Email Object Examples

Demonstrates the Chilkat Email.RemovePlainTextAlternative method, which removes the plain-text body from the email if one exists. Other body representations, attachments, and related items remain unchanged. This example builds a message with both plain-text and HTML alternatives, then removes the plain text.

Background: This is the counterpart to RemoveHtmlAlternative. Removing the plain-text alternative leaves an HTML-only message. Note that dropping the plain-text fallback is generally discouraged for real mail — it hurts accessibility and can raise spam scores — but it is occasionally needed when a downstream system expects a single HTML representation.

Chilkat Zig Downloads

Zig
const std = @import("std");
const chilkat = @import("chilkat");

pub fn main() !void {
    // Demonstrates the RemovePlainTextAlternative method, which removes the plain-text body
    // from the email (if one exists).  Other body representations, attachments, and related
    // items remain.

    const email = try chilkat.Email.init();
    defer email.deinit();
    email.setSubject("Remove plain-text alternative");

    // Create an email with both plain-text and HTML alternatives.
    email.setTextBody("This is the plain-text version.", "text/plain");
    email.addHtmlAlternativeBody("<html><body>This is the HTML version.</body></html>") catch {};
    std.debug.print("NumAlternatives before = {d}\n", .{email.getNumAlternatives()});
    std.debug.print("HasPlainTextBody before: {}\n", .{email.hasPlainTextBody()});

    // Remove the plain-text body, leaving the HTML alternative.
    email.removePlainTextAlternative();
    std.debug.print("NumAlternatives after = {d}\n", .{email.getNumAlternatives()});
    std.debug.print("HasPlainTextBody after: {}\n", .{email.hasPlainTextBody()});
}