Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Mail::SpamAssassin::MeUsereContributed PerMail::SpamAssassin::Message::Node(3)

NAME
       Mail::SpamAssassin::Message::Node - decode, render, and make available
       MIME message parts

DESCRIPTION
       This module will	encapsulate an email message and allow access to the
       various MIME message parts.

PUBLIC METHODS
       new()
	   Generates an	empty Node object and returns it.  Typically only
	   called by functions in Message.

       find_parts()
	   Used	to search the tree for specific	MIME parts.  An	array of
	   matching Node objects (pointers into	the tree) is returned.	The
	   parameters that can be passed in are	(in order, all scalars):

	   Regexp - Used to match against each part's Content-Type header,
	   specifically	the type and not the rest of the header.  ie:
	   "Content-type: text/html; encoding=quoted-printable"	has a type of
	   "text/html".	 If no regexp is specified, find_parts() will return
	   an empty array.

	   Only_leaves - By default, find_parts() will return any part that
	   matches the regexp, including multipart.  If	you only want to see
	   leaves of the tree (ie: parts that aren't multipart), set this to
	   true	(1).

	   Recursive - By default, when	find_parts() finds a multipart which
	   has parts underneath	it, it will recurse through all	sub-children.
	   If set to 0,	only look at the part and any direct children of the
	   part.

       header()
	   Stores and retrieves	headers	from a specific	MIME part.  The	first
	   parameter is	the header name.  If there is no other parameter, the
	   header is retrieved.	 If there is a second parameter, the header is
	   stored.

	   Header names	are case-insensitive and are stored in both raw	and
	   decoded form.  Using	header(), only the decoded form	is
	   retrievable.

	   For retrieval, if header() is called	in an array context, an	array
	   will	be returned with each header entry in a	different element.  In
	   a scalar context, the last specific header is returned.

	   ie: If 'Subject' is specified as the	header,	and there are 2
	   Subject headers in a	message, the last/bottom one in	the message is
	   returned in scalar context or both are returned in array context.

       raw_header()
	   Retrieves the raw version of	headers	from a specific	MIME part.
	   The only parameter is the header name.  Header names	are case-
	   insensitive.

	   For retrieval, if raw_header() is called in an array	context, an
	   array will be returned with each header entry in a different
	   element.  In	a scalar context, the last specific header is
	   returned.

	   ie: If 'Subject' is specified as the	header,	and there are 2
	   Subject headers in a	message, the last/bottom one in	the message is
	   returned in scalar context or both are returned in array context.

       add_body_part()
	   Adds	a Node child object to the current node	object.

       is_leaf()
	   Returns true	if the tree node in question is	a leaf of the tree
	   (ie:	has no children	of its own).  Note: This function may return
	   odd results unless the message has been mime	parsed via
	   _do_parse()!

       raw()
	   Return a reference to the the raw array.  Treat this	as READ	ONLY.

       decode()
	   If necessary, decode	the part text as base64	or quoted-printable.
	   The decoded text will be returned as	a scalar string.  An optional
	   length parameter can	be passed in which limits how much decoded
	   data	is returned.  If the scalar isn't needed, call with "0"	as a
	   parameter.

       rendered()
	   render_text() takes the given text/*	type MIME part,	and attempts
	   to render it	into a text scalar.  It	will always render text/html,
	   and will use	a heuristic to determine if other text/* parts should
	   be considered text/html.  Two scalars are returned: the rendered
	   type	(either	text/html or whatever the original type	was), and the
	   rendered text.

       set_rendered($text, $type)
	   Set the rendered text and type for the given	part.  If type is not
	   specified, and text is a defined value, a default of	'text/plain'
	   is used.  This can be used, for instance, to	render non-text	parts
	   using plugins.

       visible_rendered()
	   Render and return the visible text in this part.

       invisible_rendered()
	   Render and return the invisible text	in this	part.

       content_summary()
	   Returns an array of scalars describing the mime parts of the
	   message.  Note: This	function requires that the message be parsed
	   first!

       delete_header()
	   Delete the specified	header (decoded	and raw) from the Node
	   information.

       get_header()
	   Retrieve a specific header.	Will have a newline at the end and
	   will	be unfolded.  The first	parameter is the header	name (case-
	   insensitive), and the second	parameter (optional) is	whether	or not
	   to return the raw header.

	   If get_header() is called in	an array context, an array will	be
	   returned with each header entry in a	different element.  In a
	   scalar context, the last specific header is returned.

	   ie: If 'Subject' is specified as the	header,	and there are 2
	   Subject headers in a	message, the last/bottom one in	the message is
	   returned in scalar context or both are returned in array context.

	   Btw,	returning the last header field	(not the first)	happens	to be
	   consistent with DKIM	signatures, which search for and cover
	   multiple header fields bottom-up according to the 'h' tag. Let's
	   keep	it this	way.

       get_all_headers()
	   Retrieve all	headers.  Each header will have	a newline at the end
	   and will be unfolded.  The first parameter (optional) is whether or
	   not to return the raw headers, and the second parameter (optional)
	   is whether or not to	include	the mbox separator.

	   If get_all_header() is called in an array context, an array will be
	   returned with each header entry in a	different element.  In a
	   scalar context, the headers are returned in a single	scalar.

perl v5.32.1			  2020-01-Mail::SpamAssassin::Message::Node(3)

NAME | DESCRIPTION | PUBLIC METHODS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Mail::SpamAssassin::Message::Node&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help