hdbrandon Posted June 29, 2011 Share Posted June 29, 2011 Based off of: http://www.finalwebsites.com/forums/topic/php-e-mail-attachment-script The script is not 100% functional. It does send a message, but without an attachment and with random text in the body. function mail_attachment($filename, $path, $mailto, $from_mail, $from_name, $replyto, $subject, $message) { $file = $path.$filename; $file_size = filesize($file); $handle = fopen($file, 'r'); $content = fread($handle, $file_size); fclose($handle); $content = chunk_split(base64_encode($content)); $uid = md5(uniqid(time())); $name = basename($file); $header = 'From: '.$from_name.' <'.$from_mail.'>\r\n'; $header .= 'Reply-To: '.$replyto.'\r\n'; $header .= 'MIME-Version: 1.0\r\n'; $header .= 'Content-Type: multipart/mixed; boundary=\''.$uid.'\'\r\n\r\n'; $header .= 'This is a multi-part message in MIME format.\r\n'; $header .= '--'.$uid.'\r\n'; $header .= 'Content-type:text/plain; charset=iso-8859-1\r\n'; $header .= 'Content-Transfer-Encoding: 7bit\r\n\r\n'; $header .= $message.'\r\n\r\n'; $header .= '--'.$uid.'\r\n'; $header .= 'Content-Type: application/octet-stream; name=\''.$filename.'\'\r\n'; // use different content types here $header .= 'Content-Transfer-Encoding: base64\r\n'; $header .= 'Content-Disposition: attachment; filename=\''.$filename.'\'\r\n\r\n'; $header .= $content.'\r\n\r\n'; $header .= '--'.$uid.'--'; if (mail($mailto, $subject, '', $header)) { echo 'mail send ... OK'; // or use booleans here } else { echo 'mail send ... ERROR!'; } } $my_file = "test_upload.jpg"; $my_path = $_SERVER['DOCUMENT_ROOT'].'contribute/upload/'; $my_name = 'Name here'; $my_mail = '[email protected]'; $my_replyto = '[email protected]'; $my_subject = 'foobar.com Facebook Submission.'; $my_message = 'foobar.com Facebook photo submission-attached.'; mail_attachment($my_file, $my_path, '[email protected]', $my_mail, $my_name, $my_replyto, $my_subject, $my_message); Quote Link to comment https://forums.phpfreaks.com/topic/240712-email-w-file-attachment/ Share on other sites More sharing options...
WebStyles Posted June 29, 2011 Share Posted June 29, 2011 at a (very) quick glance, (sorry, I'm in a hurry) change if (mail($mailto, $subject, '', $header)) { to if (mail($mailto, $subject, $message, $header)) { so message gets sent. Quote Link to comment https://forums.phpfreaks.com/topic/240712-email-w-file-attachment/#findComment-1236375 Share on other sites More sharing options...
hdbrandon Posted June 29, 2011 Author Share Posted June 29, 2011 Fantasitc. Works 100% now. Quote Link to comment https://forums.phpfreaks.com/topic/240712-email-w-file-attachment/#findComment-1236379 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.