Avatar billede msa Nybegynder
21. juli 2000 - 14:24 Der er 7 kommentarer og
1 løsning

vedhæft fil

30 point til den der kan fortælle mig hvordan man kan vedhæfte en fil i en form og derefer når man trykker på submit sender den til min e-mail adresse.
Avatar billede razor Nybegynder
21. juli 2000 - 14:28 #1
der findes en php-klasse du kan bruge:

http://phpclasses.upperdesign.com/browse.html/package/32
Avatar billede razor Nybegynder
27. juli 2000 - 00:41 #2
hallo?
Avatar billede msa Nybegynder
27. juli 2000 - 11:45 #3
Det står at man skal oprette sig som bruger på siden, derudover er den på engelsk så jeg har lidt problemer med det. Kan du ikke lægge scriptet ind her på siden?
Avatar billede razor Nybegynder
27. juli 2000 - 11:50 #4
klassen:
<?php
/***************************************
** Title.........: HTML Mime Mail class
** Version.......: 1.25
** Author........: Richard Heyes <richard.heyes@heyes-computing.net>
** Filename......: html_mime_mail.class
** Last changed..: 04/06/2000
** Notes.........: Based upon mime_mail.class
**                by Tobias Ratschiller <tobias@dnet.it>
**                and Sascha Schumann <sascha@schumann.cx>.
**                  - Thanks to Thomas Flemming for supplying a fix
**                    for Win32.
**                  - Made headers terminated by CRLF instead of LF, now
**                    compliant with RFC822. Thanks to Pao-Hsi Huang.
**                  - Fixed bug; certain mail systems (gmx.net in particular)
**                    were rejecting mail because of a space character either
**                    side of the equal sign on the boundary line. Thanks to
**                    Peter Holm for notifying me.
**                  - Fixed bug; $html_images was tested to be an array or not
**                    but was set to be an array during object creation, so the
**                    test always returned true. Thanks to Bob Silva for
**                    notifying me.
***************************************/

class html_mime_mail{

        var $headers;
        var $body;
        var $multipart;
        var $mime;
        var $html;
        var $html_text;
        var $html_images = array();
        var $cids = array();
        var $do_html;
        var $parts = array();

/***************************************
** Constructor function. Sets the headers
** if supplied.
***************************************/
        function html_mime_mail($headers = \'\'){
                $this->headers = $headers;
        }

/***************************************
** Adds a html part to the mail.
** Also replaces image names with
** content-id\'s.
***************************************/
        function add_html($html, $text){
                $this->do_html = 1;
                $this->html = $html;
                $this->html_text = $text;
                if(is_array($this->html_images) AND count($this->html_images) > 0){
                        for($i=0; $i<count($this->html_images); $i++){
                                $this->html = ereg_replace($this->html_images[$i][\'name\'], \'cid:\'.$this->html_images[$i][\'cid\'], $this->html);
                        }
                }
        }

/***************************************
** Builds html part of email.
***************************************/
        function build_html($orig_boundary){
                $sec_boundary = \'=_\'.md5(uniqid(time()));
                $thr_boundary = \'=_\'.md5(uniqid(time()));

                if(count($this->html_images) == 0){
                        $this->multipart.= \'--\'.$orig_boundary.\"\\r\\n\";
                        $this->multipart.= \'Content-Type: multipart/alternative;\'.chr(13).chr(10).chr(9).\'boundary=\"\'.$sec_boundary.\"\\\"\\r\\n\\r\\n\\r\\n\";

                        $this->multipart.= \'--\'.$sec_boundary.\"\\r\\n\";
                        $this->multipart.= \'Content-Type: text/plain\'.\"\\r\\n\";
                        $this->multipart.= \'Content-Transfer-Encoding: 7bit\'.\"\\r\\n\\r\\n\";
                        $this->multipart.= $this->html_text.\"\\r\\n\\r\\n\";

                        $this->multipart.= \'--\'.$sec_boundary.\"\\r\\n\";
                        $this->multipart.= \'Content-Type: text/html\'.\"\\r\\n\";
                        $this->multipart.= \'Content-Transfer-Encoding: 7bit\'.\"\\r\\n\\r\\n\";
                        $this->multipart.= $this->html.\"\\r\\n\\r\\n\";
                        $this->multipart.= \'--\'.$sec_boundary.\"--\\r\\n\\r\\n\";
                }else{
                        $this->multipart.= \'--\'.$orig_boundary.\"\\r\\n\";
                        $this->multipart.= \'Content-Type: multipart/related;\'.chr(13).chr(10).chr(9).\'boundary=\"\'.$sec_boundary.\"\\\"\\r\\n\\r\\n\\r\\n\";

                        $this->multipart.= \'--\'.$sec_boundary.\"\\r\\n\";
                        $this->multipart.= \'Content-Type: multipart/alternative;\'.chr(13).chr(10).chr(9).\'boundary=\"\'.$thr_boundary.\"\\\"\\r\\n\\r\\n\\r\\n\";

                        $this->multipart.= \'--\'.$thr_boundary.\"\\r\\n\";
                        $this->multipart.= \'Content-Type: text/plain\'.\"\\r\\n\";
                        $this->multipart.= \'Content-Transfer-Encoding: 7bit\'.\"\\r\\n\\r\\n\";
                        $this->multipart.= $this->html_text.\"\\r\\n\\r\\n\";

                        $this->multipart.= \'--\'.$thr_boundary.\"\\r\\n\";
                        $this->multipart.= \'Content-Type: text/html\'.\"\\r\\n\";
                        $this->multipart.= \'Content-Transfer-Encoding: 7bit\'.\"\\r\\n\\r\\n\";
                        $this->multipart.= $this->html.\"\\r\\n\\r\\n\";
                        $this->multipart.= \'--\'.$thr_boundary.\"--\\r\\n\\r\\n\";

                        for($i=0; $i<count($this->html_images); $i++){
                                $this->multipart.= \'--\'.$sec_boundary.\"\\r\\n\";
                                $this->build_html_image($i);
                        }

                        $this->multipart.= \"--\".$sec_boundary.\"--\\r\\n\\r\\n\";
                }
        }
/***************************************
** Adds an image to the list of embedded
** images.
***************************************/
        function add_html_image($file, $name = \'\', $c_type=\'application/octet-stream\'){
                $this->html_images[] = array( \'body\' => $file,
                                              \'name\' => $name,
                                              \'c_type\' => $c_type,
                                              \'cid\' => md5(uniqid(time())) );
        }


/***************************************
** Adds a file to the list of attachments.
***************************************/
        function add_attachment($file, $name = \'\', $c_type=\'application/octet-stream\'){
                $this->parts[] = array( \'body\' => $file,
                                        \'name\' => $name,
                                        \'c_type\' => $c_type );
        }

/***************************************
** Builds an embedded image part of an
** html mail.
***************************************/
        function build_html_image($i){
                $this->multipart.= \'Content-Type: \'.$this->html_images[$i][\'c_type\'];

                if($this->html_images[$i][\'name\'] != \'\') $this->multipart .= \'; name=\"\'.$this->html_images[$i][\'name\'].\"\\\"\\r\\n\";
                else $this->multipart .= \"\\r\\n\";

                $this->multipart.= \'Content-Transfer-Encoding: base64\'.\"\\r\\n\";
                $this->multipart.= \'Content-ID: <\'.$this->html_images[$i][\'cid\'].\">\\r\\n\\r\\n\";
                $this->multipart.= chunk_split(base64_encode($this->html_images[$i][\'body\'])).\"\\r\\n\";
        }

/***************************************
** Builds a single part of a multipart
** message.
***************************************/
        function build_part($i){
                $message_part = \'\';
                $message_part.= \'Content-Type: \'.$this->parts[$i][\'c_type\'];
                if($this->parts[$i][\'name\'] != \'\')
                        $message_part .= \'; name=\"\'.$this->parts[$i][\'name\'].\"\\\"\\r\\n\";
                else
                        $message_part .= \"\\r\\n\";

                // Determine content encoding.
                if($this->parts[$i][\'c_type\'] == \'text/plain\'){
                        $message_part.= \'Content-Transfer-Encoding: 7bit\'.\"\\r\\n\\r\\n\";
                        $message_part.= $this->parts[$i][\'body\'].\"\\r\\n\";
                }else{
                        $message_part.= \'Content-Transfer-Encoding: base64\'.\"\\r\\n\";
                        $message_part.= \'Content-Disposition: attachment; filename=\"\'.$this->parts[$i][\'name\'].\"\\\"\\r\\n\\r\\n\";
                        $message_part.= chunk_split(base64_encode($this->parts[$i][\'body\'])).\"\\r\\n\";
                }

                return $message_part;
        }

/***************************************
** Builds the multipart message from the
** list ($this->parts).
***************************************/
        function build_message(){
                $boundary = \'=_\'.md5(uniqid(time()));

                $this->headers.= \"MIME-Version: 1.0\\r\\n\";
                $this->headers.= \"Content-Type: multipart/mixed;\".chr(13).chr(10).chr(9).\"boundary=\\\"\".$boundary.\"\\\"\\r\\n\";
                $this->multipart = \'\';
                $this->multipart.= \"This is a MIME encoded message.\\r\\nCreated by html_mime_mail.class.\\r\\nSee http://www.heyes-computing.net/scripts/ for a copy.\\r\\n\\r\\n\";

                if(isset($this->do_html) AND $this->do_html == 1) $this->build_html($boundary);
                if(isset($this->body) AND $this->body != \'\') $this->parts[] = array(\'body\' => $this->body, \'name\' => \'\', \'c_type\' => \'text/plain\');

                for($i=(count($this->parts)-1); $i>=0; $i--){
                        $this->multipart.= \'--\'.$boundary.\"\\r\\n\".$this->build_part($i);
                }

                $this->mime = $this->multipart.\"--\".$boundary.\"--\\r\\n\";
        }

/***************************************
** Sends the mail.
***************************************/
        function send($to_name, $to_addr, $from_name, $from_addr, $subject = \'\', $headers = \'\'){

                if($to_name != \'\') $to = \'\"\'.$to_name.\'\" <\'.$to_addr.\'>\';
                else $to = $to_addr;

                if($from_name != \'\') $from = \'\"\'.$from_name.\'\" <\'.$from_addr.\'>\';
                else $from = $from_addr;

                $this->headers.= \'From: \'.$from.\"\\r\\n\";
                $this->headers.= $headers;

                mail($to, $subject, $this->mime, $this->headers);
        }

/***************************************
** Use this method to deliver using direct
** smtp connection. Relies upon Manuel Lemos\'
** smtp mail delivery class available at:
** http://phpclasses.upperdesign.com
**
** void smtp_send( string *Name* of smtp object,
**                string From address,
**                array  To addresses,
**                array  Headers,
**                string The body)
***************************************/
        function smtp_send($smtp_obj, $from_addr, $to_addr){
                global $$smtp_obj;
                $smtp_obj = $$smtp_obj;

                if(substr($this->headers, -2) == \"\\r\\n\") $this->headers = substr($this->headers,0,-2);
                $this->headers = explode(\"\\r\\n\", $this->headers);

                $smtp_obj->sendmessage($from_addr, $to_addr, $this->headers, $this->mime);
        }

} // End of class.
?>
Avatar billede razor Nybegynder
27. juli 2000 - 11:51 #5
example.php3

<?php
/***************************************
** Title.........: HTML Mime Mail class
** Version.......: 1.2
** Author........: Richard Heyes <richard.heyes@heyes-computing.net>
** Filename......: example.php3
** Last changed..: 25/06/2000
** Notes.........: Based upon mime_mail.class
**                by Tobias Ratschiller <tobias@dnet.it>
**                and Sascha Schumann <sascha@schumann.cx>.
***************************************/

        error_reporting(63);
        include(\'class.html_mime_mail.inc\');

/***************************************
** Example of usage.
***************************************/
        /***************************************
        ** Read the file background.gif into
        ** $backgrnd.
        ***************************************/

        /***************************************
        **
        ** !! Important !!
        **
        ** If running this script upon Windows
        ** then you may need to change th fopen()
        ** mode from \'r\' to \'rb\'.
        ** Thanks to Thomas Unger for this nugget.
        ***************************************/

        $filename = \'background.gif\';
        $backgrnd = fread($fp = fopen($filename, \'r\'), filesize($filename));
        fclose($fp);

        /***************************************
        ** Read the file test.zip into $attachment.
        ***************************************/
        $filename = \'example.zip\';
        $attachment = fread($fp = fopen($filename, \'r\'), filesize($filename));
        fclose($fp);

        /***************************************
        ** Create the mail object. Optional headers
        ** argument. Do not put From: here, this
        ** will be added when $mail->send
        ***************************************/
        $mail = new html_mime_mail(\"X-Mailer: Html Mime Mail Class\\r\\n\");

        /***************************************
        ** If sending an html email, then these
        ** two variables specify the text and
        ** html versions of the mail. Don\'t
        ** have to be named as these are. Just
        ** make sure the names tie in to the
        ** $mail->add_html() command further down.
        ***************************************/
        $text = \'Success.\';
        $html = \'<HTML><BODY BACKGROUND=\"background.gif\">\'.\"\\r\\n\".\'<FONT FACE=\"Verdana, Arial\" COLOR=\"#FF0000\">\'.\"\\r\\n\".\'&nbsp;&nbsp;&nbsp;&nbsp;Success...</FONT>\'.\"\\r\\n\".\'<P></BODY></HTML>\';

        /***************************************
        ** Add the text, html and embedded images.
        ** Each embedded image has to be added
        ** using $mail->add_html_image() BEFORE
        ** calling $mail->add_html(). The name
        ** of the image should match exactly
        ** (case-sensitive) to the name in the html.
        ***************************************/
        $mail->add_html_image($backgrnd, \'background.gif\', \'image/gif\');
        $mail->add_html($html, $text);

        /***************************************
        ** If not sending an html email, then
        ** this is used to set the plain text
        ** body of the email.
        ***************************************/
        // $mail->body = \'ftfuygfyugyguilgulghlgjhlgjhlkgjguilguilguil ghjli\';

        /***************************************
        ** This is used to add an attachment to
        ** the email.
        ***************************************/
        $mail->add_attachment($attachment, \'example.zip\', \'application/octet-stream\');

        /***************************************
        ** Builds the message.
        ***************************************/
        $mail->build_message();

        /***************************************
        ** Sends the message. $mail->build_message()
        ** is seperate to $mail->send so that the
        ** same email can be sent many times to
        ** differing recipients simply by putting
        ** $mail->send() in a loop.
        ***************************************/
        $mail->send(\'TO NAME\', \'you@yourdomain.com\', \'FROM NAME\', \'FROM ADDRESS\', \'SUBJECT LINE\');


        /***************************************
        ** Example of smtp_send()
        ***************************************/
/*
        include(\'class.smtp.inc\');
        $smtp = new smtp_class;

        $smtp->host_name = \'yourmailserver.com\';
        $smtp->localhost = \'yourdomain.com\';

        $from = \'you@yourdomain.com\';
        $to  = array(\'you@yourdomain.com\');  // Can be more than one address in this array.

        $mail->smtp_send(\'smtp\', $from, $to);
*/

        /***************************************
        ** Debug stuff. Entirely unnecessary.
        ***************************************/
        echo \'<PRE>\';
        echo $mail->mime;
        echo \'</PRE>\';
?>
Avatar billede razor Nybegynder
27. juli 2000 - 11:52 #6
håber det er ok ?
Avatar billede msa Nybegynder
27. juli 2000 - 18:06 #7
Okay, hvad skal jeg kalde den første fil?
Jeg har kaldt den smtp.inc
Avatar billede razor Nybegynder
27. juli 2000 - 20:18 #8
klippet fra den første fil:

** Filename......: html_mime_mail.class
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester