Email Message Parser/Composer
Functions
| Function | Description |
|---|---|
_email_byte_at | Internal byte reader. |
_email_copy | Internal: copy bytes. |
_email_lower | Internal: case-insensitive compare single bytes. |
_email_eq_ci | Internal: case-insensitive compare. |
_email_find_body | Internal: find the blank line separating headers from body. Returns offset of… |
_email_parse_hdr | Internal: parse one header line starting at pos. Sets name_off, name_len, val… |
email_parse | Parse an email message. Returns handle. |
_email_get_hdr | Internal: find header by name (case-insensitive), copy value to out. |
email_from | Get From header value. |
email_to | Get To header value. |
email_subject | Get Subject header value. |
email_body | Get email body. |
email_header | Get any header value by name. |
email_header_count | Return number of headers. |
Details
_email_byte_at
fn _email_byte_at(buf: &i8, idx: i64) -> i64Internal byte reader.
_email_copy
fn _email_copy(dst: &i8, src: &i8, off: i64, len: i64) -> i64Internal: copy bytes.
_email_lower
fn _email_lower(ch: i64) -> i64Internal: case-insensitive compare single bytes.
_email_eq_ci
fn _email_eq_ci(a: &i8, aoff: i64, alen: i64, b: &i8, boff: i64, blen: i64) -> i64Internal: case-insensitive compare.
_email_find_body
fn _email_find_body(buf: &i8, len: i64) -> i64Internal: 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) -> i64Internal: 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) -> &i64Parse an email message. Returns handle.
_email_get_hdr
fn _email_get_hdr(h: &i64, name: &i8, nlen: i64, out: &i8) -> i64Internal: find header by name (case-insensitive), copy value to out.
email_from
fn email_from(h: &i64, out: &i8) -> i64Get From header value.
email_to
fn email_to(h: &i64, out: &i8) -> i64Get To header value.
email_subject
fn email_subject(h: &i64, out: &i8) -> i64Get Subject header value.
email_body
fn email_body(h: &i64, out: &i8) -> i64Get email body.
email_header
fn email_header(h: &i64, name: &i8, nlen: i64, out: &i8) -> i64Get any header value by name.
email_header_count
fn email_header_count(h: &i64) -> i64Return number of headers.