HTML-EP

 view release on metacpan or  search on metacpan

examples/admin/mail2group  view on Meta::CPAN

		my $year = $3;
		my $hour = $4;
		my $min = $5;
		my $sec = $6;
		if (exists($MONTHS{lc $mon})) {
		    $mon = $MONTHS{lc $mon};
		} else {
		    print STDERR ("Cannot parse received header from mail $i"
				  , " of user $user\n");
		    next;
		}
		$year -= 1900 if ($year > 99);
		$time = Time::Local::timelocal($sec, $min, $hour, $mday, $mon,
					       $year);
	    }
	    if ($time + $config->{'mail2group'}->{'delay'} * 24 * 60 * 60
		> time()) {
		printf("Ignoring mail $i ($id) of user $user: $received\n")
		    if ($verbose);
		next;
	    }
	    printf("Forwarding mail $i ($id) of user $user to $forward.\n")
		if ($verbose);
	    $cache->{$id} = 1;
	    if ($debug) {
		next;
	    }
	    $head->add('X-Forwarder', "mail2group ($user)");
	    $head->add('X-Mail2Group', "$user => $forward");
	    $msg->smtpsend('Host' => '127.0.0.1',
			   map { s/^\s+//; s/\s+$//; ('Bcc' => $_) }
			       split(/,/, $forward));
	}
    }
}


my @keys = grep { !$cache->{$_} } keys %$cache;
foreach my $key (@keys) {
    if ($verbose) {
	printf("Deleting ID $key from cache.\n");
    }
    delete $cache->{$key};
}


$config->{'mail2group'}->{'cache'} = $cache;
my $dump = Data::Dumper->new([$config], ['PREFS']);
$dump->Indent(1);
my $str = $dump->Dump();
my $fh = Symbol::gensym();
if ($verbose) {
    print("Saving data:\n$str\n");
}
if (!$debug) {
    if (!open($fh, ">$PREFS_FILE")  ||  !(print $fh $str)  ||
	!close($fh)) {
	die "Couldn't save data: $!";
    }
    my($login, $pass, $uid, $gid) = getpwnam($WWW_USER);
    chown $uid, $gid, $PREFS_FILE;
}



( run in 1.094 second using v1.01-cache-2.11-cpan-71847e10f99 )