Sympa::Message::Plugin provides hook mechanism to intervene in processing by Sympa. Each hook may modify
objects (messages and so on) or may break ordinary processing.
Notice: Hook mechanism is experimental. Module names and interfaces may be changed in the future.
Methods
execute ( HOOK_NAME, MESSAGE, [ KEY => VAL, ... ] )
Process message hook.
Hooks
Currently, following hooks are supported:
pre_distribute
Messagehook. Message had been approved distribution (by scenario or by moderator), however, it has
not been decorated (adding custom subject etc.) nor archived yet.
post_archive
Messagehook. Message had been archived, however, it has not been distributed to users including
digest spool; message has not been signed nor encrypted (if necessary).
HowtoaddahooktoyourSympa
First, write your hook module:
package My::Hook;
use constant gettext_id => 'My message hook';
sub post_archive {
my $module = shift; # module name: "My::Hook"
my $name = shift; # handler name: "post_archive"
my $message = shift; # Message object
my %options = @_;
# Processing, possibly changing $message...
# Return suitable result.
# If unrecoverable error occurred, you may return undef or simply die.
return 1;
}
1;
Then activate hook handler in your list config:
message_hook
post_archive My::Hook