Hilfe bei Kontaktsystem

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

  • Hilfe bei Kontaktsystem

    Hallo!

    Leider bin ich übehaupt kein php spezialist und bräuchte eure Hilfe!
    Da zur Zeit die Spammails immer häufiger auftreten, wollte ich auf meiner Webseite per PHP ein Kontaktsystem einbauen, damit die Spamroboter nicht mehr meine "mailto:" E-Mail Adressen sammeln können.
    Nun habe ich im Netz ein Kontaktformular per php gefunden, dass auch funktioniert. Es hat aber einen kleinen Hacken! Wenn ich eine E-Mail vom Kontaktsystem bekomme, oder der Geschriebene eine Bestätigungsmail bekommt, bekomme ich keine HTML E-Mail:

    Ich bin bei Puretec.
    So sieht es in der E-Mail aus:

    Message-Id: <E1BDtqN-0008QS-00@mrvnet.kundenserver.de>
    X-Provags-ID: kundenserver.de abuse@kundenserver.de sender-info:72672509@infong183
    X-Provags-Forward: julian@jgd-online.de -> jhule@gmx.de


    Vorname: kjk

    Name: lkjlj

    Firma:

    Strasse:

    PLZ:

    Ort:

    Telefon:

    Telefax:

    Homepage: http://

    Email: mail@mail.de

    IP: 217.227.157.9

    Host: *.dip.t-dialin.net


    Nun weiß ich, dass man das Problem mit diesen php Befehlen irgendwie lösen kann:

    $header .= "From: ".$beitragabsendername." <".$beitragabsender.">\n";
    $header .= "MIME-Version: 1.0\n";
    $header .= "Transport-Encoding: 8bit\n";
    $header .= "Content-Type: text/html; charset=iso-8859-1";

    Aber ich weiß nicht wie ich es in mein PHP Kontaktformular einbauen muss. Und da bräuchte ich eure Hilfe:

  • #2
    Hier das Formular. Sind mehrere php dateien, aber ich glaube es müsste in diese datei eingebaut werden:

    <?
    include("mail.set.php");
    include("mail.colors.php");
    //Hauptfunktion: sendEmail


    function sendEmail($vor, $name, $firma, $form_recipient, $strasse, $plz, $ort, $telefon, $telefax, $homepage, $email, $REMOTE_ADDR, $host, $Text, $kopie)
    {
    include("mail.host.php");
    include("mail.set.php");
    echo "<font face=arial,helvetica,sans-serif size=2><b>Hallo " . $vor . " " . $name . ",<br><br>";
    echo "Ihre eMail wurde mit folgenden Daten an " .$form_recipient. " versandt:<br><br>";
    echo "<i>Vorname: " . $vor . "<br>";
    echo "Name: " . $name . "<br>";
    echo "Firma: " . $firma . "<br>";
    echo "Strasse: " . $strasse . "<br>";
    echo "PLZ: " . $plz . "<br>";
    echo "Wohnort: " . $ort . "<br>";
    echo "Telefon: " . $telefon . "<br>";
    echo "Telefax: " . $telefax . "<br>";
    echo "Homepage: " . $homepage . "<br>";
    echo "eMail: " . $email . "<br>";
    echo "<br>Mitteilung: </i><br>" . nl2br($Text) . "<br>";
    echo "<br><div align=center><b>Ihre Daten werden gemäß dem Datenschutzgesetz vertraulich behandelt.</b></div></font>\n";

    $messagehome = "Vorname: " . $vor . "\r\nName: " . $name . "\r\nFirma: " . $firma . "\r\nStrasse: " . $strasse . "\r\nPLZ: " . $plz . "\r\nOrt: " . $ort . "\r\nTelefon: " . $telefon . "\r\nTelefax: " . $telefax . "\r\nHomepage: " . $homepage . "\r\nEmail: " . $email . "\r\nIP: " . $REMOTE_ADDR . "\r\nHost: " . $host . "\r\n----------------------------------------------------------------\r\n" . $Text . "\r\n\r\n\r\n\r\n-------------------------------------------\r\njzMail v2.0.1 by Jochen Zeutzius\r\nhttp://www.zeutzius.de";
    $messagekopie = "Vorname: " . $vor . "\r\nName: " . $name . "\r\nFirma: " . $firma . "\r\nStrasse: " . $strasse . "\r\nPLZ: " . $plz . "\r\nOrt: " . $ort . "\r\nTelefon: " . $telefon . "\r\nTelefax: " . $telefax . "\r\nHomepage: " . $homepage . "\r\nEmail: " . $email . "\r\n----------------------------------------------------------------\r\n" . $Text . "\r\n\r\n\r\n\r\n-------------------------------------------\r\njzMail v2.0.1 by Jochen Zeutzius\r\nhttp://www.zeutzius.de";

    //dieser Abschnitt braucht nicht verändert zu werden
    //$member[7]=$form_recipient;
    for($i=0;$i<$mcount;$i++)
    {
    $n=$i+1;
    switch($form_recipient)
    {
    case $form_rec[$n]:
    $recipient=$member[$n];
    break;
    }
    }

    mail ($recipient, $subjecthome, $messagehome, "From: " .$email. "\r\n");

    if($kopie == "ja")
    {
    mail ($email, $subjectkopie, $messagekopie, "From: " .$webmaster. "\r\n");
    }
    //--------------------------------------//
    }

    //***************************************************************************************

    //Spam-Einstellungen, hier sind keine Veränderungen notwendig

    function AntiSpam_getZeitSteuerung()
    {
    $ftime = fopen("zeitsteuerung.db", "r");
    $tscontent = fgets($ftime, 15);
    fclose($ftime);
    return $tscontent;
    }

    function AntiSpam_writeZeitSteuerung($current_write_time, $intervall)
    {
    $zeitsteuerung = $current_write_time + $intervall;
    $ftime = fopen("zeitsteuerung.db", "w");
    fputs($ftime, $zeitsteuerung);
    fclose($ftime);
    }

    //**************************************************************************************



    //Fehlermeldungen

    function FieldExceptionHandling($vor, $name, $email, $Text) //beliebig ergänzbar
    {
    $errmessage = "";
    if(empty($vor)) $errmessage .= "<font face=Arial color=#FF0000 size=3><b>Bitte geben Sie Ihren Vornamen an!</b></font><br>";
    if(empty($name)) $errmessage .= "<font face=Arial color=#FF0000 size=3><b>Bitte geben Sie Ihren Namen an!</b></font><br>";
    if(!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,4})$", $email)) $errmessage .= "<font face=Arial color=#FF0000 size=3><b>Bitte geben Sie Ihre g&uuml;ltige Email-Adresse an!</b></font><br>";
    if(empty($Text)) $errmessage .= "<font face=Arial color=#FF0000 size=3><b>Bitte geben Sie eine Nachricht ein!</b></font><p>";
    $errmessage .= "<font face=Arial size=3><b>Um die &Auml;nderung durchzuf&uuml;hren benutzen Sie bitte den zur&uuml;ck-Button.</b></font><p>";
    echo $errmessage;
    }

    function AntiSpam_ExceptionHandling($ctime, $tscontent) //keine Änderung nötig
    {
    $timediff = $tscontent - $ctime;
    echo "<font size=4 face=arial,helvetica,sans-serif color=#ff0000><u><b>Bitte warten!</u><p></font><font size=3 face=arial,helvetica,sans-serif $msfbase>Die nächste Email-Zustellung kann aus Sicherheitsgründen erst wieder in&nbsp;</font><font size=4 face=Arial color=#ff0000>". $timediff ."</font><font size=3 face=arial,helvetica,sans-serif $msfbase>&nbsp;Sekunden erfolgen.</font>";
    }

    //****************************************************************************

    // Automatischer Zeilenumbruch für Mitteilungsfeld

    function wrap($Text, $length)
    {
    $x = 0; $i = 0; $zeile[0] = "";
    while ($i<strlen($Text))
    {
    $word_len = strpos($Text, " ", $i+1) - $i;
    if ($word_len <= 0) $word_len = strlen($Text) - $i;
    if (($word_len + $x) <= $length) {
    $zeile[count($zeile)-1] .= substr($Text, $i, $word_len);
    $x += $word_len; $i += $word_len;
    }
    elseif ($x == 0) {
    $zeile[count($zeile)-1] = substr($Text, $i, $length);
    $zeile[] = "";
    $i += $length;
    }
    else {
    $zeile[] = "";
    $x = 0; $i++;
    }
    }
    return implode("<br>", $zeile);
    }
    $Text = wrap($Text, 55);

    //****************************************************************************

    ?>
    <title>jzMail 2.0.1</title>
    <body bgcolor="<? echo $mhgcolor ?>" text="<? echo $msfbase ?>">
    <font color="#FFFFFF"></font><br>
    <br>
    <div align="center">
    <table width="450" bgcolor="<? echo $mborder ?>">
    <tr>
    <td>
    <table width="450">
    <tr>
    <td>
    <div align="center"><font face="arial, helvetica, sans-serif" size="4" color="<? echo $mfhead ?>"><b>Versand-Anzeige</font></b></font></div><p>
    </td>
    </tr>
    <tr>
    <td>
    <div align="center"></div>
    <div align="center"></div>
    <?

    //******die "MAIN" des Mailers **************************************************************************************************** ***

    if(ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,4})$", $email) && !empty($vor) && !empty($name) && !empty($Text))
    {
    $tscontent = AntiSpam_getZeitSteuerung();
    $current_form_time = time();
    if($current_form_time > $tscontent)
    {
    sendEmail($vor, $name, $firma, $form_recipient, $strasse, $plz, $ort, $telefon, $telefax, $homepage, $email, $REMOTE_ADDR, $$host, $Text, $kopie);
    $current_write_time = time();
    AntiSpam_writeZeitSteuerung($current_write_time, $intervall);
    }
    else
    {
    $ctime = time();
    AntiSpam_ExceptionHandling($ctime, $tscontent);
    }
    }else FieldExceptionHandling($vor, $name, $email, $Text);

    //**************************************************************************************************** ********************************

    ?>
    <div align="center"><a href="javascript:history.back()"><font face="arial, helvetica, sans-serif" size="4" color="#00ccff"><b>zurück</a></b></font></div>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </div>
    </body>
    </html>

    Danke mal für eure Hilfe! Gruss Jhule

    Kommentar


    • #3
      Original geschrieben von Jhule
      Hier das Formular. Sind mehrere php dateien, aber ich glaube es müsste in diese datei eingebaut werden: [...]
      du erwartest doch nicht wirklich, dass sich da jetzt jemand durchwühlt, und für dich die arbeit macht ...?
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Ich empfehle Dir die Lektüre der folgenden Seite:
        http://www.php-resource.de/tutorials/read/42/1/

        Kommentar


        • #5
          Tut mir leid.

          Ich weiß einfach nicht weiter. Ich bin kein PHP Kenner. Und dachte vielleicht könne mir hier jemand weiterhelfen. Ich habe die ganze Nacht das ausprobiert. Habs leider nicht hinbekommen. Wie soll ich dann die Lösung finden?

          Gruß Jhule

          Kommentar


          • #6
            Original geschrieben von Jhule
            Tut mir leid.

            Ich weiß einfach nicht weiter. Ich bin kein PHP Kenner. Und dachte vielleicht könne mir hier jemand weiterhelfen. Ich habe die ganze Nacht das ausprobiert. Habs leider nicht hinbekommen. Wie soll ich dann die Lösung finden?

            Gruß Jhule
            bist bei 1&1 ?

            dann schau mal in die faq von denen, dort findest du ein kontaktformular für anfänger.

            http://faq.1und1.de/hosting/skripte_...ken/php/2.html
            mfg
            marc75

            <Platz für anderes>

            Kommentar


            • #7
              suche mal in der doku nach mail(). damit solltest du auch in dem code etwas besser zurecht kommen.

              Kommentar

              Lädt...
              X