Simon Harston: Probleme mit Mailscript

Beitrag lesen

Hi,

ich suche ein Tutorial in dem Beschrieben wird wie man ein Mailscript schreibt. Meine eigenen Versuche werden von unserem UnixServer immer verrissen mit einem netten "Internal Server Error".

Hi Stefan,

ich sehe zwar nicht dirket den Fehler, aber ich hätte zwei Tips. Als allererstes im Skript
solltest Du die Fehlerausgabe des Servers auf die Standardausgabe umlenken, dann kannst
Du's lesen und brauchst Dich nicht jedes Mal über ein nichtssagendes Error500 aufregen.

Also:

$=1; print "Content-type: text/plain\n\n";
open(STDERR, ">&STDOUT") print "(Could't dupe STDERR to STDOUT!)\n\n";

So, und nun kann ich Dir mit Deinem eigenen Problem nur insoweit helfen, dass ich Dir ein
Code-Snippet gebe, das bei mir auf jeden Fall funktioniert. (Vielleicht, das scheint mir der
einzige Unterschied, ist Dein Pfad zu sendmail falsch?!)

$mailprog = '/usr/lib/sendmail';
$mail_text = "To: $config{'recipient'}\n" . "X-Mailer: jSh.FormMail\n"
."Subject: ". ($config{'subject'} ? $config{'subject'} : "jSh.FormMail submission") ."\n\n"
."This data was submitted on ". scalar(localtime) ."\n";
$mail_text .= "from ". $ENV{'HTTP_REFERER'} ."\n" if $ENV{'HTTP_REFERER'};
$mail_text .= "\n". "-" x 75 ."\n\n";
foreach $field (@fields) {
if ($form{$field} $form{$field} eq '0') { $mail_text .= "$field: $form{$field}\n\n"; }}
$mail_text .= "-" x 75 ."\n\n";

open(MAIL,"$mailprog -t") &error('mail_prg'); # open mail program
print MAIL $mail_text;
close (MAIL);

Schönen Gruß und viel Spaß weiter beim Mail-Debuggen.