howdy/mail/mime

An Outgoing as an RFC 5322 message: the text an SMTP server receives, the content of an .eml file, and what providers such as Amazon SES accept as a raw message.

Bodies are quoted-printable UTF-8, attachments base64. Headers with non-ASCII text use RFC 2047 encoded words. Bcc is left out: those recipients are only in the envelope. Lines end in CRLF.

Values

pub fn addresses(addresses: List(mail.Address)) -> String

A comma-separated list of addresses, folded one per line.

pub fn date(at: timestamp.Timestamp) -> String

Thu, 25 Sep 2026 10:00:00 +0000.

pub fn encode(outgoing: mail.Outgoing) -> String

The whole message, headers and body.

pub fn message_id(outgoing: mail.Outgoing) -> String

<id@domain>, with the sender’s domain.

pub fn quoted_printable(text: String) -> String

RFC 2045 quoted-printable, with CRLF line breaks and lines of at most 76 characters.

✨ Search Document