9 Einträge, 1 Seite |
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#!/usr/bin/perl
use strict;
my $mailprog = '/usr/lib/sendmail -oi -t';
# Absenderadresse der Mail
my $From = 'bla@bla.de.example';
# URL der Homepage. Formulare werden mit
# <FORM METHOD=POST ACTION="$homeurl$script_url"> angesprochen.
my $homeurl = 'http://fasel.bla.de';
# Maildomain: der '@' und alles, was dahinter kommt
my $Maildomain = 'bla.de';
my %FORM = ();
my @pairs;
my $buffer = '';
my $recipient = 'bla@bla.de';
my $comments = '';
my $sender = '';
my $script_url = $ENV{'SCRIPT_NAME'};
# Dokumenten-Kopf
print "Content-type: text/html\n\n";
print qq~
<Html>
<Head>
<Title>E-Mail-Formular</Title>
</Head>
<Body>
~;
# Get the input
if ($ENV{'REQUEST_METHOD'} eq 'GET') {@pairs = split(/&/, $ENV{'QUERY_STRING'});}
elsif ($ENV{'REQUEST_METHOD'} eq 'POST')
{
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
}
foreach my $pair (@pairs)
{
my ($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORM{$name} = $value;
}
#$recipient = $FORM{'recipient'} if (defined($FORM{'recipient'}));
$comments = $FORM{'comments'} if (defined($FORM{'comments'}));
#$sender = $FORM{'username'} .' (' . $FORM{'realname'} . ')';
# Wenn kein Empfaenger angegeben, falscher Aufruf
if ($recipient eq '')
{
print qq~
<H2>Fehler</H2>
Kein Empfänger angegeben.
</BODY>
</HTML>
~;
}
# Falls die Antwort leer ist, Formular ausgeben
elsif ($comments eq '')
{
print qq~
<H2>E-Mail-Nachricht versenden</H2>
<P>
<FORM method=POST action="$homeurl$script_url">
Hier bitte Ihren Text eingeben:<BR>
<TEXTAREA NAME="comments" ROWS=20 COLS=60>
</TEXTAREA>
<P>
<INPUT TYPE="hidden" Name="recipient" VALUE="$recipient">
<INPUT TYPE="submit" VALUE="E-Mail versenden">
<INPUT TYPE="reset" VALUE="Eingabe löschen"><p>
</FORM>
</BODY>
</HTML>
~;
}
else
{
print qq~
<H2>Mail wurde verschickt</H2>
<P>
<a href="javascript:history.back()">Zurück<P>
</Body>
</Html>
~;
# Jetzt E-Mail an $recipient senden, erst Adresse basteln
$recipient = $recipient . '@' . $Maildomain;
open (MAIL, "|$mailprog") || die "Can't open $mailprog!\n";
print MAIL "From: $From\n";
print MAIL "To: $recipient\n";
print MAIL "Subject: $subject\n";
print MAIL "Mime-Version: 1.0\n";
print MAIL "Content-Type: text/plain; charset=iso-8859-1\n";
print MAIL "Content-Transfer-Encoding: 8bit\n";
print MAIL "Reply-to: $sender\n";
print MAIL "\n";
print MAIL "$sender schrieb:\n\n";
print MAIL "$comments";
close (MAIL);
}
9 Einträge, 1 Seite |