Ankündigung

Einklappen
Keine Ankündigung bisher.

HTML Formulas kein Datei anhang in der email.

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • HTML Formulas kein Datei anhang in der email.

    Hallo Leute,
    also in meinem html script habe ich das so:

    HTML-Code:
          <p>
            <label>Foto's Hochladen:
              <input type="file" name="Foto's Hochladen1" id="Foto's Hochladen1" accept="*.bmp*.dib,*.jpg,*.jpeg,*.jpe,*.jfif,*.gif,*.tif,*.tiff,*.png">
            </label>
          </p>

    und in meinem php script habe ich das so:

    PHP-Code:
        $email "Formular Eintrag\n"
               
    "\n"
               
    "Am $date um $time Uhr hat jemand das Formular auf $host abgesendet,\n"
               
    "welche nach Angabe des Browsers von $_SERVER stammen.\n"
               
    "\n"
               
    "Das ist der Angegebene Inhalt.\n"
               
    "\n";
        
        foreach(
    $_POST as $key => $value)
        {
            if(
    $key == "redirect" OR $key == "recipient" OR $key == "subject")
            {
                continue;
            }
            
    $email .= "Fomular Feld '$key':\n"
                   
    .  "=============================\n"
                   
    .  "$value\n"
                   
    .  "\n";
        }
        
        
    $email .= "=============================\n"
               
    .  "Ende der automatisch generierten E-Mail."
    Das ich die email mit den ganzen daten bekomme, geht einwandfrei, allerdings, fehlen mir die Bilddatein, die werden mir als text angezeigt, aber nicht als datei an den anhang gehangen.

    Ich weis jetzt schon, da fehlt in irgenteinem script irgenwas, ich tippe auf den html script irgentwas der sagt, anhängen und im php script die zeile die die datei als anhang weiter sendet.

    Ich habe erst vor ein paar wochen angefangen html, php, css und js zu lehrnen, aber soweit, das ich jetzt diesen fehler finde und beheben kann, bin ich leider noch nciht.

    Daher hoffe ich, das mir einer, der davon Ahnung hat mir dort eventuel helfen könnte den/die scrips zu verbessern, so das dieses funktionieren könnte/wird.

    Mit freundlichem Gruß
    Mathias

  • #2
    Mails nicht selber zusammenbasteln, sondern eine fertige Mailer-Klasse verwenden: http://www.php.de/adventskalender-20...fverkehrs.html

    Kommentar


    • #3
      also das heißt, im html script muss ncihtsmehr rein, oder wie?
      also alle änderungen die ich machen muss, sind die, das ich einen anderen formmailer benötige, der mir die bilder dann hochläd und als anhang dann an die mail hängt, richtig verstanden?

      wenn ja, hast du auch einen direktlink für mich, wo ich dann einen fertigen loaden kann?

      Kommentar


      • #4
        Nein, den Upload der Dateien machst du nach wie vor über dein Formular.

        Aber das Zusammensetzen und Versenden der Mail, das machst du mit einer der Klassen, die im Artikel verlinkt sind.

        Kommentar


        • #5
          Sorry, wenn ich jetzt nerve oder so, aber ich check das gerade immer noch nicht.

          Also mit dem html code den ich da für die bilder habe, komme ich so nciht weit oder wie? Also muss da noch eine action hinzugefügt werden, oder wie? und wenn dan welche und wie würde dass dan aussehen?

          so das war die eine sache, die zweite ist, auf den link den du gepostet hast, da sind 3weitere links drauf, auf den erste beiden, habe ich was zum loaden gefunden, aber auf den dritten nicht, und was ist für was da da? also momentan habe ich für meine weiterleitung einen einzigen php script, bei den downloads, wahren ein paar mehr dabei.

          also nach möglichkeit bitte für ganz kleine kindergarten kinder erklären, sonnst komme ich glaube ich nciht mit

          Kommentar


          • #6
            Ich habe gerade nebenbei nochmal die Scripts ein bischen verändert:
            HTML-Code:
            ...
            <form action="email-weiterleitung.php" method="post" enctype="multipart/form-data">
            <input type="hidden" name="redirect" value="Bestätigung.html">
            <input type="hidden" name="recipient" value="1">
            ...
            	  <p>
            	    <label>Foto 1 Hochladen:<font color="#FFFFFF">_____</font>
            	      <input type="file" name="Foto 1" accept="*.bmp*.dib,*.jpg,*.jpeg,*.jpe,*.jfif,*.gif,*.tif,*.tiff,*.png">
                    </label>
            	  </p>
            	  <p>
            	    <label>Foto 2 Hochladen:<font color="#FFFFFF">_____</font>
            	      <input type="file" name="Foto 2" accept="*.bmp*.dib,*.jpg,*.jpeg,*.jpe,*.jfif,*.gif,*.tif,*.tiff,*.png">
                    </label>
            	  </p>
            ...
            </form>
            ...
            PHP-Code:
            <?php

            $_emails
            [0] = "mail@1.net";
            $_emails[1] = "mail@2.de";

            if (isset(
            $_emails[0]) AND $_emails[0] == "mail@1.net")
            {
                
            header("Content-Type: text/plain");
                echo 
            "Sie müssen das Mail-Script erst konfigurieren, bitte tragen Sie im Abschnitt Konfiguration Ihre E-Mail Adresse ein";
                exit;
            }

            if(!isset(
            $_POST) OR empty($_POST))
            {
                
            header("Content-type: text/plain");
                echo 
            "Es wurden keine Daten übermittelt!";
                exit;
            }
            else
            {
                
            $date date("d.m.Y");
                
            $time date("H:i");
                
            $host "http://www.testmail.net/email-weiterleitung.php" $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
                
                if(isset(
            $_POST['recipient']) AND isset($_emails$_POST['recipient'] ])
                   AND 
            preg_match("/^.*@.*\..*$/"$_emails$_POST['recipient'] ]))
                {
                    
            $recipient $_emails$_POST['recipient'] ];
                }
                elseif(isset(
            $_emails[0]) AND preg_match("/^.*@.*\..*$/"$_emails[0]))
                {
                    
            $recipient $_emails[0];
                }
                else
                {
                    
            header("Content-type: text/plain");
                    echo 
            "Fehler im Script - es wurde kein Empfänger oder eine ungültige E-Mail Adresse in \$_emails[0] angegeben.";
                    exit;
                }
                
                if(isset(
            $_POST['subject']))
                {
                    
            $subject $_POST['subject'];
                }
                else
                {
                    
            $subject "Formular Daten von {$_SERVER['HTTP_HOST']}";
                }
                
                
            $email "Formular Eintrag\n"
                       
            "\n"
                       
            "Am $date um $time Uhr hat jemand das Formular auf $host abgesendet,\n"
                       
            "welche nach Angabe des Browsers von $_SERVER stammen.\n"
                       
            "\n"
                       
            "Das ist der Angegebene Inhalt.\n"
                       
            "\n";
                
                foreach(
            $_POST as $key => $value)
                {
                    if(
            $key == "redirect" OR $key == "recipient" OR $key == "subject")
                    {
                        continue;
                    }
                    
            $email .= "$key$value\n"
                           
            .  "\n";
                }
                
                
            $email .= "=============================\n"
                       
            .  "Ende der automatisch generierten E-Mail.";
                
                if(!
            mail($recipient$subject$email))
                {
                    echo 
            "Es ist ein Fehler beim Versenden der E-Mail aufgetreten,"
                         
            " eventuell liegt ein Konfigurationsfehler am Server vor.\n\n";
                    exit;
                }
                
                if(isset(
            $_POST['redirect']) AND preg_match("=^(https?|ftp)://.*\..*$="$_POST['redirect']))
                {
                    
            header("Location: ".$_POST['redirect']);
                    exit;
                }
                else
                {
                    
            header("Content-type: text/html");
                    echo 
            "Die E-Mail wurde erfolgreich versendet.";
                    exit;
                }
            }
            Also im html script ist jetzt das was nicht funktioniert.
            Im php script ist jetzt die Ausgabe der daten vom formular.

            Also ich weis nicht wo was fehlt und wo eventuel ein fehler ist und keine arnung, warum das nicht geht wie ich will.

            Ich habe auch eigentlich keine lust das ganze nochmal neu zu machen, also mit anderen komponenten, ich würde die komponenten, die ich jetzt habe gerne behalten wenn es möglich ist.

            Kommentar


            • #7
              Zitat von IT-Airwolf Beitrag anzeigen
              Also ich weis nicht wo was fehlt
              Es fehlt komplett die Nutzung einer der Mailer-Klassen zum vernünftigen Aufbau der Mail (Setzen des Textes, anfügen der Attachements, etc.)

              Ich habe auch eigentlich keine lust das ganze nochmal neu zu machen, also mit anderen komponenten, ich würde die komponenten, die ich jetzt habe gerne behalten wenn es möglich ist.
              Nein, ist es nicht. Nicht auf sinnvolle Weise.
              Emails korrekt zusammen zu bauen, ist ein äußert komplexes Thema; insb. wenn es nicht nur um ein bisschen Text geht, sondern noch Dateien angehängt werden sollen.
              Das willst du garantiert nicht „von Hand“ machen, dazu müsstest du nämlich erst mal eine ganze Reihe von RFCs ausführlich studieren.

              Kommentar


              • #8
                aber dein <form ist nicht vollständig ...

                HTML-Code:
                <form action="email-weiterleitung.php" method="post" enctype="multipart/form-data">
                ohne enctype Angabe wie hier darüber gezeigt, kannst du gar keine Datei hochladen - und temporär hochladen musst du die Datei, damit sie der Webserver in die email packen kann

                ansonsten bleibt der Hinweis auf phpmailer weiter gültig ... Ohne mail-Klasse wird es dir besonders im Zusammenhang mit einem Anhang kaum möglich sein eine RFC-konforme Email zu erstellen

                Kommentar


                • #9
                  HTML-Code:
                  <form action="email-weiterleitung.php" method="post" enctype="multipart/form-data">
                  Also so habe ich das auch in meinem script, hatte ich kurznachdem ich ich das hier gepostet hatte geändert.

                  also aus neugirde, habe ich heute nacht noch den varinsert_for_SPAW2.zip unter http://sourceforge.net/projects/phpmailer/geloadet.
                  der sieht so aus:
                  - ordner config mit datei config.php
                  - ordner docs mit datei license.txt, readme.txt
                  - ordner js mit ornder common mit datei varinsert.js
                  - ordner lib mit ordner lang mit datei en.lang.inc.php
                  - ordner lib mit ordner toolbars mit datei plugins.toolbar.php

                  also das sind die pfarts, die ich zur verfügung in dem zip ordner habe.

                  Jetzt die frage, ist das der richtige, den ihr meint?
                  Und was muss ich dort wie und wo eintragen, damit das alles so funktioniert, wie ich es gerne haben wollte.

                  ich habe gerade bei meinem lätzten beitrag nochmal die html und die php datei aus neuste gebracht. Also im php feld, habe ich jetzt denn ganzen mailer drin den ich momentan verwende.

                  Kommentar


                  • #10
                    wo hast du das denn gefunden ?

                    Edit .. ah - jetzt seh ich es .. aber vergleich mal die Größe .. 10.6 Kbyte -> 111.7 kbyte .. da nehm ich das größere

                    ich seh da nur
                    Code:
                    PHPMailer_v5.1.zip 	2009-11-11 	111.7 KB 	iStats
                    PHPMailer_v5.1.tar.gz 	2009-11-11 	84.1 KB 	iStats
                    ->http://sourceforge.net/projects/phpm...Mailer%20v5.1/

                    Kommentar


                    • #11
                      Zitat von IT-Airwolf Beitrag anzeigen
                      Und was muss ich dort wie und wo eintragen, damit das alles so funktioniert, wie ich es gerne haben wollte.
                      Lese bitte die Doku.

                      Kommentar


                      • #12
                        ok, danke, aber wo muss ich jetzt welche datei öffnen und ändern udn welche datei muss ich in meinem formular öffnen/aufrufen ?

                        Kommentar


                        • #13
                          Hier ein Tutorial zu einem der Mailerklassen, ev. hilft das fürs generelle Verständnis.

                          http://www.tanmar.info/content/view/36/64/

                          LG

                          Kommentar


                          • #14
                            Zitat von ChrisB Beitrag anzeigen
                            Lese bitte die Doku.
                            *close*

                            Kommentar

                            Lädt...
                            X