Hallo,
seit Wochen versuche ich eine E-mail aus einem Perl-prg zu senden. Leider funktioniert es immer noch nicht. Heute habe ich einfach den Program-Code aus SELFHTML genommen und mit einem einfachen Formular angesprochen. Getestet bei mir zu Hause, keine Fehlermeldung keine Email empfangen. Getestet bei externern Server ( dessen Sendmail Pfad der gleiche ist wie im Program ) funktioniert auch nicht. Ich habe jetzt schon viele Stunden ausprobiert. Wenn jemand die Geduld hat mir meinen Fehler zu erklären, wäre ich sehr, sehr dankbar.
Beste Grüße
Volker
Perl-prg:
if($ENV{'REQUEST_METHOD'} eq 'GET')
{
$Daten = $ENV{'QUERY_STRING'}
}
else
{
read(STDIN, $Daten, $ENV{'CONTENT_LENGTH'});
}
@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[$i] = $name;
$i = $i + 1;
$Formular[$i] = $value;
$i = $i + 1;
}
$Mailprogramm = "/usr/lib/sendmail"; # siehe Erläuterung unten
$MailSubject = "Formluar-Feedback"; # siehe Erläuterung unten
$Empfaenger = "adler40@asamnet.de"; # siehe Erläuterung unten
$SenderName = $Formular[1]; # siehe Erläuterung unten
$SenderMail = $Formular[3]; # siehe Erläuterung unten
open(MAIL,"$Mailprogramm -t") die;
print MAIL "To: $Empfaenger\n";
print MAIL "From: $SenderMail $SenderName\n";
print MAIL "Subject: $MailSubject\n\n";
$i = 0;
$max = $#Formular;
for($i=0;$i<=$max;$i=$i+2)
{
print MAIL "$Formular[$i]: $Formular[$i+1]\n";
}
close(MAIL);
print "Content-type: text/html\n\n";
print "<html>\n";
print "<head>\n";
print "<title>Danke!</title>\n";
print "</head>\n";
print "<body bgcolor=#FFFFFF text=#000000 link=#009900 vlink=006600 alink=#0000FF>\n";
print "<h1>Danke</h1>\n";
print "Wir freuen uns, daß Sie unser Formular ausgefüllt \n";
print "haben. Hier zur Kontrolle Ihre Angaben:<p>\n";
for($i=0;$i<=$max;$i=$i+2)
{
print "<b>$Formular[$i]:</b> $Formular[$i+1]<br>\n";
}
print "<p><hr noshade size=1><p>";
print "<i>Ihr Name, <a href="mailto:IhrName@Provider.xx">IhrName@Provider.xx</a></i>";
print "</body>\n";
print "</html>\n";
HTML-Seite:
<hr><form method=POST action="/cgi-bin/sendtest.pl">
Vorname: <input name=Firstname size=30><br>
<input type="submit" value="Abschicken">
</form><hr>