Automatische Mailfunktion mit CGI auf lokalen Apache Server
Alex
- cgi
Hallo,
seit einigen Tagen versuche ich die Inhalte eines HTML-Formulars über ein CGI-Skript mir zu Testzwecken zu mailen.
-Als lokalen Server benutze ich den neusten Apache.
-Habe auch in der config datei ..CGI freigegeben.
-Die PL Dateien befinden sich alle in der cgi-bin
-Das CGI-Skript ruft Sendmail auf
-Innerhalb der CGI Datei ist als empfänger eine GMX-Adresse angegeben
hier mein CGI-Skript:
#!/usr/local/bin/perl
$mailer = "/usr/sbin/sendmail -t";
$valist = "";
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
$temp = $buffer;
$temp =~ s/+/ /g;
$temp =~ s/%([0-9|A-F]{2})/pack(C,hex($1))/eg;
foreach (split(/&/,$temp))
{
($NAM, $VAL) = split(/=/, $_);
$DATA{$NAM} = $VAL;
$valist .= "$NAM:$VAL\n";
}
$sendto = 'meineadresse@gmx.de'; # hier steht meine Adresse
$subject = $DATA{'subject'};
$response = $DATA{'response'};
$user_email = $DATA{'user_email'};
$user_name = $DATA{'user_name'};
open (MAIL, "|$mailer") || die "Can't open $mailprog!\n";
print MAIL "Subject: $subject\n";
print MAIL "From: $user_email ($user_name)\n";
print MAIL "To: $sendto\n";
print MAIL "\n";
print MAIL "$valist";
print MAIL "\n";
print MAIL "Remote IP address: $ENV{'REMOTE_ADDR'}\n";
close (MAIL);
print "Content-type:text/html\n\n";
print "<HTML><BODY><TITLE>Thank you</TITLE>";
print "<FONT SIZE=+2>$response</FONT>";
print "</BODY></HTML>";
Wenn ich nun das Skript aufrufe, kommt keine Fehlermeldung.
Woran kann das liegen??
Bin für jeden Hinweis sehr dankbar.
hallo,
-Als lokalen Server benutze ich den neusten Apache.
Es spielt ja keine Rolle, aber welcher genau ist es und welches Betriebssystem benutzt du? Der Apache hat ansonst mit dem geschilderten Problem nichts zu tun.
-Habe auch in der config datei ..CGI freigegeben.
Welche "config datei" meinst du, und was bedeutet "freigegeben"?
-Die PL Dateien befinden sich alle in der cgi-bin
Was sind "PL Dateien", und was weiß eventuell dein Server davon, wie er damit umgehen soll?
-Das CGI-Skript ruft Sendmail auf
Achso. Ist sendmail denn vorhanden?
Woran kann das liegen?
An einer fehlerhaften sendmail-Konfiguration.
Grüße aus Berlin
Christoph S.
morgens,
Woran kann das liegen?
An einer fehlerhaften sendmail-Konfiguration.
"fehlerhaft" bedeutet, daß du möglicherweise falsche Erwartungen an dein saendmail knüpfst. Das funktioniert recht gut, wenn du dein eigener Provider bist. Wenn du das nicht bist, solltest du besser nicht versuchen, einen eigenen mail-Service so zu etablieren, daß er tatsächlich über das Internet mails versenden kann.
Grüße aus Berlin
Christoph S.
/2.Versuch!!
Danke für die schnelle Antwort.
Welche "config datei" meinst du, und was bedeutet "freigegeben"?
ich meinte damit die httpd.conf
darin habe ich in der Zeile "AddHandler cgi-script .cgi" das '#' gelöscht und somit CGI freigeschaltet!!
Was sind "PL Dateien", und was weiß eventuell dein Server davon, wie er damit umgehen soll?
Denke schon !!
denn der Server verarbeitet das script ja schon !!
bekomme eine Bestätigung "thank you" --> siehe CGI-Skrip
Achso. Ist sendmail denn vorhanden?
wie kann ich das nachschauen??
An einer fehlerhaften sendmail-Konfiguration.
wo kann man das feststellen?
kennst du denn einen kostenlosen Provider der CGI unterstützt?
Gruß aus München Alex
hallo Alex,
ich meinte damit die httpd.conf
darin habe ich in der Zeile "AddHandler cgi-script .cgi" das '#' gelöscht und somit CGI freigeschaltet!
Ja, aber nur ".cgi", und keineswegs ".pl", das mußt du dort auch noch angeben.
denn der Server verarbeitet das script ja schon !
bekomme eine Bestätigung "thank you" --> siehe CGI-Skrip
Na gut, wenn du das meinst ...
Achso. Ist sendmail denn vorhanden?
wie kann ich das nachschauen?
Das hängt von deinem Betriebssystem ab bzw. von der Art, wie du es installiert hast.
An einer fehlerhaften sendmail-Konfiguration.
wo kann man das feststellen?
Nachlesen bitte bei http://www.sendmail.org/
kennst du denn einen kostenlosen Provider der CGI unterstützt?
- brauche es nun zu Testzwecke!
Schau mal in die Liste unter http://aktuell.de.selfhtml.org/links/provider.htm
Grüße aus Berlin
Christoph S.
Hi Christoph,
bin am verzweifeln....
Nun habe einen kostenlosen Provider gefunden das CGI unterstützt.
habe auch das script einfach umbenannt als CGI.
Wenn ich nun das Skript aufrufe bekomme ich weiterhin die Bestätigung das es verarbeitet worden ist. ("Thank you")
Aber keine MAIL!!!
Kannst es ja mal probieren!!
hier der Link:
http://earth.prohosting.com/ali19799/cgi-bin/mailsend.cgi
das HTML-File
http://earth.prohosting.com/ali19799/CGI-Test.htm
Wie kann das sein??
Gibt es CGI-Befehle mit denen ich genaue Rückmeldungen über sendmail bekommen kann?
Gruß aus München
Alex
Danke für die schnelle Antwort.
Welche "config datei" meinst du, und was bedeutet "freigegeben"?
ich meine damit die httpd.conf
darin habe ich in der - Zeile das '#' gelöcht und somit CGI freigeschaltet!!
Was sind "PL Dateien", und was weiß eventuell dein Server davon, wie er damit umgehen soll?
Denke schon !!
denn verarbeiten der server das ja schon !!
bekomme eine bestätigung das die mail abgeschickt wird.
"thank you" --> siehe CGI-Skrip
Achso. Ist sendmail denn vorhanden?
wie kann ich das nachschauen??
An einer fehlerhaften sendmail-Konfiguration.
wo kann man das feststellen?
kennst du denn einen kostenlosen Provider der CGI unterstützt?
Gruß aus München Alex