n.d. parker: sendmail

Beitrag lesen

re hi!

Kann es eigendlich nicht sein...  Ich poste mal das ganze Script..:

in diesem fall eine gute idee... .-)

#!/usr/local/bin/perl

use strict;

use CGI::Carp qw(fatalsToBrowser);

Daten vom Formular bekommen

use CGI;
my $q=new CGI;

alles was jetzt kommt, raus

read(STDIN, $Daten, $ENV{'CONTENT_LENGTH'});
print "Content-type: text/html\n\n";

Daten auswerten

@Formularfelder = split(/&/, $Daten);
foreach $Feld (@Formularfelder)

»»  {

($name, $value) = split(/=/, $Feld);  
  $value =~ tr/+/ /;
  $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
  $value =~ s/<!--(.\n)*-->//g;      
  $Formular{$name} = $value;

»»  }

so, hier weiter

my $mailprog...

$mailprog = "/usr/sbin/sendmail";

^^^^^^^^ <-- siehe weiter unten..

my...

$subject = "hab hier \‚ne interessante Site gefunden!";

my...

$sendermail = $Formular{'Email'};

=$q->param('Email');

und so weiter (my nicht vergessen...)

$sendername = $Formular{'Name'};
$Empfaenger = $Formular{'EmailKumpel1'} + $Formular{'EmailKumpel2'};

Daten an Sendmail schicken...

open(MAIL,"$Mailprogramm -t") or die "Fehler beim Versenden der Mail: $!";

^^^^^^^^^^^^^<-- welches Mailprogramm (s.o.) ??

die folgenden Printanweisungen machen sich auch recht gut als HERE-Document...

print MAIL <<EOMAIL;
...
EOMAIL

close(MAIL);

etc.

print << "[END]";

^ <-- hier darf _kein_ leerzeichen hin!
...

[END]
EOP <-- wasn das?

so, hier nochmal ne zusammengefasste Version, die bei mir entstanden ist (syntaktisch korrekt, allerdings ungetestet)
vergleiche sie bitte mit deiner (gelegentlich zeichen fuer zeichen), damit du aus deinen fehlern lernst... .-)

==== schnipp ====
#!/usr/bin/perl

use strict;

use CGI::Carp qw(fatalsToBrowser);
use CGI;

Daten vom Formular bekommen

my $q=new CGI;

print "Content-type: text/html\n\n";

my $mailprog = "/usr/sbin/sendmail";
my $subject = "hab hier \‚ne interessante Site gefunden!";
my $sendermail = $q->param('Email');
my $sendername = $q->param('Name');
my $empfaenger = $q->param('EmailKumpel1') . $q->param('EmailKumpel2');
my $k1=$q->param('NameKumpel1');
my $k2=$q->param('NameKumpel2');
my $nachricht = $q->param('Nachricht');

Daten an Sendmail schicken...

open(MAIL,"$mailprog -t") or die "Fehler beim Versenden der Mail: $!";

print MAIL <<EOMAIL;
To: $empfaenger
From: $sendermail $sendername
Subject: $subject

Hallo!

$sendername hat gerade DanFun.com einen Besuch abgestattet und meint Du solltest
auch mal hier vorbeischauen!
Dieser Meinung sind wir auch. Also, die Adresse lautet
                            http://www.DanFun.com

Na dann bis gleich!

$sendername schrieb noch folgendes:

$nachricht

EOMAIL
close(MAIL);

open(MAIL, "$mailprog -t") or die "Fehler beim Versenden der Mail: $!";

print MAIL <<EOMAIL;
To: webmaster@danfun.com
From: mailbot@danfun.com DanFunMailbot
Subject: Weiterempfehlung versendet!

Von: $sendername $sendermail
An:  $empfaenger
An:  $k1 $k2
Msg: $nachricht
EOMAIL

close(MAIL);

Danke sagen...

print <<"[END]";
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Vielen Dank, $sendername!</title>
</head>

<body bgcolor="#000000" text="#FFFFFF" topmargin="0" leftmargin="0">

ne ganze Menge html deleted

</body>
</html>
[END]

end of source

==== schnapp ====

cua

n.d.p.