#!perl -w # A simple example of a plugin that logs all incoming mail to a file. # Useful for debugging other plugins or keeping an archive of things. use POSIX qw:strftime:; sub hook_data_post { my ($self, $transaction) = @_; # as a decent default, log on a per-day-basis my $date = strftime("%Y%m%d", localtime(time)); open(my $out, ">>mail/$date") or return (DECLINED, "Could not open log file.. continuing anyway"); $transaction->header->print($out); $transaction->body_resetpos; while (my $line = $transaction->body_getline) { print $out $line; } close $out; return (DECLINED, "successfully saved message.. continuing"); }