X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=examples%2Funsubscribe.milter;h=216b0dddd0cf737e77dfb3780f48b48c5fc9d1cd;hb=3e639ca78aa70ad6a6598bcf32d4b72696e3ebfb;hp=7b126e3094e4f0e2b46aebc81bae952d8dadfaec;hpb=af0b0fb7a454470a32c452119d0392e0dedb3fe1;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;