lib/PublicInbox/Reply.pm | 10 +++++++++- lib/PublicInbox/View.pm | 3 +++ t/reply.t | 5 +++++ diff --git a/lib/PublicInbox/Reply.pm b/lib/PublicInbox/Reply.pm index 17b1abb272323b127f832f67d4d8a95a3ec0e5b3..11e17ede716a0f7effc12080f2461e9ac6344748 100644 --- a/lib/PublicInbox/Reply.pm +++ b/lib/PublicInbox/Reply.pm @@ -34,8 +34,16 @@ my ($ibx, $hdr) = @_; my $cc = {}; # everyone else my $to; # this is the From address by defaultq my $reply_to_all = 'reply-to-all'; # the only good default :P + my $reply_to_cfg = $ibx->{replyto}; - foreach my $rt (split(/\s*,\s*/, $ibx->{replyto} || ':all')) { + $reply_to_cfg ||= ':all'; + if ($reply_to_cfg =~ /\A:none=(.*)/) { + my $msg = $1; + $msg = 'replies disabled' if $msg eq ''; + return \$msg; + } + + foreach my $rt (split(/\s*,\s*/, $reply_to_cfg)) { if ($rt eq ':all') { foreach my $h (@reply_headers) { my $v = $hdr->header($h); diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm index eb002aebbb443d919502a6ac9b6e2ac0d0b77593..86acd824cd0d6871d82a164550987288eadedced 100644 --- a/lib/PublicInbox/View.pm +++ b/lib/PublicInbox/View.pm @@ -119,6 +119,9 @@ } my ($arg, $link, $reply_to_all) = PublicInbox::Reply::mailto_arg_link($ibx, $hdr); + if (ref($arg) eq 'SCALAR') { + return '
'.ascii_html($$arg).'
'; + } # mailto: link only works if address obfuscation is disabled if ($link) { diff --git a/t/reply.t b/t/reply.t index de31f8800be717ddb2bee17a7db3063a6253676e..cbcd72291eef61a56364e5d1ac08899629cea71c 100644 --- a/t/reply.t +++ b/t/reply.t @@ -76,4 +76,9 @@ ]; is_deeply($arg, $exp, 'address obfuscation works'); is($link, '', 'no mailto: link given'); +$ibx->{replyto} = ':none=dead list'; +$ibx->{obfuscate} = 1; +($arg, $link) = PublicInbox::Reply::mailto_arg_link($ibx, $hdr); +is($$arg, 'dead list', ':none= works'); + done_testing();