Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   E-Mail (https://forum.antichat.xyz/forumdisplay.php?f=14)
-   -   Нужен скрипт! (https://forum.antichat.xyz/showthread.php?t=45257)

Cawabunga 25.07.2007 01:20

Нужен скрипт!
 
Извените если не туда написал но немогу найти хороший скрипт почтовика может кто подскажет?

Piflit 25.07.2007 01:25

тема была пару дней назад. поиск

Cawabunga 25.07.2007 01:29

я не нашел!

Piflit 25.07.2007 01:35

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 только почтовые скрипты?

stalles 26.07.2007 22:16

http://woweb.ru/load/64

Cawabunga 26.07.2007 22:35

Там не почтовые скрипты а для ананимной отправки мыл!

Alexsize 26.07.2007 23:07

Короче не могу ссылку никак запостьть. Суть. Тока без обид. В поисковой строчке гугла (google.com) бьешь "скрипт почтовика" без ковычек. ВСЕ. Не нашел НИЧЕГО информативнее и разнообразнее.

drmist 01.08.2007 12:20

calintz
Вам на каком языке скрипт нужен?

Cawabunga 01.08.2007 20:34

желательно php

drmist 02.08.2007 11:54

Как заказывали:
Код:

<?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);
  }
}

?>

Надеюсь, имелся ввиду не почтовый клиент.


Время: 22:06