PHP Formmailer

Alles was nichts mit Egosoft oder den X Spielen zu tun hat gehört hier rein.

Moderator: Moderatoren für Deutsches X-Forum

User avatar
Drow
Posts: 3065
Joined: Mon, 18. Nov 02, 15:31
x4

PHP Formmailer

Post by Drow »

Hi Leute,


ich versuche seit geraumer Zeit an einen PHP Formmailer zu kommen, der mittels PHP Script Formulare an meine Adresse schickt, aber ohne CGI oder Pearl. Das dumme ist nur dass trotz erfolgter Konfiguration ( auch keine Fehlermeldungen beim abschicken ) keine Mail ankommt. Kennt sich jemand von euch zufällig in diesem Bereich aus?

Hier ist ein Beispielcode, damit ihr euch ein Bild machen könnt:

Code: Select all

<?php

function isemail ($mail) {
  if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$mail)) {
     $ismail = 0;
     # Mailadresse sieht seltsam aus
  }   
  else {
     $ismail=1;
  }
  return $ismail;
}


echo"<html>
<head>
<LINK rel=\"stylesheet\"href=\"css.css\" type=\"text/css\">
</head>
<body text=\"#000000\" bgcolor=\"#2D87EA\" link=\"#FF0000\" alink=\"#FF0000\" vlink=\"#FF0000\">
<div align=\"center\">

<table border=\"0\" width=\"200px\" cellspacing=\"0\" cellpadding=\"1\">
<form ACTION=\"$PHP_SELF\" METHOD=\"POST\" name=\"formular\">";

if ($error1 == 1) {
echo"<tr>
     <td width=\"100%\" align=\"center\"><font size=\"-1\" face=\"tahoma\" color=\"ffffff\">Du mußt bitte deinen Namen eingeben!</font></td>
     </tr>"; }

if ($error2 == 1) {
echo"<tr>
     <td width=\"100%\" align=\"center\"><font size=\"-1\" face=\"tahoma\" color=\"ffffff\">Du mußt bitte eine gültige E - Mail angeben!</font></td>
     </tr>"; }

if ($error3 == 1) {
echo"<tr>
     <td width=\"100%\" align=\"center\"><font size=\"-1\" face=\"tahoma\" color=\"ffffff\">Du mußt bitte eine Message eingeben!</font></td>
     </tr>"; }

echo "<tr>
  <td width=\"100%\" align=\"center\"><font size=\"-1\" face=\"tahoma\" color=\"000000\">Name:</font></td>
 </tr>
 <tr>
  <td width=\"100%\" align=\"center\"><input type=\"text\" size=\"31\" maxlength=\"50\" name=\"name\" class=\"box01\"></td>
 </tr>";
     
echo "<tr>
  <td width=\"100%\" align=\"center\"><font size=\"-1\" face=\"tahoma\" color=\"000000\">E - Mail:</font></td>
 </tr>
 <tr>
  <td width=\"100%\" align=\"center\"><input type=\"text\" size=\"31\" maxlength=\"50\" name=\"email\" class=\"box01\"></td>
 </tr>";

echo "<tr>
  <td width=\"100%\" align=\"center\"><font size=\"-1\" face=\"tahoma\" color=\"000000\">Homepage:</font></td>
 </tr>
 <tr>
  <td width=\"100%\" align=\"center\"><input type=\"text\" size=\"31\" maxlength=\"50\" name=\"homepage\" class=\"box01\"></td>
 </tr>";

  
echo "<tr>
  <td width=\"100%\" align=\"center\"><font size=\"-1\" face=\"tahoma\" color=\"000000\">Message:</font></td>
 </tr>
 <tr>
  <td width=\"100%\" align=\"center\"><textarea rows=\"4\" name=\"message\" cols=\"31\" class=\"box01\"></textarea></td>
 </tr>";
  
echo "<tr>
  <td width=\"100%\" align=\"center\">&nbsp;</td>
 </tr>
 <tr>
  <td width=\"100%\" align=\"center\"><INPUT TYPE=\"submit\" class=\"box01\" name=\"action\" VALUE=\"Senden\"></td>
 </tr>
 </form>
</table>
</div>
</body>
</html>
";


// ehm hier fängt Absend action an!

if ($action == "Senden") {

$name = trim($name);
if ($name =="") {
header ("Location: $PHP_SELF?error1=1");
exit;
}

if (isemail($email) !=1) {
header ("Location: $PHP_SELF?error2=1");
exit;
}

$message = trim($message);
if ($message =="") {
header ("Location: $PHP_SELF?error3=1");
exit;
}

// Format : mail("empfaenger","betreff","nachricht","sonstige mailheader");

$mail="ddrow@freenet.de";
$bestaetigung="Betreff der an die E-MAil des User / Kunden geht.";

$text=str_replace("\\\"","\"",$text);  //Ist für Extern zuständig
$text=str_replace("\'","'",$text);


// mail eins ;)
mail($mail,"Betreff der an die eingene e-Mail addy geht","

Name: $name\n
E - Mail: $email\n
Homepage: $homepage\n
Message: $message\n

",

"From: $email <$email>
Content-Type:text");

// ende mail eins

// zweite mail :)

mail($email,"$bestaetigung","   // der Inhalt soll nur eine Bestätigung sein für denn Kunden / User das er kontakt mit einem aifgenommen hat.

Name: $name\n
E - Mail: $email\n
Homepage: $homepage\n
Message: $message\n

",

"From: $mail <$mail>
Content-Type:text");


header ("Location: contact02.php");
exit;
} // ende 

?>


Greets
Drow
User avatar
Lucike
Posts: 12969
Joined: Sun, 9. May 04, 21:26
x4

Post by Lucike »

Probiere mal folgendes, das habe ich mir vor einiger Zeit mal zusammen gefummelt. Musst nur noch die Variablen ändern.

Das Ganze funktioniert mit HTML Kontaktseite, einem Sammler und Mailer.
HTML-Code wrote:<html>
<head>
<title>Kontakt-Formular</title>
</head>
<body>
<form action="mailer.php" method="post">
Name: <input name="name" size="20" type="text">
eMail: <input name="email" size="20" type="text">
Betreff: <select name="betreff" size="1">
<option>Hilfe</option>
<option>Kritik</option>
<option>Werbung</option>
</select>
Text: <textarea cols="25" name="text" rows="5"></textarea>
<input name="abschicken" type="submit" value="Abschicken">
<input name="loeschen" type="reset" value="L&ouml;schen">
</form>
</body>
</html>
So dann den {mailer.php}
<html>
<head>
<title>Kontakt-Formular</title>
</head>
<body>

<?php

if($abschicken)
{
if(empty($name) || empty($email) || empty($text))
{
echo "Bitte gehen Sie zur&uuml;ck und f&uuml;llen Sie alle Felder aus!";
}
else
{

}
}
else
{
echo "Ein Fehler ist aufgetreten.";
}

?>

</body>
</html>
und den {Sammler}
<html>
<head>
<title>Kontakt-Formular</title>
</head>
<body>

<?php

if($abschicken)
{
if(empty($name) || empty($email) || empty($text))
{
echo "Bitte gehen Sie zur&uuml;ck und f&uuml;llen Sie alle Felder aus!";
}
else
{
while(list($feld,$wert)=each($HTTP_POST_VARS))
{
if($feld!="abschicken")
{
$mailnachricht.=ucfirst($feld).": $wertn";
}
}
$mailnachricht.="nDatum/Zeit: ";
$mailnachricht.=date("d.m.Y H:i:s");
$mailbetreff="Kontakt: ";
$mailbetreff.=$HTTP_POST_VARS[betreff];
mail("ihre@mailadresse.land", $mailbetreff, $mailnachricht, "From: $email");
echo "Vielen Dank für Ihre eMail!";
}
}
else
{
echo "Ein Fehler ist aufgetreten.";
}

?>

</body>
</html>
Image
User avatar
Lucike
Posts: 12969
Joined: Sun, 9. May 04, 21:26
x4

Post by Lucike »

Schnell noch mal getestet. Habe ich schon lange nicht mehr benutzt. ;)

http://www.lucike.info/email/kontakt.html

Funktioniert. ;)

Gruß
Lucike
Image

Return to “Off Topic Deutsch”