Sample code for 30+ languages & platforms
Zig

Explaining the Email FromName, FromAddress, and From Properties

See more Email Object Examples

This example explains the email object's FromName, FromAddress, and From properties.

Chilkat Zig Downloads

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

pub fn main(init: std.process.Init) !void {
    const alloc = init.arena.allocator();

    // The email's FROM name and address can be set in several ways.
    // It can include an optional friendly name (which is just a description),
    // and it must include an address.

    // For example:
    const email1 = try chilkat.Email.init();
    defer email1.deinit();
    email1.setSubject("test");
    email1.setBody("test");

    email1.setFromName("Joe Sample");
    email1.setFromAddress("joe.sample@example.com");

    // the From property contains both the FromName and FromAddress
    // This produces the following output:
    // From: "Joe Sample" <joe.sample@example.com>
    std.debug.print("From: {s}\n", .{try email1.getFrom(alloc)});
    std.debug.print("--------------------------------------------------\n", .{});

    // Examine the MIME of the email:
    std.debug.print("{s}\n", .{try email1.getMime(alloc)});
    std.debug.print("--------------------------------------------------\n", .{});

    // Output is:

    //     MIME-Version: 1.0
    //     Date: Wed, 16 Nov 2016 12:32:13 -0600
    //     Message-ID: <02B461C6D12FA6686C3151A649ED8D5BBFBE0721@CHILKAT13>
    //     Content-Type: text/plain
    //     Content-Transfer-Encoding: 7bit
    //     X-Priority: 3 (Normal)
    //     Subject: test
    //     From: "Joe Sample" <joe.sample@example.com>
    //
    //     test

    // --------------------------------------------
    // Alternatively, the From property can be set, and this
    // implicitly sets the FromName and FromAddress properties.

    const email2 = try chilkat.Email.init();
    defer email2.deinit();
    email2.setFrom("Joe Sample <joe.sample@example.com>");

    std.debug.print("FromName: {s}\n", .{try email2.getFromName(alloc)});
    std.debug.print("FromAddress: {s}\n", .{try email2.getFromAddress(alloc)});
    std.debug.print("--------------------------------------------------\n", .{});

    std.debug.print("{s}\n", .{try email2.getMime(alloc)});
}