summaryrefslogtreecommitdiff
path: root/regress/message/scramble.pl
blob: be3dfc0e880885d563b1b53cbbe538d0f2bfea74 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/usr/bin/env perl
#-*- perl -*-
#
#  Copyright (C) 2001,2002 Ken'ichi Fukamachi
#   All rights reserved. This program is free software; you can
#   redistribute it and/or modify it under the same terms as Perl itself. 
#
# $FML: scramble.pl,v 1.2 2002/12/30 13:18:50 fukachan Exp $
#

use strict;
use Carp;

my $from        = undef;
my $from_found  = 0;
my $date_found  = 0;
my $msgid_found = 0;

if (defined $ENV{ FML_EMUL_FROM }) {
    $from = $ENV{ FML_EMUL_FROM };
} 

while (<>) {
    if (/^date:/i) {
		$date_found = 1;
	}

    if (/^message-id/i) {
	my $time = time;
	s/\d+/$time.$$/g;
	$msgid_found = 1;
    }

    if (defined($from) && /^From:/ && (not $from_found)) {
	s/\S+\@\S+/$from/;
	$from_found = 1;
    }

    if (/^$/) {
	unless ($msgid_found) {
		my $time = time;
		my $host = `hostname`; chomp $host;
		print "Message-ID: <$time\@$host>\n";
		$msgid_found = 1;
	}

	unless ($date_found) {
		print "Date: ";
		print `date +"%a, %d %b %Y %H:%M:%S +0900 (JST)."`;
		$date_found = 1;
	}
    }

    print $_;
}

exit 0;