email

Email Message Parser/Composer

Functions

FunctionDescription
_email_byte_atInternal byte reader.
_email_copyInternal: copy bytes.
_email_lowerInternal: case-insensitive compare single bytes.
_email_eq_ciInternal: case-insensitive compare.
_email_find_bodyInternal: find the blank line separating headers from body. Returns offset of…
_email_parse_hdrInternal: parse one header line starting at pos. Sets name_off, name_len, val…
email_parseParse an email message. Returns handle.
_email_get_hdrInternal: find header by name (case-insensitive), copy value to out.
email_fromGet From header value.
email_toGet To header value.
email_subjectGet Subject header value.
email_bodyGet email body.
email_headerGet any header value by name.
email_header_countReturn number of headers.

Details

_email_byte_at

fn _email_byte_at(buf: &i8, idx: i64) -> i64

Internal byte reader.

_email_copy

fn _email_copy(dst: &i8, src: &i8, off: i64, len: i64) -> i64

Internal: copy bytes.

_email_lower

fn _email_lower(ch: i64) -> i64

Internal: case-insensitive compare single bytes.

_email_eq_ci

fn _email_eq_ci(a: &i8, aoff: i64, alen: i64, b: &i8, boff: i64, blen: i64) -> i64

Internal: case-insensitive compare.

_email_find_body

fn _email_find_body(buf: &i8, len: i64) -> i64

Internal: find the blank line separating headers from body. Returns offset of body start, or len if no blank line.

_email_parse_hdr

fn _email_parse_hdr(buf: &i8, pos: i64, hdr_end: i64, h: &i64, idx: i64) -> i64

Internal: parse one header line starting at pos. Sets name_off, name_len, val_off, val_len via handle slots. Returns position after the header line (after \n).

email_parse

fn email_parse(buf: &i8, len: i64) -> &i64

Parse an email message. Returns handle.

_email_get_hdr

fn _email_get_hdr(h: &i64, name: &i8, nlen: i64, out: &i8) -> i64

Internal: find header by name (case-insensitive), copy value to out.

email_from

fn email_from(h: &i64, out: &i8) -> i64

Get From header value.

email_to

fn email_to(h: &i64, out: &i8) -> i64

Get To header value.

email_subject

fn email_subject(h: &i64, out: &i8) -> i64

Get Subject header value.

email_body

fn email_body(h: &i64, out: &i8) -> i64

Get email body.

email_header

fn email_header(h: &i64, name: &i8, nlen: i64, out: &i8) -> i64

Get any header value by name.

email_header_count

fn email_header_count(h: &i64) -> i64

Return number of headers.