use Mail::Cclient qw(set_callback);
# Criteria examples
#
# '12,23,45,16,19 SUBJECT "perl"'
# 'FLAGGED SINCE 1-Feb-1994 NOT FROM "SMITH"'
# 'ALL FROM "hdias" NOT SUBJECT "spam" NOT TEXT "bug"'
# 'OR FROM "hdias" SUBJECT "perl"'
# 'FROM "hdias" NOT FROM "smith" OR SUBJECT "perl" TO "cpan"'
# 'FROM "hdias"'
# 'ANSWERED TO "malcolm"'
#
--- Example 1
my @sequence = ();
set_callback(
'searched' => sub {
my ($stream, $number) = @_;
push(@sequence, $number);
} );
my $criteria = "ALL FROM \"hdias\"";
$cclient->search(
SEARCH => $criteria);
# results via searched callback
for(@sequence) {
print "$_\n";
}
--- Example 2
my @sequence = ();
set_callback(
'searched' => sub {
my ($stream, $number) = @_;
push(@sequence, $number); } );
$cclient->search(
SEARCH => "FLAGGED SINCE 1-Feb-1994 NOT FROM \"SMITH\"",
FLAG => ["uid"]);
# results via searched callback
for(@sequence) {
print "$_\n";
}
--- Example 3
my @sequence = ();
set_callback(
'searched' => sub {
my ($stream, $number) = @_;
push(@sequence, $number); } );
$cclient->search(
SEARCH => "FROM \"hdias\"",
FLAG => "uid");
# results via searched callback
for(@sequence) {
print "$_\n";
}
--- Example 4
my @sequence = ();
set_callback(
'searched' => sub {
my ($stream, $number) = @_;
push(@sequence, $number); } );
$cclient->search(
SEARCH => "ANSWERED TO \"malcolm\"",
FLAG => ["uid","noprefetch"]);
# results via searched callback
for(@sequence) {
print "$_\n";
}