summaryrefslogtreecommitdiff
path: root/fml/lib/Mail/Message/ToHTML.pm
diff options
context:
space:
mode:
authorfukachan <fukachan>2003-08-20 23:40:29 +0000
committerfukachan <fukachan>2003-08-20 23:40:29 +0000
commit6f9dbde2a527183d401b9ab4cff067808525e14a (patch)
tree13b0c6e9e31012b85e9a6b0ee5c681bf57bcbb15 /fml/lib/Mail/Message/ToHTML.pm
parent107d5e49d3bca1f4b3084cad35717cf9c13df238 (diff)
downloadfml8-6f9dbde2a527183d401b9ab4cff067808525e14a.tar.gz
fml8-6f9dbde2a527183d401b9ab4cff067808525e14a.tar.bz2
fml8-6f9dbde2a527183d401b9ab4cff067808525e14a.zip
define the detail of address masking against spammers.
$use_html_archive_address_mask = yes $html_archive_address_mask_type = all
Diffstat (limited to 'fml/lib/Mail/Message/ToHTML.pm')
-rw-r--r--fml/lib/Mail/Message/ToHTML.pm45
1 files changed, 33 insertions, 12 deletions
diff --git a/fml/lib/Mail/Message/ToHTML.pm b/fml/lib/Mail/Message/ToHTML.pm
index c8793135..f047155d 100644
--- a/fml/lib/Mail/Message/ToHTML.pm
+++ b/fml/lib/Mail/Message/ToHTML.pm
@@ -4,7 +4,7 @@
# All rights reserved. This program is free software; you can
# redistribute it and/or modify it under the same terms as Perl itself.
#
-# $FML: ToHTML.pm,v 1.50 2003/08/08 03:52:55 fukachan Exp $
+# $FML: ToHTML.pm,v 1.51 2003/08/14 13:43:09 tmu Exp $
#
package Mail::Message::ToHTML;
@@ -17,7 +17,7 @@ my $debug = 0;
my $URL =
"<A HREF=\"http://www.fml.org/software/\">Mail::Message::ToHTML</A>";
-my $version = q$FML: ToHTML.pm,v 1.50 2003/08/08 03:52:55 fukachan Exp $;
+my $version = q$FML: ToHTML.pm,v 1.51 2003/08/14 13:43:09 tmu Exp $;
if ($version =~ /,v\s+([\d\.]+)\s+/) {
$version = "$URL $1";
}
@@ -105,8 +105,9 @@ sub new
$me->{ _num_attachment } = 0; # for child process
$me->{ _use_subdir } = 'yes';
$me->{ _subdir_style } = 'yyyymm';
- $me->{ _html_id_order } = $args->{ index_order } || 'normal';
- $me->{ _address_mask } = $args->{ address_mask } || 'mask';
+ $me->{ _html_id_order } = $args->{ index_order } || 'normal';
+ $me->{ _use_address_mask } = $args->{ use_address_mask } || 'yes';
+ $me->{ _address_mask_type } = $args->{ address_mask_type } || 'all';
use Mail::Message::Thread;
my $t = new Mail::Message::Thread $args;
@@ -741,9 +742,11 @@ sub _format_safe_header
my $xbuf = $hdr->get($field);
- # mask the raw address.
- if ($field =~ /^(From|To|Cc)$/ && $self->{ _address_mask } ne 'nomask') {
- $xbuf = $self->_who_of_address($xbuf);
+ # mask the raw address against address collector (e.g. spammer).
+ if ($self->{ _use_address_mask } eq 'yes') {
+ if ($self->_is_mask_address($field)) {
+ $xbuf = $self->_who_of_address($xbuf);
+ }
}
$xbuf = $self->_decode_mime_string($xbuf) if $xbuf =~ /=\?iso/i;
@@ -1981,11 +1984,6 @@ sub _print_li_filename
}
-=head2 misc
-
-=cut
-
-
# Descriptions: extrace gecos field in $address
# Arguments: OBJ($self) STR($address)
# Side Effects: none
@@ -1999,6 +1997,29 @@ sub _who_of_address
}
+# Descriptions: mask the detail of address
+# Arguments: OBJ($self) STR($field)
+# Side Effects: none
+# Return Value: NUM
+sub _is_mask_address
+{
+ my ($self, $field) = @_;
+ my $type = $self->{ _address_mask_type } || 'all';
+
+ if ($type eq 'all') {
+ if ($field =~ /^(From|To|Cc)$/i) {
+ return 1;
+ }
+ else {
+ return 0;
+ }
+ }
+ else {
+ return 0;
+ }
+}
+
+
# Descriptions: decode MIME-encoded $str
# Arguments: OBJ($self) STR($str) HASH_REF($options)
# Side Effects: none