Jason, 

I hope you don't mind, but I posted your script in my Code Depository
located here:

http://www.newbienetwork.net/phpcodems.php?as=viewcode&id=24

You are given credit, and hopefully it can get some use out of it.

Either way, thanks for showing us.  =)

Jason Lotito
www.NewbieNetwork.net

> -----Original Message-----
> From: Jason Murray [mailto:[EMAIL PROTECTED]] 
> Sent: Monday, May 21, 2001 11:34 PM
> To: '[EMAIL PROTECTED]'
> Subject: [PHP] Send attachments with an email (Sample Code 
> for you lot :))
> 
> 
> Hi folks,
> 
> I see this question asked here all the time, and recently had 
> to implement it. Every class and solution I downloaded and 
> tried to use failed for one reason or another, so I threw 
> together this, instead.
> 
> Advatages:
>  * Quick :)
>  * It's a function, so you can call it from most places if 
> it's include()'d.
> 
> Disadvantages:
>  * Quick, so probably buggy :)
>  * I haven't put in any facility for sending a HTML version 
> of your mail text
>    yet. We don't send HTML mails @ Melbourne IT, so it wasn't needed.
> 
> Usage:
> 
>    mailattachments((DestinationAddress), (Subject), (Email 
> Body), (File Attachment Info),
>                    (Extra Headers));
> 
>    "File Attachment Info" is an array:
> 
>        $fileattach[] = array("filename" => 
> "/full/path/to/file/on/your/system",
>                              "mimetype" => "mimetype/here");
> 
> And the code guts:
> 
> <?
>    Function mailattachments( $to, $subject, $body, $attacharray,
> $extraheaders)
>    {
>      // Generate a unique boundary
>      $mail_boundary = md5(uniqid(time()));
>      
>      // MIME-compliant headers
>      $mailheaders = $extraheaders
>                    ."MIME-Version: 1.0\r\n"
>                    ."Content-type: 
> multipart/mixed;boundary=\"$mail_boundary\"\r\n"
>                    ."\r\n"
>                    ."This is a multipart MIME message\r\n"
>                    ."\r\n";
>      
>      // Body. The part that gets displayed as the message:
>      $mailbody = "--$mail_boundary\r\n"
>                 ."Content-type: text/plain;charset=us-ascii\r\n"
>                 ."Content-transfer-encoding: 8bit\r\n"
>                 ."\r\n"
>                 .$body
>                 ."\r\n";
>      
>      // Now, do the attachments
>      for ($i = 0; $i < count($attacharray); $i++ )
>      {
>        $fp = fopen($attacharray[$i][filename], "r");
>        $file = fread($fp, filesize($attacharray[$i][filename]));
>        
>        $file = base64_encode($file);                     // 
> BASE64-encoded.
> Text. Nice.
>        $file = chunk_split($file);                       // 
> Now in handy
> bite-sized 76-char chunks.
>        $filename = basename($attacharray[$i][filename]);
>        
>        $mailbody .= "--$mail_boundary\r\n"
>                    ."Content-type: 
> ".$attacharray[$i][mimetype]."; name=".$filename."\r\n"
>                    ."Content-transfer-encoding: base64\r\n"
>                    ."\r\n"
>                    .$file
>                    ."\r\n"
>                    ."\r\n";
>      }
>      
>      // End of mail
>      $mailbody .= "--$mail_boundary--";
> 
>      mail($to, $subject, $mailbody, $mailheaders);
>    }
> ?>
> 
> Hope this helps someone out there...
> 
> Jason
> 
> -- 
> Jason Murray
> [EMAIL PROTECTED]
> Web Developer, Melbourne IT
> "What'll Scorpy use wormhole technology for?"
> 'Faster pizza delivery.'
> 
> -- 
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: 
> [EMAIL PROTECTED] To contact the list 
> administrators, e-mail: [EMAIL PROTECTED]
> 
> 


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to