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
Message(3) User Contributed Perl Documentation Message(3)

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

  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();

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

Cyrus::Annotator::Message has the following methods.

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
    
returns a read-only filehandle to the raw (rfc822) representation of the full message.
Given some content, decode it from the part's content encoding and charset.
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.

returns a Mail::Header object containing all the headers of the message.
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:

  • MIME-Type
  • MIME-Subtype
  • Content-Type
  • Content-Description
  • Content-Disposition
  • Content-Language

Body structures which have a MIME-Type of 'multipart' contain the following items:

MIME-Subparts

For body structures except those that have a MIME-Type of 'multipart', the following are defined:

  • Content-ID
  • Content-Description
  • Content-Transfer-Encoding
  • Content-MD5
  • Size
  • Lines
  • Offset
  • HeaderSize
returns the hex encoded (40 character) sha1 of the rfc822 representation.
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, 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');
    
returns two arrayrefs - [['flagname', 'bool']] and [['entry', 'type', 'value']], e.g.

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

RFC3501, RFC5257.

Greg Banks <gnb@fastmail.fm>. Bron Gondwana <brong@fastmail.fm>.

2025-05-09 perl v5.40.2

Search for    or go to Top of page |  Section 3 |  Main Index

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