goldfield: kontaktformular

hallo,

ich habe auf meiner homepage ein kontaktformular eingerichtet, welches nicht funktioniert.

mein webhoster sagte mir, es würde daran liegen, dass ich eine email-authentifizierung bräuchte. finde ich irgendwo ein bsp. für soetwas ?

danke für jede hilfe
frank

  1. mein webhoster sagte mir, es würde daran liegen, dass ich eine email-authentifizierung bräuchte. finde ich irgendwo ein bsp. für soetwas ?

    Das ist üblicherweise alles standardisiert, aber da Du nicht verraten hast, in welchem Umfeld die Authentifizierung eingesetzt werden soll, geschweige denn welche, ist Deine Frage nicht zu beantworten.

    1. hi,

      er hat mir nur geschrieben, dass ich eine email-authentifizierung bräuchte.
      welche infos brauchst du noch ?
      was meinst du mit umfeld ?

      1. er hat mir nur geschrieben, dass ich eine email-authentifizierung bräuchte.

        Wenn das wirklich wortwörtlich alles war, solltest Du den Hoster wechseln. Für eine immerhin bezahlte Auskunft finde ich das etwas dürftig.

        welche infos brauchst du noch?

        Das fängt damit an, dass Du nicht gesagt hast, wo die Formulardaten landen. Aus Deinen Ausführungen lässt sich nur schließen, dass Du ein HTML-Formular hast, dessen Eingaben an irgendein Programm bzw. Skript auf irgendeinem Server geschickt werden. Aber nicht, welche Sprache (PHP, Perl, Python, C, …) und Transportform (sendmail, SMTP) eingesetzt wird, ob derselbe Server oder ein anderer für den Versand genutzt werden soll, sowie welche Authentifizierungsvariante gewünscht ist.

        Ins Blaue hinein komme ich da auf ungefähr 25 bis 50 halbwegs wahrscheinliche Möglichkeiten; erfreulicherweise kannst Du alles bis auf den vierten Punkt mit einem kurzen Codeschnippsel klären.

        1. also folgende dateien liegen im unterverzeichnis "kontakt":

          • antwort.php
          • kontakt.htm

          antwort.php:
          ------------------------------------------------------------

          <html>
           <head>
            <title>Kontaktformular (Antwort)</title>
             <style type="text/css">
             body, td{
              font-family: Verdana, Arial;
              font-size: 12px;
             }

          td{
              background-color: #CEEFFF;
             }
             </style>
          </head>
          <body>

          <h3 style="text-align: center;">Kontaktformular (Antwort)</h3>

          <table align="center" cellPadding=4 cellSpacing=4>
           <tr>
            <td>

          <?php
            # © Homepage-Total.de
            $vorname = @$_POST["vorname"]; $nachname = @$_POST["nachname"]; $email = @$_POST["email"]; $betreff = @$_POST["betreff"]; $nachricht = @$_POST["nachricht"];

          # Name des Webmasters (Signatur): (Frank Caffier)
            $webmaster ="Frank Caffier";

          # Ihre E-Mail-Adresse: (fca_trojan@gmx.de)
            $an = "fca_trojan@gmx.de";

          # Ihre Homepage-Adresse: (http://www.fca-online.de)
            $url = "http://www.fca-online.de";

          # Inhalt der Danke E-Mail:
            $inhalt = "Hallo $vorname $nachname,\nvielen Dank für Ihren Besuch bei $url. \n Wir haben folgende Nachricht erhalten:\n\n===== Beginn Nachricht =====\n$nachricht\n===== Ende Nachricht =====\n\nViele Grüße,\n  $webmaster\n\n==================\n";

          # URL zur Startseite: (index/home.htm)
            $start = "";

          # Nachricht wird an Ihre E-Mailadresse gesendet.
            $text ="Hallo,\n Sie haben eine neue TEST-Nachricht-HT über $url von $vorname $nachname erhalten:\n\n====\n $nachricht\n====\n\nSie können $vorname $nachname unter $email erreichen.";

          # E-Mails senden.
                @mail($an,$betreff,$text,"From: ".$email);

          # Ausgabe der Bestätigung.
                echo("<p><b>Ihre Nachricht wurde erfolgreich gesendet!</b></p>");
                echo("<p> » <a href='$start' title='Zurück'>Zurück zur Startseite</a></p>");

          ?>

          </td>
           </tr>
          </table>

          </body>
          </html>

          kontakt.htm:
          ------------------------------------------------
          <html>
           <head>
           <title>Kontaktformular</title>

          <script languange="Javascript">
           // © Homepage-Total.de

          function eingaben_ueberpruefen(){
           if (document.eingabe.vorname.value == ""){
            alert("Sie haben noch keinen Vornamen eingegeben!")
            document.eingabe.vorname.focus();
            return false;
           }

          else if (document.eingabe.nachname.value == ""){
            alert("Bitte geben Sie Ihren Nachnamen ein")
            document.eingabe.nachname.focus();
            return false;
           }

          else if (document.eingabe.email.value == ""){
            alert("Bitte geben Sie Ihre E-mail-Adresse ein!")
            document.eingabe.email.focus();
            return false;
           }

          else if (document.eingabe.betreff.value == ""){
            alert("Bitte geben Sie ein Betreffzeile ein!")
            document.eingabe.betreff.focus();
            return false;
           }

          else if (document.eingabe.nachricht.value == ""){
            alert("Bitte geben Sie eine Nachricht ein!")
            document.eingabe.nachricht.focus();
            return false;
           }

          else if (document.eingabe.email.value.indexOf ('@',0) == -1 || document.eingabe.email.value.indexOf ('.',0) == -1){
            alert("Bitte geben Sie eine gültige e-mail-Adresse ein.\n\nAlso: name@xyz.de")
            document.eingabe.email.select();
            document.eingabe.email.focus();
            return false;
           }
           else
           return true;
          }
           </script>

          <style type="text/css">
          body, td{
           font-family: Verdana, Arial;
           font-size: 12px;
          }

          td{
           background-color: #00008b;
          }
           </style>
           </head>
          <body bgcolor="#00008B">

          <h3 style="text-align: center;"><span style="font-weight: 400">
          <font color="#FFFFFF" face="Arial">Kontaktformular</font></span></h3>

          <form name="eingabe" method="POST" action="antwort.php" onSubmit="return eingaben_ueberpruefen(this.form)">

          <table align="center" cellPadding=4 cellSpacing=4>
           <tr>
            <td colspan="2">
              <font face="arial" color="#FFFFFF">Bitte alle Felder ausfüllen !</font></td>
           </tr>
           <tr>
            <td>
             <font color="#FFFFFF" face="arial">
             Vorname: </font>
            </td>
            <td>
             <font face="arial">
             <input type="text" name="vorname" maxlength="50" size="30"> </font>
            </td>
           </tr>
           <tr>
            <td>
             <font face="arial">
             <font color="#FFFFFF">
             Nachname:</font> </font>
            </td>
            <td>
             <font face="arial">
             <input type="text" name="nachname" maxlength="50" size="30"> </font>
            </td>
           </tr>
           <tr>
            <td>
             <font color="#FFFFFF" face="arial">
             E-Mail: </font>
            </td>
            <td>
             <font face="arial">
             <input type="text" name="email" maxlength="60" size="30"> </font>
            </td>
           </tr>
           <tr>
            <td>
             <font color="#FFFFFF" face="arial">Betreff: </font>
            </td>
            <td>
             <font face="arial">
             <input type="text" name="betreff" maxlength="60" size="45"> </font>
            </td>
           </tr>
           <tr>
            <td valign="top">
             <font color="#FFFFFF" face="arial">Nachricht: </font>
            </td>
            <td>
             <font face="arial">
             <textarea name="nachricht" cols="35" rows="7"></textarea> </font>
            </td>
           </tr>
           <tr>
            <td align=center colspan="2">
             <input type="reset"> &nbsp;
             <input type="submit">
            </td>
           </tr>
          </table>

          </form>

          </body>
          </html>

          1. # E-Mails senden.
                  @mail($an,$betreff,$text,"From: ".$email);

            Vorneweg: Fehlermeldungen dienen Deiner Information, es ist daher eher unklug, sie mit @ zu unterdrücken. Womöglich tappst Du im Moment nur deshalb im Dunkeln, weil die betreffende Meldung nicht zu sehen ist.

            Aber davon unabhängig, bei mail() ist es nicht möglich/notwendig, eine Authentifizierung durchzuführen.

            Entferne erstmal sämtliche Unterdrückungsklammeraffen, gibt es dann keine Erleuchtung, solltest Du klein anfangen; richte ein Testskript mit folgendem Inhalt ein:

            <?php
            mail("deineadresse@example.com", "Betreff" , "Ein Text");
            ?>

            Kommt weder eine Fehlermeldung, noch die erwünschte E-Mail, muss sich Dein Hoster drum kümmern, weil das dann wirklich in seine Zuständigkeit fällt. Nerv' ihn zur Not solange, bis er Abhilfe oder eine verständliche Erklärung bringt. Wenn er wieder mit seinem Authentifizierungskram kommt, soll er Dir, basierend auf obigem Testskript, ein konkretes Beispiel geben.

            Kommt die E-Mail hingegen bei Dir an, liegt der Fehler bei Dir. Baue dann Stück für Stück auf obigen drei Zeilen die Formularverarbeitung neu auf.
            Hier und da ist es grundsätzlich auch immer hilfreich, die Inhalte der verwendeten Variablen mit var_dump() auszugeben. Es kommt nicht selten vor, dass man etwas bestimmtes voraussetzt, dies aber gar nicht eintrifft, der Fehler also nicht in der Variablenverarbeitung, sondern schon vorher in der -zuweisung liegt.

            1. Die adresse habe ich von meinem Anbieter bekommen: www.swiftmailer.org

              Mit dem system soll es klappen, ich steige da aber nicht durch.

              1. Die adresse habe ich von meinem Anbieter bekommen: www.swiftmailer.org

                Mit dem system soll es klappen, ich steige da aber nicht durch.

                Nett, hilft Dir aber so viel wie eine Kanone für die Spatzenjagd.

                Probiere das Drei-Zeilen-Skript aus - und mach' Dich auf die Suche nach einem Hoster, der etwas mehr tut als nur Geld zu kassieren.