note 50530 added to ref.mail

From: Date: Wed, 02 Mar 2005 20:25:35 +0000
Subject: note 50530 added to ref.mail
Groups: php.notes 
Request: Send a blank email to php-notes+get-85820@lists.php.net to get a copy of this message
How to add multiple attachment to an email: An email can be split into many parts separated by a boundary followed by a Content-Type and a Content-Disposition. The boundary is initialized as follows: <?php $boundary = '-----=' . md5( uniqid ( rand() ) ); ?> You can attach a Word document if you specify: <?php $message .= "Content-Type: application/msword; name=\"my attachment\"\n"; $message .= "Content-Transfer-Encoding: base64\n"; $message .= "Content-Disposition: attachment; filename=\"$theFile\"\n\n"; ?> When adding a file you must open it and read it with fopen and add the content to the message: <?php $path = "whatever the path to the file is"; $fp = fopen($path, 'r'); do //we loop until there is no data left { $data = fread($fp, 8192); if (strlen($data) == 0) break; $content .= $data; } while (true); $content_encode = chunk_split(base64_encode($content)); $message .= $content_encode . "\n"; $message .= "--" . $boundary . "\n"; ?> Add the needed headers and send! <?php $headers = "From: \"Me\"<me@here.com>\n"; $headers .= "MIME-Version: 1.0\n"; $headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\""; mail('myAddress@hotmail.com', 'Email with attachment from PHP', $message, $headers); ?> Finally, if you add an image and want it displayed in your email, change the Content-Type from attachment to inline: <?php $message .= "Content-Disposition: inline; filename=\"$theFile\"\n\n"; ?> Enjoy! ---- Manual Page -- http://www.php.net/manual/en/ref.mail.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+50530 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+50530&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+50530&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+50530&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+50530&report=yes&reason=useless Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+50530&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+50530&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#85820) next »