/ (PERL) No valid From Header (SELF Formmailer)
Paul Styrnol
- cgi
Morgen,
für einen Formmailer habe ich das PERL-Script aus dem entsprechenden Feature Artikel (http://aktuell.de.selfhtml.org/artikel/cgiperl/form-mail/index.htm) genommen und angepasst.
Das gleiche Script habe ich bereits bei einem anderen Provider verwendet wo es ohne Probleme funktionierte.
Hier das angepasste Script:
-------------------------------------------------------
#!/usr/bin/perl
$Sendmail_Prog = "/usr/sbin/sendmail";
use CGI;
$query = new CGI;
@names = $query->param;
$delimiter = $query->param('delimiter'); # ---> Begrenzerzeichen zwischen name und value
$mailto = $query->param('mailto'); # ---> Empfängeradresse
$returnhtml = $query->param('return'); # ---> URL für Dankeseite
$subject = $query->param('subject'); # ---> E-Mail-Subject
$mailtext = "";
foreach(@names) {
$name = $_;
@values = "";
@values = $query->param($name);
$mailto = "id-krise@wesf-clan.de";
if($name ne "return" && $name ne "subject" && $name ne "delimiter") {
foreach $value (@values) {
$mailtext = $mailtext.$name;
$mailtext = $mailtext.$delimiter;
$mailtext = $mailtext.$value."\n";
}
}
}
open(MAIL,"|$Sendmail_Prog -t") || print STDERR "Mailprogramm konnte nicht gestartet werden\n";
print MAIL "To: $mailto\n";
print MAIL "Subject: $subject\n\n";
print MAIL "$mailtext\n";
close(MAIL);
print "Location: $returnhtml\n\n";
-------------------------------------------------------
Das Formular auf der Seite sieht folgendermaßen aus:
-------------------------------------------------------
<form action="cgi-bin/formmail.pl" method="post">
<table>
<tr>
<th><label for="name" title="Euer ausgeschriebener Clanname">Clanname:</label></th>
<td><input type="hidden" name="return" value="index.php"><input type="hidden" name="delimiter" value="">
<input type="hidden" name="subject" value="Herausforderung">
<input name="Clanname: " type="text" size="35"></td>
</tr>
<tr>
<th><label for="name" title="Der Name eurer Kontaktperson">Kontaktperson:</label></th>
<td><input name="Kontaktperson: " type="text" size="35"></td>
</tr>
<!-- weitere Felder -->
<input type="submit" value="Herausfordern!"><input type="reset" value="Ne, lieber nich!">
</td>
</tr>
</table>
</form>
-------------------------------------------------------
Wenn ich die Daten nun abschicken möchte erhalte ich folgende Meldung:
No valid From Header
Es wurde vergessen einen gültigen From Header für die E-Mail anzugeben!
Location: index.php
Was da fehlt ist ja mehr oder weniger klar, ein gültiger Absender, aber ich verstehe nicht, warum es bei dem einen Provider funktioniert und bei dem anderen nicht. Kann das and der Konfiguration von sendmail liegen?
http://aktuell.de.selfhtml.org/artikel/cgiperl/inbetriebnahme/index.htm#a19 konnte mir leider auch nicht weiterhelfen.
Weshalb geht es also bei einem Provider und beim anderen nicht und wie bekomme ich das hin, dass es läuft?
Viele Grüße,
Paul
Halihallo Paul
Was da fehlt ist ja mehr oder weniger klar, ein gültiger Absender, aber ich verstehe nicht, warum es bei dem einen Provider funktioniert und bei dem anderen nicht. Kann das and der Konfiguration von sendmail liegen?
Ja, kann IMHO.
Weshalb geht es also bei einem Provider und beim anderen nicht und wie bekomme ich das hin, dass es läuft?
Befasse dich z. B. mit der Dokumentation von sendmail. Die "Inbetriebnahme" was du da
gepostet hast, ist nicht wirklich die passende Lektüre zum Thema.
Wie du es zum Laufen kriegst? - Himmel, schreib ein From: bla@bla.co.uk\n in den
Headerbereich; diesen Header sollten _alle_ Mails haben.
Viele Grüsse
Philipp
Hi Philipp
Die "Inbetriebnahme" was du da gepostet hast, ist nicht wirklich die passende Lektüre zum Thema.
Kann ich nicht beurteilen, dafür kenne ich mich zu wenig aus auf dem Gebiet. Es stand dort, dass man bei Problemen mit dem Formmailer mal dort nachsehen soll.
Wie du es zum Laufen kriegst? - Himmel, schreib ein From: bla@bla.co.uk\n in den
Hm, da hätte ich selber drauf kommen sollen, hätte ich mir das Skript besser angeschaut.
Jedenfalls klappt es jetzt, danke für deine Hilfe.
Viele Grüße
Paul