OutlookDav Work Around (invitation status not correctly synced)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
916 B

10 years ago
#!/usr/bin/perl -wT
=head1 NAME
drop_sogo_response
=head1 DESCRIPTION
Drop email if it's a SOGo response for an appointment
and set it to NEEDS-ADCTION
Work around a problem in outlook dav where invitaions status are not correctly synced
=head1 AUTHOR
Daniel Berteaud <daniel@firewall-services.com>
=head1 LICENSE
GNU GPL v2 (GNU General Public License)
=cut
sub register {
my ($self, $qp, %arg) = @_;
$self->register_hook("data_post", "drop_sogo_response");
}
sub drop_sogo_response {
my ($self, $transaction) = @_;
my $type = $transaction->header->get('X-SOGo-Message-Type') or return DECLINED;
$type =~ m/^calendar:invitation-reply$/ or return DECLINED;
my $subj = $transaction->header->get('Subject') or return DECLINED;
my $r = qr{=\?UTF-8\?q\?Sans_d=C3=A9cision};
$subj =~ m/$r/m or return DECLINED;
$self->log(LOGINFO, "SOGo response detected, droping email");
return DENY;
}