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); 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. 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. Link to comment https://forums.phpfreaks.com/topic/240712-email-w-file-attachment/#findComment-1236379 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.