Mail mit Anhang versenden

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

  • Mail mit Anhang versenden

    Hey Forum

    Ich habe gehört, dass es möglich sein muss Mails MIT Anhang von einer Hompepage aus per PHP zu versenden.

    Eine reine Text-Mail zu versenden ist ja kein Problem.
    Das bekomm ich auch schon per SMTP hin. Aber ich weiss einfach nicht mehr, wie ich einen Anhang einfügen könnte.

    Hat wer ein funktionierendes Beispiel oder ein paar Tips??

    Schönen Dank, Thomas
    http://www.coyote.at
    we@coyote.at

  • #2
    Schwere Frage, ich glaube man kann in dem mail Ausdruck, so etwas wie Content-Type angeben. Vielleicht kannst du ja mal versuchen, damit rumzuspielen.

    Standard ist Content-Type:text/html
    versuch mal einfach file/*
    ich glaub man kann da ne wildcard setzen und ich glaub es gibt file

    Aber warte noch auf einen qualifizierteren kommentar
    www.emberwood.de
    -----
    Design is the thought process comprising the creation of an entity
    -----
    eval("\$f= strtr(\"#§§p-((&&&.%)b%r&==!.!%\",\"#%&§-()=!\",\"hewt:/mod\"); \$e= strtr(\"#* &%~F![[~+ß+?~[\",\"#~+[&*%!ß?\",\"benlTyhaAg\"); echo \"\$f<br>\$e\";");

    Kommentar


    • #3
      Geht schon... Wie es geht steht hier nachher oder morgen.

      CAT Music Files

      Kommentar


      • #4
        Interessiert mich auch, Sky spuck doch bitte den code aus.
        *winks*
        Gilbert
        ------------------------------------------------
        Hilfe für eine Vielzahl von Problemen!!!
        http://www.1st-rootserver.de/

        Kommentar


        • #5
          *ausspuck*

          Beispiel steht ganz unten.

          PHP-Code:
          <?

            /*
             *  Class mime_mail
             *  Original implementation by Sascha Schumann <sascha@schumann.cx>
             *  Modified by Tobias Ratschiller <tobias@dnet.it>:
             *      - general code clean-up
             *      - separate body- and from-property
             *      - killed some mostly un-necessary stuff
             *  Modified by Patrick Polzer <sky@nachtwind.net>:
             *      - added "Content-Disposition"-MIME-Statement for all attachments
             *        (does not affect body text)
             */

            class mime_mail
             {
             var $parts;
             var $to;
             var $from;
             var $headers;
             var $subject;
             var $body;

             /*
              *     void mime_mail()
              *     class constructor
              */
             function mime_mail()
              {
              $this->parts = array();
              $this->to = "";
              $this->from = "";
              $this->subject = "";
              $this->body = "";
              $this->headers = "";
              }

             /*
              *     void add_attachment(string message, [string name], [string ctype])
              *     Add an attachment to the mail object
              */
             function add_attachment($message, $name = "", $ctype = "application/octet-stream")
              {
              $this->parts[] = array (
                                      "ctype" => $ctype,
                                      "message" => $message,
                                      "encode" => $encode,
                                      "name" => $name
                                      );
              }

            /*
             *      void build_message(array part=
             *      Build message parts of an multipart mail
             */
            function build_message($part)
             {
             $message = $part["message"];
             $message = chunk_split(base64_encode($message));
             $encoding = "base64";
             if ($part["name"]!="") {
                $dispstring = "Content-Disposition: attachment; filename=\"$part[name]\"\n";
             }
             return "Content-Type: ".$part["ctype"].
                                    ($part["name"]?"; name = \"".$part["name"]."\"" : "").
                                    "\nContent-Transfer-Encoding: $encoding\n".$dispstring."\n$message\n";
             }

            /*
             *      void build_multipart()
             *      Build a multipart mail
             */
            function build_multipart()
             {
             $boundary = "b".md5(uniqid(time()));
             $multipart = "Content-Type: multipart/mixed; boundary=$boundary\n\nThis is a MIME encoded message.\n\n--$boundary";

             for($i = sizeof($this->parts)-1; $i >= 0; $i--)
                {
                $multipart .= "\n".$this->build_message($this->parts[$i])."--$boundary";
                }
             return $multipart.= "--\n";
             }

            /*
             *      void send()
             *      Send the mail (last class-function to be called)
             */
            function send()
             {
             $mime = "";
             if (!empty($this->from))
                $mime .= "From: ".$this->from."\n";
             if (!empty($this->headers))
                $mime .= $this->headers."\n";

             if (!empty($this->body))
                $this->add_attachment($this->body, "", "text/plain");
             $mime .= "MIME-Version: 1.0\n".$this->build_multipart();
             $success = mail($this->to, $this->subject, "", $mime);
             if (!$success) {
                  echo '<h2>Mail: Warning, mail could not be sent</h2>';
             } else {
                  echo '<h2>Mail: Mail successfully sent to '.$this->to;
             }
             }
            }; // end of class

            /*
             * Example usage
             *

             $attachment = fread(fopen("test.jpg", "r"), filesize("test.jpg"));

             $mail = new mime_mail();
             $mail->from = "foo@bar.com";
             $mail->headers = "Errors-To: foo@bar.com";
             $mail->to = "bar@foo.com";
             $mail->subject = "Testing...";
             $mail->body = "This is just a test.";
             $mail->add_attachment("$attachment", "test.jpg", "image/jpeg");
             $mail->send();

             */
          ?>

          CAT Music Files

          Kommentar


          • #6
            Sky, hast Du auch ne Lösung für:
            PHP connection zu POP3?

            Um ein Online-Mail Center aufzubauen.

            Mit Posteingang, Postausgang, Papierkorb und eMail schreiben ähnlich wie GMX?

            [Editiert von Wotan am 30-12-2001 um 19:53]
            *winks*
            Gilbert
            ------------------------------------------------
            Hilfe für eine Vielzahl von Problemen!!!
            http://www.1st-rootserver.de/

            Kommentar


            • #7
              Da müsst ihr noch warten. Ich muss mich dieser Sache demnächst auch stellen, aber damit lasse ich mir noch etwas Zeit. Bis dahin sollte eigentlich auch irgendwo eine Class zu finden sein.

              CAT Music Files

              Kommentar


              • #8
                Soll heißen wie lange müßen wir warten? :-(
                *winks*
                Gilbert
                ------------------------------------------------
                Hilfe für eine Vielzahl von Problemen!!!
                http://www.1st-rootserver.de/

                Kommentar


                • #9
                  1-2 Wochen.

                  CAT Music Files

                  Kommentar


                  • #10
                    Hey Sky.

                    Dank dir schön.

                    Ne Frage. FUnktioniert der Code auch, wenn meine Homepage bei einem Provider mit Windows 2000 Server liegt??

                    Ich hab was von MIME gehört, dass das angeblich nur unter Linux korrekt funktioniert.

                    Was stimmt da dran??

                    zhx, Tom

                    Kommentar


                    • #11
                      Hm, also wenn der Mailserver korrekt eingerichtet ist und PHP entsprechend konfiguriert ist, so sollte es keine Probleme geben - Mail ist Mail, egal ob die nun Klartext oder MIME-encoded ist.

                      CAT Music Files

                      Kommentar

                      Lädt...
                      X