Ankündigung

Einklappen
Keine Ankündigung bisher.

Email senden Kontakt: Problem, es passiert nichts

Einklappen

Neue Werbung 2019

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

  • Email senden Kontakt: Problem, es passiert nichts

    Erstmal Hallo zusammen.
    Ich habe vor einigen Jahren mich mal mit html und php beschäftigt und mir aus langeweile ein paar hp's gemacht.
    Jetzt habe ich zuhause einen alten mini pc mit NAS4FREE am laufen und wolte dort unter webhosting so aus spass eine webseite einbinden.
    Das funktioniert auch soweit, aber die funktion im kontakt formular, das die email automatisch an mich gesendet wird leider nicht.
    ich greife nur über eine ddns drauf zu also http://muster.no-ip.biz also ohne www.
    Kann es dadurch sein, das die funktion mail() nicht funktioniert?

    Oder muss ich was bestimmtes im NAS4FREE einstellen, damit ich die funktion nutzen kann?

    Ich hoffe hier hat einer eine gute lösung für mich, weil ich schon am frusten und verzweifeln bin

    Danke schonmal im vorraus.

  • #2
    Die php Codes was relevant sind solltest du schon Posten.

    MFG SirKenni

    Kommentar


    • #3
      Zitat von IT-Airwolf-NAS Beitrag anzeigen
      Kann es dadurch sein, das die funktion mail() nicht funktioniert?
      Auf diese Funktion solltest du sowieso besser verzichten, sondern eine fertige Mailer-Klasse w.z.B. den phpMailer einsetzen. Damit kannst z.B. auch über einen SMTP-Server mit deinen Account-Daten Mails versenden.
      Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

      Kommentar


      • #4
        Ich wolte ja erstmal wissen ob das überhaupt über die ddns geht.

        Hier mein jetziges project mit dem smtp mailer, was aber auch nicht geht, weder der smtp mailer noch der mail()

        aber bei dem smtp mailer wolte ich gerne dann auch auf meine html seite einbinden, weis aber nicht wie.

        Hier mal das was ich habe:

        Die Kontakt Seite: (Kontakt.html)
        HTML-Code:
        <!doctype html>
        <html>
        <head>
        <meta charset="utf-8">
        <title>Titel</title>
        <link href="styles/main.css" rel="stylesheet" type="text/css">
        <script src='https://www.google.com/recaptcha/api.js'></script>
        </head>
        
        <body>
        <div id="wrapper">
          <header id="top">
            <h1>Titel</h1>
            <nav id="mainnav">
              <ul>
                <li><a href="index.html">Home</a></li>
                <li><a href="ftp-info.html">FTP-Airwolf</a></li>
                <li><a href="über-uns.html">Über uns</a></li>
                <li><a href="kontakt.html" class="thispage">Kontakt</a></li>
                <li><a href="impressum.html">Impressum</a></li>
              </ul>
            </nav>
          </header>
          <div id="hero">
            <h2 class="centered">Herzlich Wilkommen !!!<br>
            </h2>
          </div>
          <article class="centered" id="main">
            <p>&nbsp; </p>
            <form action="email.php" method="post">
            <table width="301">
          <tbody>
            <tr>
              <td width="123"><label for="e_name">Name:</label></td>
              <td width="162"><input type="text" name="e_name"></td>
            </tr>
            <tr>
              <td width="123"><label for="e_email">eMail:</label></td>
              <td width="162"><input type="text" name="e_email"></td>
            </tr>
            <tr>
              <td width="123"><label for="e_betreff">Betreff:</label></td>
              <td width="162"><input type="text" name="e_betreff"></td>
            </tr>
            <tr>
              <td width="123"><label for="e_nachricht">Nachricht:</label></td>
              <td width="162"><textarea name="e_nachricht"></textarea></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td><div class="g-recaptcha" data-sitekey="googelCaptchaCode"></div></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td width="162"><input type="reset" value="Entfernen">
              				  <input type="submit" value="Absenden"></td>
            </tr>
          </tbody>
        </table>
        </form>
        <p>&nbsp; </p>
          </article>
          <aside id="sidebar"></aside>
          <footer>egal</footer>
        </div>
        </body>
        </html>
        Der Mailer: (email.php)
        PHP-Code:
        <?php
            
        require_once("class.phpmailer.php");
            function 
        smtpmailer($to$from$from_name$subject$body) { 
                global 
        $error;
                
        $mail = new PHPMailer();  // create a new object
                
        $mail->IsSMTP(); // enable SMTP
                
        $mail->SMTPDebug 1;  // debugging: 1 = errors and messages, 2 = messages only
                
        $mail->SMTPAuth true;  // authentication enabled
                
        $mail->SMTPSecure 'ssl'// secure transfer enabled REQUIRED for Gmail
                
        $mail->Host 'smtp.1und1.de';
                
        $mail->Port 465
                
        $mail->Username 'Benutzername';  
                
        $mail->Password 'Password';           
                
        $mail->SetFrom($from$from_name);
                
        $mail->Subject $subject;
                
        $mail->Body $body;
                
        $mail->AddAddress($to);
                if(!
        $mail->Send()) {
                    
        $error 'Mail error: '.$mail->ErrorInfo
                    return 
        false;
                } else {
                    
        $error 'Message sent!';
                    return 
        true;
                }
            }
            
        smtpmailer('Empfänger-Email-Adresse'$_POST["e_email"], $_POST["e_name"], $_POST["e_betreff"], $_POST["e_nachricht"]);
        ?>
        Den Script gab es ja kostenlos und den habe ich dann auf meine bedürfnisse abgeändert.
        Ich denke, das ich das soweit richtig habe, aber das ist leider neuland und daher ka.

        Und das Captcha funktioniert optisch, aber der läuft auch ohne eingabe durch, für das neue hier von google, finde ich keine vernünftige anleitung nur für das alte mit der schlüssel lib.

        Ich hoffe das mir einer helfen kann und danke schonmal im vorraus

        Kommentar


        • #5
          Hast du mal google mit "phpmailer 1und1" bemüht? Ich kann mich erinnern, da gab es eine Besonderheit, weiß aber leider nicht mehr genau, was das war.

          Ich glaube, das war ein anderer Port, 587 wenn ich mich nicht irre.
          Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

          Kommentar


          • #6
            also ich nutze meine email accs mit outlook und auf dem handy mit googlemailer und die einstellungen mit ssl haben bisher immer geklappt.
            1&1 config für Imap, Pop3 und Smtp
            Ich denke das dass hier auch geht.
            Aber wie gesagt, selbst der einfachste mail() geht ja auch nicht also:
            PHP-Code:
            <?php 
            $eemail 
            'kontakt-test@online.de'
            $name $_POST["e_name"];
            $email $_POST["e_email"]; 
            $betreff 'NAS-Kontakt: '.$_POST["e_betreff"]; 
            $nachricht $_POST["e_nachricht"];
            $mailtext 'Der Name ist: '.$name.', die eMail: '.$email.', die Nachricht: '.$nachricht
            mail($eemail,$betreff,$mailtext);
            echo 
            "Mail wurde gesendet!";
            header('Location: http://ddns/bestaetigung.html'); 
            exit;
            ?>
            Ich habe jetzt gerade den smtp mailer mit auf den ddns geschmissen under der sagt mir einen fehler:
            PHP-Code:
            $mail = new PHPMailer();  // create a new object 
            Code:
            Fatal error: Class 'PHPMailer' not found in /verzeichniss/email.php on line 5
            Ich hatte den nur vorher mit einem beispiel script getestet und da kam keine email an, ka.

            Kommentar


            • #7
              Setze mal die Zeile mit dem require_once in die Funktion.
              Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

              Kommentar


              • #8
                geht auch nicht, ich habe ein bischen gegoogelt, und jetzt sieht das bei mir so aus:
                PHP-Code:
                <?php
                  $to 
                'egal@egal.de';
                  
                $from $_POST["e_email"];
                  
                $from_name $_POST["e_name"];
                  
                $subject $_POST["e_betreff"];
                  
                $body $_POST["e_nachricht"];
                    require_once(
                "class.phpmailer.php");
                    function 
                smtpmailer($to$from$from_name$subject$body) { 
                        
                $mail = new PHPMailer();  // create a new object
                        
                $mail->IsSMTP(); // enable SMTP
                        
                $mail->SMTPDebug 1;  // debugging: 1 = errors and messages, 2 = messages only
                        
                $mail->SMTPAuth true;  // authentication enabled
                        
                $mail->SMTPSecure 'ssl'// secure transfer enabled REQUIRED for Gmail
                        
                $mail->Host 'smtp.1und1.de';
                        
                $mail->Port 465
                        
                $mail->Username 'Benutzername';  
                        
                $mail->Password 'Password';           
                        
                $mail->SetFrom($from$from_name);
                        
                $mail->Subject $subject;
                        
                $mail->Body $body;
                        
                $mail->AddAddress($to);
                        if(!
                $mail->Send()) {
                          echo 
                "Die Nachricht konnte nicht versandt werden <p>";
                          echo 
                "Mailer Error: " $mail->ErrorInfo;
                          exit;
                         }
                        echo 
                "Die Nachricht wurde erfolgreich versandt";
                    }
                ?>
                Ich weis echt nichtmehr weiter, egal was ich mache, oder was ich als muster finde, nichts geht.
                kann es ggf. wirklich daran liegen, das ich keine www adresse habe sondern nur einen http://halo.no-ip.biz..?
                Ich habe leider keinen www server zum testen,...

                Kommentar


                • #9
                  Was sagt denn die Fehlermeldung?

                  Kommentar


                  • #10
                    also, ich habe noch ein bischen was probiert, wie zb. felder müssen ausgefüllt sein, aber das das google recaptcha abgefragt wird, funktioniert irgentwie nicht.

                    Wenn ich das kontakt formular ausfülle, egal ob mit oder ohne recaptcha lande ich auf der email.php mit weiser seite, keine echo ausgabe, egal was ich mache, es poassiert nichts. Keine email, keine bestätigung, keinen error nur weises bild.

                    Hiernochmal die kontakt.html und die email.php
                    HTML-Code:
                    <!doctype html>
                    <html>
                    <head>
                    <meta charset="utf-8">
                    <title>egal</title>
                    <link rel="shortcut icon" href="images/nas.ico">
                    <link href="styles/main.css" rel="stylesheet" type="text/css">
                    <script src='https://www.google.com/recaptcha/api.js'></script>
                    <script type="text/javascript">
                    function chkFormular () {
                      if (document.FormularKontakt.e_name.value == "") {
                        alert("Bitte Ihren Namen eingeben!");
                        document.FormularKontakt.e_name.focus();
                        return false;
                      }
                      if (document.FormularKontakt.e_email.value == "") {
                        alert("Bitte Ihre E-Mail-Adresse eingeben!");
                        document.FormularKontakt.e_email.focus();
                        return false;
                      }
                      if (document.FormularKontakt.e_email.value.indexOf("@") == -1) {
                        alert("Keine E-Mail-Adresse!");
                        document.FormularKontakt.e_email.focus();
                        return false;
                      }
                      if (document.FormularKontakt.e_betreff.value == "") {
                        alert("Bitte Ihren Betreff eingeben!");
                        document.FormularKontakt.e_betreff.focus();
                        return false;
                      }
                      if (document.FormularKontakt.e_nachricht.value == "") {
                        alert("Bitte Ihre Nachricht eingeben!");
                        document.FormularKontakt.e_nachricht.focus();
                        return false;
                      }
                    }
                    </script>
                    </head>
                    
                    <body>
                    <div id="wrapper">
                      <header id="top">
                        <h1>egal</h1>
                        <nav id="mainnav">
                          <ul>
                            <li><a href="index.html">Home</a></li>
                            <li><a href="ftp-info.html">FTP-egal</a></li>
                            <li><a href="über-uns.html">Über uns</a></li>
                            <li><a href="kontakt.html" class="thispage">Kontakt</a></li>
                            <li><a href="impressum.html">Impressum</a></li>
                          </ul>
                        </nav>
                      </header>
                      <div id="hero">
                        <h2 class="centered">Sende eine eMail...<br>
                        </h2>
                      </div>
                      <article class="centered" id="main">
                        <p>&nbsp; </p>
                        <form name="FormularKontakt" action="email.php" method="post" onsubmit="return chkFormular()">
                        <table width="350">
                      <tbody>
                        <tr>
                          <td width="138" style="text-align: right"><label for="e_name">Name:</label></td>
                          <td width="200" align="left"><input name="e_name" type="text"></td>
                        </tr>
                        <tr>
                          <td width="138" style="text-align: right"><label for="e_email">eMail:</label></td>
                          <td width="200" align="left"><input name="e_email" type="text"></td>
                        </tr>
                        <tr>
                          <td width="138" style="text-align: right"><label for="e_betreff">Betreff:</label></td>
                          <td width="200" align="left"><input name="e_betreff" type="text"></td>
                        </tr>
                        <tr>
                          <td width="138" style="text-align: right"><label for="e_nachricht">Nachricht:</label></td>
                          <td width="200" align="left"><textarea name="e_nachricht"></textarea></td>
                        </tr>
                        <tr>
                          <td width="138" style="text-align: right">Captcha:</td>
                          <td width="200" align="left"><div class="g-recaptcha" data-sitekey="egal"></div></td>
                        </tr>
                        <tr>
                          <td width="138" style="text-align: right">&nbsp;</td>
                          <td width="200" align="left"><input type="submit" value="Absenden">
                                          <input type="reset" value="Entfernen"></td>
                        </tr>
                      </tbody>
                    </table>
                    </form>
                    <p>&nbsp; </p>
                      </article>
                      <aside id="sidebar"></aside>
                      <footer>egal</footer>
                    </div>
                    </body>
                    </html>
                    PHP-Code:
                    <?php
                      $to 
                    'empfänger@online.de';
                      
                    $from $_POST["e_email"];
                      
                    $from_name $_POST["e_name"];
                      
                    $subject $_POST["e_betreff"];
                      
                    $body $_POST["e_nachricht"];
                        require_once(
                    "class.phpmailer.php");
                        function 
                    smtpmailer($to$from$from_name$subject$body) { 
                            global 
                    $error;
                            
                    $mail = new PHPMailer();  // create a new object
                            
                    $mail->IsSMTP(); // enable SMTP
                            
                    $mail->SMTPDebug 1;  // debugging: 1 = errors and messages, 2 = messages only
                            
                    $mail->SMTPAuth true;  // authentication enabled
                            
                    $mail->SMTPSecure 'ssl'// secure transfer enabled REQUIRED for Gmail
                            
                    $mail->Host 'smtp.1und1.de';
                            
                    $mail->Port 465
                            
                    $mail->Username 'absender@online.de';  
                            
                    $mail->Password 'pwpwpwpwpw';           
                            
                    $mail->SetFrom($from$from_name);
                            
                    $mail->Subject $subject;
                            
                    $mail->Body $body;
                            
                    $mail->AddAddress($to);
                            if(!
                    $mail->Send()) {
                                
                    $error 'Mail error: '.$mail->ErrorInfo
                                return 
                    false;
                            } else {
                                
                    $error 'Message sent!';
                                return 
                    true;
                            }
                            echo 
                    $error;
                            
                    header('Location: http://egal.no-ip.biz/index.html');
                        }
                    //    smtpmailer('empfänger@online.de', $_POST["e_email"], $_POST["e_name"], $_POST["e_betreff"], $_POST["e_nachricht"]);
                    ?>
                    PS. hinter egal,pwpw..,empfänger,absender, befinden sich natürlich keine öffentlichen daten, sind aber bei mir korekt ausgefüllt.

                    also falls noch irgenteiner eine idee hat, egal ob die ggf. verrückt ist, vieleicht hilfts ja.

                    Kommentar


                    • #11
                      Wo sollte auch irgendeine Ausgabe kommen, in der email.php wird ja auch nichts ausgegeben. Vielleicht solltest du die letzte Zeile mal freigeben.
                      Außerdem wird dein header-Aufruf nicht funktionieren, da du davor schon Ausgaben machst.
                      Und globale Variablen sind pfui
                      Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

                      Kommentar


                      • #12
                        ich blick durch den smtp aufruf so noch nicht durch, mein problem ist, ich habe das alles nicht gelernt wie andere.
                        Ich mach fast alles learning by doing.
                        Ich habe mich vor ein paar jahren mal mit html und php auseinander gesetzt und da hatte ich halt noch die funktion mit mail(), aber mit dem smtp ist halt ein bischen aufwendiger und noch nicht so meine spezialität

                        aber auch wenn ich die untere zeile reinnehme, passiert nichts neues.

                        header? du meinst den head?

                        und warum funktioniert das mit dem head nicht? sobald was nicht eingegeben ist kommt eine passende meldung zur aufforderung?! Und das geht auch soweit.

                        Wie gesagt, ich lehrne gerne dazu, also für einen tipp/beispiel, was man machen könnte was geht, währe ich sehr dankbar...

                        edit:
                        also ich habe die zeile nochmal reingenommen und dann kommt immer noch dieses hier:

                        Fehlercode:
                        Code:
                        Fatal error: Class 'PHPMailer' not found in /verzeichniss/email.php on line 10
                        email.php line 10:
                        PHP-Code:
                                $mail = new PHPMailer();  // create a new object 

                        Kommentar


                        • #13
                          Du hast aber die Dateien vom phpMailer im gleichen Verzeichnis??

                          Und lass'die Funktion mal weg, also diese Zeilen weg:
                          PHP-Code:
                          function smtpmailer($to$from$from_name$subject$body) {  
                           global 
                          $error
                          und die letzte geschweifte Klammer und Aufruf der Funktion weg.
                          Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

                          Kommentar

                          Lädt...
                          X