Halihallo Michael
Ich glaube mein erster Eintrag ist nicht angekommen... hab wohl was falsch gemacht. :-(
Link bitte.
Daten auslesen
use CGI;
Mailparameter festlegen für an sich selbst senden
@recipient='Webmaster@xxxxxxxxxxxxxx.de';
Hier sollte eine runde Klammer stehen, nicht aber ...
@message=($FORM{'kommentar'});
...hier, denn die Formulardaten sind nunmal Skalare, auch wenn sie mehrzeilig sind.
$myaddress=($FORM{'email'});
$realname=($FORM{'name'});
$realname1=($FORM{'organisation'});
$realname2=($FORM{'telefon'});
$returnhtml='http://www.xxxxxxxxxxxxx.de/feedbackbestaetigung.htm'
keine runden Klammern bei skalaren Werten. Runde Klammern sind für Arrays und Hashes zu verwenden.
Mail schreiben und an sich selbst senden
open (MAIL, "|sendmail.exe -t");
print MAIL "From: $myaddress\n";
print MAIL "To: @recipient[0]\n";
print MAIL "Subject: Feedback\n\n";
print MAIL "Absender_________________________ \n";
print MAIL "$myaddress\n\n";
print MAIL "Angaben Feedbacksender___________ \n";
print MAIL "Ansprechpart.: $realname\n";
print MAIL "Organisaion: $realname1\n";
print MAIL "Telefon: $realname2\n\n";
print MAIL "Mitteilung_______________________ \n\n";
print MAIL "@message[0]\n";
print MAIL $message[0] um den ersten Eintrag der Liste zu selektieren.
Ausgabe an den Browser
print "Content-Type: text/html\n\n";
[...]
sleep(5)
print "Location: $returnhtml\n\n";
Location ist ein Header, du hast aber bereits Content gesendet. Das Location muss nach Content-Type (allgemeiner: einfach im Header) stehen, sonst wird es nicht interpretiert. Ein Refer auf Clientseite kannst du über
<meta http-equiv="refresh" content="0; URL=...">
realisieren.
Viele Grüsse
Philipp
PS: perldoc perlstyle; use strict; use warnings; perldoc perldata; use Net::SMTP