PHP function code to add an attachment – data to be put into an attached file called $filename, is stored in variable $data ::

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
 
function attach_mail($to, $subject, $message, $header, $filename, $data){
$data = chunk_split(base64_encode($data));
$uid = md5(uniqid(time()));
$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/html; 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=\"".basename($filename)."\"\r\n" .
"Content-Description: ".basename($filename)."\r\n" .
"Content-Disposition: attachment;\r\n" . " filename=\"".basename($filename)."\"; size=".strlen($data).";\r\n" .
"Content-Transfer-Encoding: base64\r\n\r\n" . $data . "\r\n\r\n";
$header .= "--".$uid."--";
$ok = @mail($to, $subject, "", $header);
if($ok){ return 1; } else { return 0; }
}
 
?>