Ankündigung

Einklappen
Keine Ankündigung bisher.

Kontaktformular Problem mit PHP

Einklappen

Neue Werbung 2019

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

  • #16
    Hi,

    ich habe mal den Ratschlag ausprobiert mit der Mailer Klasse.

    Hab mir einige Tutorials angeschaut, aber dennoch schickt er die Mail nicht an die E-Mail Adresse.

    PHP-Code:
    <!DOCTYPE <!DOCTYPE html>
    <html>
    <head>
    </head>
    <body>
    <?php
    require_once 'swiftmailer/lib/swift-required.php';
    //grab post data
    $name =filter_var($_POST['name'], $FILTER_SANITIZE_STRING);
    $email =filter_var($_POST['email'], $FILTER_SANITIZE_EMAIL);
    $subject =filter_var($_POST['subject'], $FILTER_SANITIZE_STRING);
    $message =filter_var($_POST['message'], $FILTER_SANITIZE_STRING);
    //create our email body message
    $data "Name: " $name "<br />" "Email: " $email "<br />" "Betreff: " $subject "<br />" "Message: " $message;
    //create the transport
    $transport Swift_SmtpTransport::newInstance('alfa3213.alfahosting-server.de'465'ssl')
    ->
    setUsername('********')
    ->
    setPassword('*****');
    //create the mailer
    $mailer Swift_Mailer::newInstance($transport);
    $message Swift_Message::newInstance('Web Lead')
    ->
    setFrom (array('contact@anonproduction.com' => 'Web leads'))
    ->
    setTo (array('contact@anonproduction.com' => 'Lead'))
    ->
    setSubject('Kontaktformular')
    ->
    setBody($data'text/html');
    //send the message
    $result $mailer->send($message);

    ?>
    <p>Vielen Dank, dass Sie uns kontaktiert haben. Wir werden uns so schnell wie möglich bei Ihnen melden.</p>
    </body>
    </html>

    Kommentar


    • #17
      Und wie lautet die Fehlerbeschreibung?

      Davon abgesehen hat ein Mail-Versand inmitten der HTML-Ausgabe nichts verloren. Der gehört vor die HTML-Ausgabe.

      Kommentar


      • #18
        PHP-Code:
        $result $mailer->send($message$errors);
        var_dump($result$errors); 
        wäre eine wohl der erste Schritt zur Beschreibung.

        Kommentar


        • #19
          tomBuilder

          Hab den Code ergänzt, danke.

          hellbringer

          Hab den Code an den Anfang gesetzt!


          Hab's erneut versucht, allerdings, sobald ich auf "Absenden" gedrückt habe, leitet, er zwar um auf die email.php, allerdings steht dort folgendes:
          Diese Seite funktioniert nicht

          anonproduction.com kann diese Anfrage momentan nicht verarbeiten.

          Ich kannte es bisher nur so, dass diese Seite kam, wenn irgendwas im Code falsch angegeben wurde.

          Kommentar


          • #20
            Das $-Zeichen hat bei den FILTER_*-Konstanten nichts verloren.

            Abgesehen davon solltest Du die Formularverarbeitung noch mal überdenken: https://php-de.github.io/jumpto/affenformular/

            Kommentar


            • #21
              Zitat von OneGerman Beitrag anzeigen
              Ich kannte es bisher nur so, dass diese Seite kam, wenn irgendwas im Code falsch angegeben wurde.
              Ins error log schauen! Oder noch besser lokal Entwickeln und die Fehlerausgabe aktivieren und/oder ins error log schauen.
              The string "()()" is not palindrom but the String "())(" is.

              Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
              PHP.de Wissenssammlung | Kein Support per PN

              Kommentar


              • #22
                Nipec
                Tut mir leid...
                Ich bin kompletter Anfänger was PHP angeht und verstehe es langsam. Den Code habe ich auch nicht selber geschrieben, sondern von einem YouTube Tutorial abgeschaut und dort funktionierte es.

                Kommentar


                • #23
                  Ich hab mal den Debugger von meinem Hoster ausprobiert.

                  Folgende Fehlermeldung:
                  Unterminated <> operator at /html/test/email.php line 1.

                  Der php Befehl wird doch nicht in der 1. Zeile geschlossen oder?

                  Kommentar


                  • #24
                    Korrigiere mal den Doctype.

                    Kommentar


                    • #25
                      Die html Tags hab ich alles rausgenommen.
                      Jetzt ist nur noch der Code drinnen.

                      Was mir aber auffällt.

                      Bei dem Code ist ja keine echo Ausgabe, dass, wenn das Senden erfolgreich war oder fehlgeschlagen ist.

                      Kommentar


                      • #26
                        Zitat von OneGerman Beitrag anzeigen
                        Bei dem Code ist ja keine echo Ausgabe, dass, wenn das Senden erfolgreich war oder fehlgeschlagen ist.
                        Dafür hast Du ja den Code von tom übernommen. Welches Resultat liefert var_dump()? Hast Du error reporting aktiviert?

                        Kommentar


                        • #27
                          Ah...

                          Erstmal gibt mir meine .htaccess Datei einen Fehler aus.

                          Und dann sagt mir die Log, dass es die datei nicht finden kann.
                          also die ganz oben bei "require_once"

                          Kommentar


                          • #28
                            Code:
                            mod_fcgid: stderr: PHP Warning:  require_once(swiftmailer/lib/swift-required.php): failed to open stream: No such file or directory in /var/www/web23568347/html/test/email.php on line 2, referer: https://anonproduction.com/test/contact.php
                            [Tue Jun 19 18:32:17.686020 2018] [fcgid:warn] [pid 1212635:tid 140081281517312] [client 213.196.204.93:13764] mod_fcgid: stderr: PHP Fatal error:  require_once(): Failed opening required 'swiftmailer/lib/swift-required.php' (include_path='.:/opt/php/7.2.2/share/pear') in /var/www/web23568347/html/test/email.php on line 2, referer: https://anonproduction.com/test/contact.php
                            [Tue Jun 19 18:36:51.664415 2018] [fcgid:warn] [pid 1214915:tid 140080903489280] [client 213.196.204.93:13811] mod_fcgid: stderr: PHP Warning:  require_once(/swiftmailer/swiftmailer/lib/swift-required.php): failed to open stream: No such file or directory in /var/www/web23568347/html/test/email.php on line 2, referer: https://anonproduction.com/test/contact.php
                            [Tue Jun 19 18:36:51.664440 2018] [fcgid:warn] [pid 1214915:tid 140080903489280] [client 213.196.204.93:13811] mod_fcgid: stderr: PHP Fatal error:  require_once(): Failed opening required '/swiftmailer/swiftmailer/lib/swift-required.php' (include_path='.:/opt/php/7.2.2/share/pear') in /var/www/web23568347/html/test/email.php on line 2, referer: https://anonproduction.com/test/contact.php

                            Im Code hab ich allerdings eingetragen:
                            PHP-Code:
                            require_once '/swiftmailer/swiftmailer/lib/swift-required.php'

                            Da die Datei auch im Ordner "swiftmailer/swiftmailer/lib/swift-required.php" liegt.

                            Kommentar


                            • #29
                              Damit du deine Fehlermeldung verstehst, lies dir bitte mal den Artikel include niemals ohne DIR durch.
                              Danach setze mal testweise folgenden CODE vor dein require_once wie hier gezeigt:
                              PHP-Code:
                              echo '$_SERVER["DOCUMENT_ROOT"]: ' $_SERVER['DOCUMENT_ROOT'] . "<br>\n";
                              echo 
                              '$_SERVER["SCRIPT_FILENAME"]: ' $_SERVER['SCRIPT_FILENAME'] . "<br>\n";
                              echo 
                              '__DIR__: ' __DIR__ "<br>\n";
                              exit;
                              require_once 
                              'swiftmailer/lib/swift-required.php'
                              Und dann schaust du mal wo die Datei tatsächlich liegt.

                              Eventuell gehen ja jetzt einige Lampen an.

                              Kommentar


                              • #30
                                protestix

                                Danke, werd ich noch machen.



                                Nach langem hin und her und lesen in einigen Foren hab ich es geschafft. Die Mails senden nun richtig an meine E-Mail Adresse.

                                Damit auch andere Personen mit dem PHPMailer E-Mails an Ihre E-Mail Adresse senden können.(z.b. übers Kontaktformular, wie in meinem Fall), schicke ich noch gleich den Code hinterher.

                                PHP-Code:
                                <?php
                                require("class.phpmailer.php");
                                $mail = new PHPMailer();
                                $mail->AddAddress("contact@anonproduction.com");
                                $mail->setFrom("contact@anonproduction.com");
                                $mail->FromName $_POST['name'];
                                $mail->Subject $_POST['subject'];
                                $mail->Body $_POST['email'] ."\n" "\n" $_POST['message'] ;
                                $mail->WordWrap 50;
                                if(!
                                $mail->Send())
                                {
                                echo 
                                'Das ist etwas schief gegangen. Ihre Nachricht wurde leider nicht abgeschickt.';
                                echo 
                                'Mailer error: ' $mail->ErrorInfo;
                                }
                                else
                                {
                                echo 
                                "<h5>" 'Ihre Nachricht wurde abgeschickt.' "</h5>";
                                }

                                ?>

                                Kommentar

                                Lädt...
                                X