X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=examples%2Funsubscribe.milter;h=216b0dddd0cf737e77dfb3780f48b48c5fc9d1cd;hb=HEAD;hp=7b126e3094e4f0e2b46aebc81bae952d8dadfaec;hpb=9dfc0b670fc634b54998c3020f173b82de1915ac;p=public-inbox.git diff --git a/examples/unsubscribe.milter b/examples/unsubscribe.milter index 7b126e30..216b0ddd 100644 --- a/examples/unsubscribe.milter +++ b/examples/unsubscribe.milter @@ -1,8 +1,7 @@ #!/usr/bin/perl -w -# Copyright (C) 2016-2021 all contributors +# Copyright (C) all contributors # License: AGPL-3.0+ use strict; -use warnings; use Sendmail::PMilter qw(:all); use IO::Socket; use Crypt::CBC; @@ -97,6 +96,7 @@ $cbs{eom} = sub { my $unsub = $priv->{header}->{'list-unsubscribe'} || []; my $n = 0; + my $added; foreach my $u (@$unsub) { # Milter indices are 1-based, # not 0-based like Perl arrays @@ -115,7 +115,11 @@ $cbs{eom} = sub { $v .= ",\n "; $ctx->chgheader($k, $index, $v); + $added = 1; } + # RFC 8058 + $added and $ctx->addheader('List-Unsubscribe-Post', + 'List-Unsubscribe=One-Click'); }; warn $@ if $@; SMFIS_CONTINUE;