Dj Schmiddi: Formmailer geht nicht.

Beitrag lesen

Moin.

Code E-Mail Formular:

<body bgcolor="#000000">
<center>
 <p>
<font face="Verdana">
<br>
</font>
<form action="input_text.htm">
<p><font color="#C0C0C0"><font face="Verdana">Deine E-Mail:</font><br>
</font>
<input name="e-mail" type="text" size="30" maxlength="30">
</p>
<p><font color="#C0C0C0"><font face="Verdana">Betreff:</font><br>
</font>
<input name="betreff" type="text" size="30" maxlength="40">
</p>
</form>
</p>
<br>
<form action="textarea.htm">
<p><font face="Verdana" color="#C0C0C0">Nachricht:<br>
</font>
<textarea name="user_eingabe" cols="50" rows="10"></textarea>
</p>
</form>
<br>
<br>
<form action="http://www.***********/selfmail.pl" method="post">
<input type="hidden" name="mailto" value="djschmiddi@web.de">
<input type="hidden" name="return" value="http://www.**************/Erfolgreich.htm">
<input type="hidden" name="delimiter" value=": ">
<input type="hidden" name="subject" value="von www.*********.de">
<!-- hier beliebige eigene Felder -->
<input type="submit" value="Abschicken" name="Abschicken"><input type="reset">
</form>
</center>

Code selfmail.pl

#!/usr/bin/perl

-------> SMTP-Programm zum Versenden der Mail:

$Sendmail_Prog = "/usr/lib/sendmail";

-------> Modul für CGI-Scripts einbinden:

use CGI;

-------> Modul für CGI-Scripts zum Einlesen der Formulardaten anwenden:

$query = new CGI;
@names = $query->param;

-------> interne Daten aus den erwarteten hidden-Feldern auslesen:

$delimiter = $query->param('delimiter');  # ---> :
$mailto = $query->param('mailto');        # ---> djschmiddi@web.de
$returnhtml = $query->param('return');    # ---> http://www.*************/Erfolgreich.htm
$subject = $query->param('subject');      # ---> von www.*******.de

-------> Text der E-Mail aus den Formulardaten ermitteln:

$mailtext = "";
foreach(@names) {
  $name = $_;
  @values = "";
  @values = $query->param($name);
  if($name ne "mailto" && $name ne "return" && $name ne "subject" && $name ne "delimiter") {
    foreach $value (@values) {
      $mailtext = $mailtext.$name;
      $mailtext = $mailtext.$delimiter;
      $mailtext = $mailtext.$value."\n";
    }
  }
}

-------> E-Mail versenden:

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);

-------> Dankeseite an Browser senden:

print "Location: $returnhtml\n\n";

ENDE

Hoffe das ist das was du meinst.

MfG, Schmiddi.