[Wichtig] Mail Script Problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Wichtig] Mail Script Problem

    hallo @ all

    ich habe ein problem. und zwar habe ich ein mailerscript.
    jetzt möchte ich dass user ihre email-adresse
    eingeben können und mein script dann keine mails an deren adresse sendet.

    also schutz vor spam.

    mein script sieht so aus:

    PHP-Code:
    <?
    $thank="thank.htm";
    $min_size="10";
    $max_size="1000";    
    $signature="";

    $no_message="Du musst eine Nachricht eingeben";
    $no_name="Du musst einen Namen angeben";
    $mail_error="Deine Email-Adresse ist nicht gültig 
    (Achte aber auf das @-Zeichen und die Domain!)";
    $tomail_error="Die Email-Adresse des Empfängers ist nicht 
    gültig (Achte auf das @-Zeichen und die Domain!";
    $max_error="Die Nachricht ist zu lang 
    (maximal $max_size Zeichen)";
    $min_error="Die Nachricht ist zu kurz 
    (mindestens $min_size Zeichen)";
    worden!";

    $error_title="wrong parameters";        
    $back='#0000cc';                    
    $text='#ffffff';                    
    $h2='#ccccc';                    
    $error_message="Folgende Fehler sind aufgetreten:";

    $result=1;
    if($name==""){
    $result=0;
    $error1="<li>$no_name</li>";
    }
    if($message==""){
    $result=0;
    $error5="<li>$no_message</li>";
    }
    elseif (strlen($message) <= $min_size) {
    $error2="<li>$min_error</li>";
    $result=0;
    }
    elseif (strlen($message) >= $max_size) {
    $error3="<li>$max_error</li>";
    $result=0;
    }
    else{
    $result=1;
    }
    if ($from_mail!==""){
    if (!eregi("^.+@.+\\..+$", $from_mail)){
    $error4="<li>$mail_error</li>";
    $result=0;
    }
    }
    else{
    $from_mail=trim($from_mail);
    }
    if ($to_mail!==""){
    if (!eregi("^.+@.+\\..+$", $to_mail)){
    $error6="<li>$tomail_error</li>";
    $result=0;
    }
    }
    else{
    $to_mail=trim($to_mail);
    }
    if($subject==""){
    $subject="no subject";
    }
    if ($result==1){
    $body="$message\n";
    $body.="<br>-----<br>\n";
    $body.=$signature;
    $from="\"$from_name\" <$from_mail>";
    $headers="Content-Type: text/html; 
    charset=windows-1254\n";
    $headers.="From: $from\nX-Mailer: System33r";
    mail($to_mail,$subject,$body,$headers);
    Header ("Location: $thank");
    }
    if ($result!==1){
    echo ("Deine Email wurde versendet");
    }
    ?>

    Kann ich jetzt nicht irgendwie mit einem
    if befehl adressen aussschliessen?

    ich hab schon alles versucht, z.B.

    PHP-Code:
    if ($to_mail!=="meineadresse@ich.de"){
    echo (
    "Diese Email-Adresse wurde gesperrt!");

    aber nichts hat funktioniert. habs mit meiner
    adresse versucht. aber die mail wurde trotzdem
    immer versendet.

    Es wäre sehr nett, wenn mir jemand eine
    abgeänderte version bereitstellen würde.

    vielen dank im vorraus
    Zuletzt geändert von vaiouser; 17.01.2006, 14:06.

  • #2
    Dein Problem ist nicht wichtiger als alle anderen auch!

    http://www.php-resource.de/forum/sho...threadid=50454

    Kommentar


    • #3
      operator?!

      ich hab gerade erst mit php angefangen, kann also sein das ich mich arg täusche aber lautet der ungleich operator nicht != anstatt !== ?!

      Probiers mal

      Kommentar


      • #4
        stimmt schon aber es soll ja gleich sein und nicht ungleich.

        wenn jemand eine gesperrte adresse eingibt, soll je die meldung kommen: adresse gesperrt!

        Kommentar


        • #5
          hat wirklich keiner eine idee?

          eine gute lösung, wäre mit auch etwas wert!!

          Kommentar


          • #6
            Kannst doch die gesperrten Mails in ein Array tun:

            PHP-Code:
            $gesperrte_adressen = array('dsdf@web.de''sdsdfg@gmx.de'); // etc. 
            und dann bei der if-Abfrage:
            PHP-Code:
            if (in_array($to_mail$gesperrte_adressen)) {
                print(
            'Diese Adresse ist gesperrt!');

            Gruß,
            Flo.

            Kommentar


            • #7
              Original geschrieben von vaiouser
              stimmt schon aber es soll ja gleich sein und nicht ungleich.

              wenn jemand eine gesperrte adresse eingibt, soll je die meldung kommen: adresse gesperrt!
              Dann müsste es aber

              PHP-Code:
              if ($toMail == "xxx@xxx.com"
              heissen.

              Oben sagst du, dass die Message trotzdem immer versendet wurde. Wenn du die Mail nicht versenden willst musst du den mail()-Befehl ins "if" reinnehmen und dann mit != vergleichen.

              Kommentar

              Lädt...
              X