sendmail am selfhtml-Beispielskript funzt nicht
skywalker
- cgi
Tach, beschäftige mich etwas mit Foren und versuche sendmail zu benutzen, aus dem Beispiel auf der selfhtml-seite
http://selfaktuell.teamone.de/tippstricks/cgiperl/form-mail/index.htm
habe ich die .pl und .html Datei installiert und obwohl keine Fehlermeldung vom Linux-Server kommt erhalte ich einfach keine Mail. Ich hab's auch schon auf einem anderen Server versucht, aber ich bekomm's einfach nicht hin.
Habe an die fragwürdigen Stellen in der html-Datei (mailto, return, delimiter, subject) passende Werte eingesetzt, meine eMail-Adresse, eine return-Seite, ": " für value wie im Beispiel und einen Betreff für das subject.
Das Skript läuft durch, wirft mich auf die Ausgangsseite aber ich bekomme keine Mail. Was kann ich tun?
skywalker
Hallo,
http://selfaktuell.teamone.de/tippstricks/cgiperl/form-mail/index.htm
Wie Du aus einer URL einen klickbaren Link machen kannst,
steht in der FAQ: </faq/#Q-19>
http://aktuell.de.selfhtml.org/tippstricks/cgiperl/form-mail/index.htm
Das Skript läuft durch, wirft mich auf die Ausgangsseite aber ich bekomme keine Mail. Was kann ich tun?
Frag Deinen Webspace-Provider nach dem korrekten Pfad
zu sendmail, und aendere diese Zeile entsprechend:
$Sendmail_Prog = "/usr/lib/sendmail";
Manchmal muss es noch ein -t haben:
$Sendmail_Prog = "/usr/lib/sendmail -t";
Und es kann auch sein, dass auf dem Server gar kein sendmail laeuft...
Gruesse,
Thomas
Hallo,
Frag Deinen Webspace-Provider nach dem korrekten Pfad
zu sendmail, und aendere diese Zeile entsprechend:
müßte es dann nicht einen Fehler beim öffnen geben?
vielleicht hat er den fehler gemacht das @ nicht zu maskieren, wenn er den String in "" eingefaßt hat.
Das hatte ich nämlich auch neulich. Es erschien kein Fehlermeldung bzw. die nachgezogene Ausgabe, aber keine Mail. Die Fehlzustellung erhielt ich dann aber in meinem Catch-All.
Odium
Halihallo Odium, Thomas und skywalker
Frag Deinen Webspace-Provider nach dem korrekten Pfad
zu sendmail, und aendere diese Zeile entsprechend:
müßte es dann nicht einen Fehler beim öffnen geben?
Nur, wenn man den Fehler auch abfängt. Das geschieht zwar im Beispiel, jedoch geht
die Fehlermeldung an STDERR, was oft nicht an den Client gesendet wird, sondern vom
error_log geschluckt wird. Falls man den Fehler nicht abfängt, passiert rein gar nix.
vielleicht hat er den fehler gemacht das @ nicht zu maskieren, wenn er den String in "" eingefaßt hat.
Dann würde ich skywalker mal vorschlagen, er soll sich Debug-Ausgaben ausgeben lassen,
denn oft lassen sich Probleme erst so finden.
@Thomas: sendmail soll _immer_ mit -t Schalter benutzt werden, wenn man die Eingaben
nicht überprüft (was auch schlechter Stil ist). Ansonsten wird die E-Mail-Adresse über
die shell-command-parameter (´sendmail to@mail.box.de´) übergeben und kann somit
von einem Angreifer ausgenutzt werden, um sich z.B. über pipes irgendeine Datei zusenden
zu lassen. Es wäre wirklich sehr empfehlenswert den -t Schalter zu benutzen und die
Mailadresse im Mailheader anzugeben; oder gar auf dieses plattformabhängige sendmail
zu verzichten und Net::SMTP mit MIME-Tools zu verwenden.
Viele Grüsse
Philipp
Hallo Philipp,
@Thomas: sendmail soll _immer_ mit -t Schalter benutzt werden, [...]
Danke fuer die Ausfuehrungen. Wieder was gelernt:-)
Ich muss zugeben, dass ich von Perl und Sendmail sehr wenig Ahnung habe.
In den seltenen Faellen, wo ich noch ein Perl-Skript zur Formularverarbeitung
benuetze, halte ich mich beim Pfad zu sendmail u.s.w. einfach an die Vorgaben
meines Webhosters.
Gruesse,
Thomas
der eher auf PHP "abfaehrt"