Вот тебе функция Code: function KMail($to, $from, $subj, $text, $files = null, $isHTML = false){ $boundary = "------------".strtoupper(md5(uniqid(rand()))); $headers = "From: ".$from."\r\n X-Mailer: koz1024.net\r\n MIME-Version: 1.0\r\n Content-Type: multipart/alternative;boundary=\"$boundary\"\r\n\r\n "; if (!$isHTML){ $type = 'text/plain'; }else{ $type = 'text/html'; } $body = $boundary."\r\n\r\n Content-Type:".$type."; charset=utf-8\r\n Content-Transfer-Encoding: 8bit\r\n\r\n ".$text."\r\n\r\n"; if ((is_array($files))&&(!empty($files))){ foreach($files as $filename => $filecontent){ $body .= $boundary."\r\n Content-Type: application/octet-stream;name=\"".$filename."\"\r\n Content-Transfer-Encoding:base64\r\n Content-Disposition:attachment;filename=\"".$filename."\"\r\n\r\n ".chunk_split(base64_encode($filecontent)); } } return mail($to, $subj, $body, $headers); } юзать примерно так Code: $files = array('archive.zip' => file_get_contents('archive.zip'), 'myphoto.png' => file_get_contents('myfoto.png')); if (KMail('test@example.com', 'ivan@example.com', 'проба пера', 'Привет, высылаю файлы...', $files, false)){ echo 'Mail Отправлен'; }else{ echo 'Произошла ошибка'; } //или так $html = "(HTML код письма)"; if (KMail('test@example.com', 'ivan@example.com', 'проба пера', $html, null, true)){ echo 'Mail Отправлен'; }else{ echo 'Произошла ошибка'; }
тебе нужно самостоятельно сформировать заголовки в соответствии с требованиями протокола SMTP и передать его функции mail() последним парметром. Вот тут доступно о формате заголовков
ТУт тебе придеться уделить время, и просто сделать не получиться, пока не начитаешься о заголовках и тестировании этого всего дела на локал хосте, я помню в свое время намучался с этим , но зато потом рулил как хотел, когда понимал как все работает. Так же можеш поискать инфу на англ типа simple attach via php mail or xmail function что то в этом роде