Thread GPG-Signatur in Webmailer? (8 answers)
Opened by nikster at 2005-09-17 05:44

nikster
 2005-09-17 05:44
#5616 #5616
User since
2004-05-19
12 Artikel
BenutzerIn
[default_avatar]
Hallo Leute.
Ich habe ein Webmailformular gebaut mit dem ich von meinem Mailserver aus Mails verschicken kann (ich konnte mal von einem Hotel aus nicht ueber den Proxy raus... andere Geschichte)
Jetzt wuerde ich von diesem Formular aus gerne meine GPG Signatur mit einbinden.
Da ich als User auf dem Mailserver ja existiere und mir auch meinen Keyring in .gnupg ablegen kann ist der Key ja quasi schon da...
Ich habe aber noch keinen Schimmer wie ich ihn einbinden kann

Hier mal das Script das ich benutze:

Code: (dl )
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&auml;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&ouml;schen"><p>
 </FORM>
 </BODY>
 </HTML>
 ~;
 }
else
 {
 print qq~
 <H2>Mail wurde verschickt</H2>
 <P>
 <a href="javascript:history.back()">Zur&uuml;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);
 }


Ich bin fuer jeden Hinweis der mich evtl. auf die richtige Spur fuehrt dankbar.

Gruss

Niels

edit pq: code-tags hinzugefĆ¼gt
beispiel-emails: RFC 2606\n\n

<!--EDIT|pq|1126959869-->

View full thread GPG-Signatur in Webmailer?