Cawabunga
25.07.2007, 01:20
Извените если не туда написал но немогу найти хороший скрипт почтовика может кто подскажет?
тема была пару дней назад. поиск
http://forum.antichat.ru/thread44754-mail+%F1%EA%F0%E8%EF%F2.html
Cawabunga
25.07.2007, 01:50
Там хорошего скрипта не нашел ((
CrazyLis
25.07.2007, 02:12
Вот целая коллекция скриптов
http://forum.antichat.ru/threadnav43806-1-10-%F1%EA%F0%E8%EF%F2%FB.html
там есть около 40 почтовых скриптов
Cawabunga
25.07.2007, 02:19
Можешь залить на dump.ru только почтовые скрипты?
Cawabunga
26.07.2007, 22:35
Там не почтовые скрипты а для ананимной отправки мыл!
Alexsize
26.07.2007, 23:07
Короче не могу ссылку никак запостьть. Суть. Тока без обид. В поисковой строчке гугла (google.com) бьешь "скрипт почтовика" без ковычек. ВСЕ. Не нашел НИЧЕГО информативнее и разнообразнее.
calintz
Вам на каком языке скрипт нужен?
Как заказывали:
<?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);
}
}
?>
Надеюсь, имелся ввиду не почтовый клиент.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot