Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#49

Re: [PHP] Email senden

  Alt 14. Apr 2006, 17:03
Der vollständigkeit halber:
Code:
$headers = "MIME-Version: 1.0\n".
   "Content-Type: text/plain; charset=iso-8859-1\n".
   "From: \"".$_POST['yourname']."\" <".$_POST['from'].">\n".
   "To: ".TO." <".TO.">\n".
   "Date: ".date("r")."\n";
   
  $name = preg_replace('#[^a-zA-Z0-9 ]#i', '', $_POST['yourname']);
  $from = preg_replace('#[^a-zA-Z0-9 ]#i', '', $_POST['from']);
  $subject = preg_replace('#[^a-zA-Z0-9 ]#i', '', $_POST['subject']);

  $msg = "Name    : ".$name."\n".
         "E-Mail  : ".$from."\n".
         "Betreff : ".$subject."\n\n".$text;
  $msg = stripslashes($msg);
Halt, stopp. Jetzt wird ja auch in der Adresse (from) das @ und der Punkt rausgefiltert. Das darf natürlich nicht sein. Desweiteren wird die Absendeadresse ja hier:
Code:
if ((empty($from) || empty($text)) || (!validate_email($_POST['from'])))
  {
     echo "

Bitte füllen Sie mindestens die Felder 'E-Mail Adresse' und 'Text' aus und überprüfen Sie ihre E-Mail Adresse
     auf Gültigkeit.</p>";
  }
  else if (!mail($to, $_POST['subject'], $msg, $headers))
  {
    echo '

Es ist ein Fehler beim Senden der E-Mail aufgetreten.</p>';
  }
  else
  {
    echo '

Die E-Mail wurde erfolgreich gesendet.</p>';
  }
Code:
function validate_email($email)
  {
 
     // Create the syntactical validation regular expression
     $regexp = "^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$";
 
     // Presume that the email is invalid
     $valid = 0;
 
     // Validate the syntax
     if (eregi($regexp, $email))
     {
        list($username,$domaintld) = split("@",$email);
        // Validate the domain
        if (getmxrr($domaintld,$mxrecords))
           $valid = 1;
     } else {
        $valid = 0;
     }
     return $valid;
  }
überprüft.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat