с SMTP в PHP работать нужно абсолютно точно так же, как и в любях других языках и приложениях. Устанавливать соединение с сокетом и обмениваться текстовыми командами.
у меня не контачит с www.e1.ru... я в питоне пытался так SMTP('mail.e1.ru')... ошибка возникала 10060
PHP: <?php function JC_mail($to,$from,$subject,$message,$f) { for ($i=0; $i<count($f); $i++) { $attach_file = $f[$i][file_link]; $filename = $f[$i][name]; $file = fopen($attach_file, "r"); $contents = fread($file, filesize ($attach_file)); $encoded_attach = chunk_split(base64_encode($contents)); fclose($file); $msg_body_f .= "Content-Type: application/octet-stream; name=\"$filename\"\n"; $msg_body_f .= "Content-Transfer-Encoding: base64\n"; $msg_body_f .= "Content-Disposition: attachment; filename=\"$filename\"\n\n"; $msg_body_f .= "$encoded_attach\n"; $msg_body_f .= "--Message-Boundary\n"; } $mailheaders = "From: $from\n"; $mailheaders .= "Subject: $subject\n"; $mailheaders .= "X-Mailer: jcda online mailer\n"; $mailheaders .= "MIME-version: 1.0\n"; $mailheaders .= "Content-type: multipart/mixed; boundary=\"Message-Boundary\""; $msg_body = "\n\n--Message-Boundary\n"; $msg_body .= "Content-Type: text/html; charset=Windows-1251\n\n"; $msg_body .= "$message"; $msg_body .= "\n\n--Message-Boundary\n"; $msg_body .= $msg_body_f; set_time_limit(0); if (mail($to, $subject, $msg_body, $mailheaders)) return true; else return false; } $f=array(); $f[] = array(file_link=>"1.rar", name=>"архив.rar"); $f[] = array(file_link=>"2.jpg", name=>"картинка.jpg"); $res = JC_mail("jcda@mail.ru", "admin@mail.ru", "проверка провекра", "<h1>Я текст</h1>",$f); if ($res) {echo("Ушло");} else {echo("Ошибка, убей сибя апстену");} } ?> [/code] В той-же папке должны быть и 2.jpg, 1.rar - это так для примера. Вообще я скрипт накидал за пол часа, я незнаю как правильно писать заголовки в письмах, поэтому вместе с файлами приходит пустой файл (вроде), а может и нет... Но все почтовики его отлично принимают. Ах да на всякий случай, если будешь тестировать на локальной машине, не забудь о 2-x вещах (рекомендуется). 1) строка в теле письма желательна From: $from\n"; хоть ты ее в параметрах и указал у функции mail();. 2) в твоем php.ini в секции [mail function] параметр sendmail_from должен иметь адрес, такий же что ты используешь в функции mail ; For Win32 only. SMTP = mail.ru smtp_port = 25 sendmail_from = jcda@mail.ru