GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  CYRUS::ANNOTATOR::MESSAGE (3)

.ds Aq ’

NAME

Cyrus::Annotator::Message - representation of a message to annotate

CONTENTS

SYNOPSIS



  use warnings;
  use strict;
  package MyAnnotatorDaemon;
  use base Cyrus::Annotator::Daemon;

  sub annotate_message
  {
      my ($message) = @_;

      $message->set_flag(\Flagged);
      $message->set_shared_annotation(/comment, Hello!!);
  }

  MyAnnotatorDaemon->run();



DESCRIPTION

This module encapsulates a message which is being processed by the annotator daemon.

METHODS

Cyrus::Annotator::Message has the following methods.
new(%args) Takes the following args:



 # required
 * BODYSTRUCTURE => parsed bodystructure

 # optional (but you need to provide SOMETHING if your code uses any
 # of the accessors)
 * GUID => 40 character sha1
 * HEADER => Mail::Header object with headers pre-parsed
 * FILENAME => path to rfc822 file

 # totally optional (will be considered empty if not set)
 * FLAGS => array of already set flags
 * ANNOTATIONS => array of already set annotations



fh() returns a read-only filehandle to the raw (rfc822) representation of the full message.
decode_part($Part, $Content) Given some content, decode it from the part’s content encoding and charset.
read_part_content($Part, $nbytes) returns the first n bytes of the bodypart passed. This is a section of the bodystructure (hashref). If no part is passed, it’s the raw message.

If no ’nbytes’ is passed, read the entire part.

header() returns a Mail::Header object containing all the headers of the message.
bodystructure() returns a structure

is a structure closely based on the IMAP BODYSTRUCTURE, decoded into a hash, including recursively all MIME sections. In general, the following items are defined for all body structures:
o MIME-Type
o MIME-Subtype
o Content-Type
o Content-Description
o Content-Dispositon
o Content-Language

Body structures which have a MIME-Type of ’multipart’ contain the following items:
o MIME-Subparts

For body structures <B>exceptB> those that have a MIME-Type of ’multipart’, the following are defined:
o Content-ID
o Content-Description
o Content-Transfer-Encoding
o Content-MD5
o Size
o Lines
o Offset
o HeaderSize

guid() returns the hex encoded (40 character) sha1 of the rfc822 representation.
has_flag($name)
set_flag($name)
clear_flag($name) Check for the boolean value of a flag with $name, set the flag and remove the flag respectively.

Note that changes are not immediate. They will be applied by the annotator at the end.

For example:



  $message->set_flag("\\Flagged");



get_shared_annotation($entry)
get_private_annotation($entry)
set_shared_annotation($entry, $value)
set_private_annotation($entry, $value)
clear_shared_annotation($entry)
clear_private_annotation($entry) Get, set and clear the value of an annotation, either shared or private. The get accessors return a string with the value. Clear is the same as set with $value of the empty string (’’).

For example:



  $message->set_shared_annotation(/comment, Hello World);



get_changed() returns two arrayrefs - [[’flagname’, ’bool’]] and [[’entry’, ’type’, ’value’]], e.g.

[[\\Flagged, 1]], [[’/comment’, ’value.shared’, ’Hello World’]]

SEE ALSO

RFC3501, RFC5257.

AUTHOR

Greg Banks <gnb@fastmail.fm>. Bron Gondwana <brong@fastmail.fm>.
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 MESSAGE (3) 2015-11-30

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.