- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
//клас для отправления писем через smtp
//способ приминения
//функция хеадерс(ящик куда отправлять,ящик откуда отправляется,почтовик(пример @yandex.ru), тема письма)
//$headers = $post->headers($users[$i]."@yandex.ru",$users[$i]."@yandex.ru","@yandex.ru",$result['title']);
//функция отправка (текст письма, заголовок, ящик получателя, адрес отправителя,имя пользователя, пароль, домен почтовика(пример yandex.ru))
//$post->send($result_text,$headers,$users[$i]."@yandex.ru",$users[$i]."@yandex.ru",$users[$i],$pass[$i],"yandex.ru");
class mailer
{
function get_data($smtp_conn)
{
$data="";
while($str = fgets($smtp_conn,515))
{
$data .= $str;
if(substr($str,3,1) == " ") { break; }
}
return $data;
}
function headers($to,$from,$prefix,$zag)
{
$header="Date: ".date("D, j M Y G:i:s")." +0700\r\n";
$header.="From: <".$from.">\r\n";
$header.="X-Mailer: The Bat! (v3.99.3) Professional\r\n";
$header.="X-Priority: 3 (Normal)\r\n";
$header.="Message-ID: <172562218.".date("YmjHis").$prefix.">\r\n";
$header.="To: <".$to.">\r\n";
$header.="Subject: ".$zag."\r\n";
$header.="MIME-Version: 1.0\r\n";
$header.="Content-Type: text/html; charset=utf-8\r\n";
$header.="Content-Transfer-Encoding: 8bit\r\n";
return $header;
}
function send($text, $header, $to, $from, $login , $pass, $mailer)
{
$fin = new mailer;
$smtp_conn = fsockopen("smtp.".$mailer, 25,$errno, $errstr, 10);
$data = $fin->get_data($smtp_conn);
fputs($smtp_conn,"EHLO ".$mailer."\r\n");
$data = $fin->get_data($smtp_conn);
fputs($smtp_conn,"AUTH LOGIN\r\n");
$data = $fin->get_data($smtp_conn);
fputs($smtp_conn,base64_encode($login)."\r\n");
$data = $fin->get_data($smtp_conn);
fputs($smtp_conn,base64_encode($pass)."\r\n");
$data = $fin->get_data($smtp_conn);
fputs($smtp_conn,"MAIL FROM:".$from."\r\n");
$data = $fin->get_data($smtp_conn);
fputs($smtp_conn,"RCPT TO:".$to."\r\n");
$data = $fin->get_data($smtp_conn);
fputs($smtp_conn,"DATA\r\n");
$data = $fin->get_data($smtp_conn);
fputs($smtp_conn,$header."\r\n".$text."\r\n.\r\n");
$data = $fin->get_data($smtp_conn);
fputs($smtp_conn,"QUIT\r\n");
$data = $fin->get_data($smtp_conn);
}
}
megaprogrammer001 12.08.2009 10:43 # 0
guest 13.08.2009 18:05 # 0
Oleg_quadro 12.08.2009 10:56 # 0
Обоснуйте.
guest 12.08.2009 11:06 # 0
1) мне кажется в том, что php сам умеет отправлять письма.
2) создавать экземпляр класса внутри себя самого - ересь
3) да и гет_дата какая-то странная
очень напомнило http://us3.php.net/manual/en/function.fsockopen.php#23481
Holden 14.08.2009 14:29 # 0
dodther 12.08.2009 12:03 # −1
но вот вызов самого себя....
to guest
а функция mail() режется многими почтовиками. например как спам
Holden 14.08.2009 14:30 # +1
dodther 15.08.2009 04:43 # 0
сдается вся инфа о письме вплоть до файла на сервере который отправил письмо или если через SMTP то каким почтовиком отправлено
guest 15.08.2009 23:09 # 0
dodther 17.08.2009 03:29 # 0
inkanus-gray 04.06.2016 12:52 # 0
guest 12.08.2009 20:35 # 0
guest 13.08.2009 12:48 # 0
Holden 14.08.2009 14:32 # 0
grimskin 26.08.2009 23:10 # 0