const message = require('haraka-email-message');
new message.Header(options);
new message.Body(header, options);
new message.stream(cfg, uuid, header_list);
- Header
- Body
- stream (a haraka-message-stream)
=============
The Header object gives programmatic access to email headers. It is primarily
used from transaction.header
but also each MIME part of the Body
will
also have its own header object.
- header.get(key)
Returns the header with the name key
. If there are multiple headers with
the given name (as is usually the case with "Received" for example) they will
be concatenated together with "\n".
- header.get_all(key)
Returns the headers with the name key
as an array. Multi-valued headers
will have multiple entries in the array.
- header.get_decoded(key)
Works like get(key)
, only it gives you headers decoded from any MIME encoding
they may have used.
- header.remove(key)
Removes all headers with the given name. DO NOT USE. This is transparent to
the transaction and it will not see the header(s) you removed. Instead use
transaction.remove_header(key)
which will also correct the data part of
the email.
- header.add(key, value)
Adds a header with the given name and value. DO NOT USE. This is transparent
to the transaction and it will not see the header you added. Instead use
transaction.add_header(key, value)
which will add the header to the data
part of the email.
- header.lines()
Returns the entire header as a list of lines.
- header.toString()
Returns the entire header as a string.
===========
Email Message Body provides access to the textual body parts of an email.
- body.bodytext
A String containing the body text. Note that HTML parts will have tags in-tact.
- body.header
The header of this MIME part. See the Header Object
for details of the API.
- body.children
Any child MIME parts. For example a multipart/alternative mail will have a main body part with just the MIME preamble in (which is usually either empty, or reads something like "This is a multipart MIME message"), and two children, one text/plain and one text/html.