Вот целая коллекция скриптов http://forum.antichat.ru/threadnav43806-1-10-%F1%EA%F0%E8%EF%F2%FB.html там есть около 40 почтовых скриптов
Короче не могу ссылку никак запостьть. Суть. Тока без обид. В поисковой строчке гугла (google.com) бьешь "скрипт почтовика" без ковычек. ВСЕ. Не нашел НИЧЕГО информативнее и разнообразнее.
Как заказывали: Code: <?php /* FIle id: mailer.class.php Kласс посылки почты Работает с smtp сервером через сокеты Письма отправляются в кодировке UTF-8 Файл global.conf.php должен содержать следующие переменные: $_CONFIG["smtp_server"] - smtp сервер, через который шлется почта $_CONFIG["smtp_port"] - порт smtp сервера $_CONFIG["smtp_login"] - имя пользователя, под которым скрипт должен логиниться на сервере. Если эта переменная равна пустой строке - аудентификация не производится. $_CONFIG["smtp_pass"] - пароль пользователя $_CONFIG["smtp_from"] - строка, которая будет записана в заголовоки письма From и Reply-To в UTF-8. Может быть как просто email адресом так и строкой вида "Имя пользователя <почтовый ящик>" (c) drmist\STNC, web: www.security-teams.net */ class Mailer { private $body = ''; // конструктор function Mailer() { // .. } // установить текст письма function SetBody($body) { $this->body = $body; } // сделать замену в тексте письма function BodyReplace($from, $to) { $this->body = str_replace("%$from", $to, $this->body); } // разорвать соединение с SMTP сервером // 1 в случае успеха, 0 в случае ошибки private function SMTPQuit($sock) { @fwrite($sock, "QUIT\r\n"); $tmp = intval(@fgets($sock)); @fclose($sock); return $tmp == 221; } // соединиться с SMTP сервером // сокет в случае успеха, 0 иначе private function SMTPConnect() { global $_CONFIG; $sock = fsockopen($_CONFIG["smtp_server"], $_CONFIG["smtp_port"]); if($sock === false) return 0; if(intval(fgets($sock)) != 220) { $this->SMTPQuit($sock); return 0; } @fwrite($sock, "HELO localhost\r\n"); if(intval(@fgets($sock)) != 250) { $this->SMTPQuit($sock); return 0; } return $sock; } // проходим аудентификацию, если нужно // 1 в случае успеха, 0 иначе private function SMTPAuth($sock) { global $_CONFIG; if(!$_CONFIG["smtp_login"]) return 1; @fwrite($sock, "AUTH LOGIN\r\n"); if(intval(@fgets($sock)) != 334) return 0; @fwrite($sock, base64_encode($_CONFIG["smtp_login"])."\r\n"); if(intval(@fgets($sock)) != 334) return 0; @fwrite($sock, base64_encode($_CONFIG["smtp_pass"])."\r\n"); if(intval(@fgets($sock)) != 235) return 0; return 1; } // шлем письмо по протоколу SMTP // 1 в случае успеха, 0 иначе private function SMTPSend($sock, $to, $from, $subj) { $from = trim($from); if(ereg("^([^\<]+) \<([^\>]+)\>$", $from, $g)) $from = "=?UTF-8?B?".base64_encode($g[1])."?= <".$g[2].">"; @fwrite($sock, "MAIL FROM: $from\r\n"); if(intval(@fgets($sock)) != 250) return 0; @fwrite($sock, "RCPT TO: $to\r\n"); if(intval(@fgets($sock)) != 250) return 0; @fwrite($sock, "DATA\r\n"); if(intval(@fgets($sock)) != 354) return 0; $subj = "=?UTF-8?B?".base64_encode($subj)."?="; $msg = "MIME-Version: 1.0\r\n"; $msg .= "To: $to\r\n"; $msg .= "From: $from\r\n"; $msg .= "Reply-To: $from\r\n"; $msg .= "Subject: $subj\r\n"; $msg .= "Content-type: text/html; charset=UTF-8\r\n"; $msg .= "Content-Transfer-Encoding: base64\r\n"; $msg .= "\r\n"; $msg .= chunk_split(base64_encode($this->body), 68, "\n"); $msg .= "\r\n.\r\n"; @fwrite($sock, $msg); return (intval(@fgets($sock)) == 250); } // послать письмо // 1 в случае успеха, 0 иначе function Send($to, $from, $subj) { // соединяемся с сервером if(!($sock = $this->SMTPConnect())) return 0; // проходим аудентификацию, если требуется if(!$this->SMTPAuth($sock)) { $this->SMTPQuit($sock); return 0; } // шлем письмо if(!$this->SMTPSend($sock, $to, $from, $subj)) { $this->SMTPQuit($sock); return 0; } // выходим return $this->SMTPQuit($sock); } } ?> Надеюсь, имелся ввиду не почтовый клиент.