Страница 1 из 1
Добавлено: Сб июн 05, 2004 15:46
Seven
кто -нибудь может запостить реальный пример отправки почты через fsockopen() ??
например на mail.ru
или реальную ссылку тока не PEAR , уже смотрю код
пацан один с форума пробовал мне на мыло послать, - нифига
и телнетом тоже не пашет
кто-то ваще посылал почту так? или тока mail()
[off]добавлено спустя 1 минуту:[/off]
я имею в виду не с етого форума а с РНР-шного пытались, говорят
какие-то глюки с mail.ru
Добавлено: Сб июн 05, 2004 17:52
x
Добавлено: Сб июн 05, 2004 18:01
Seven
сенкс, ща посмотрю но мой интуишн подсказывает что не получится..
ппробую на другой адрес но там авторизация, а ето уже c PEAR попробовать надо
так как не помню я кода с авторизацией
Добавлено: Ср июн 16, 2004 01:34
Seven
x,
пасиба тебе большое, забыл ответить
хороший код на php_net в user comments )
вечно забываю зайти и посмотреть онлайн комменты
тока вот гемор ето посылать почту через fsockopen ))
Добавлено: Чт июн 17, 2004 01:23
Pro
Код: Выделить всё
<?php
$handle = smtp_connect($smtp_server, 25, 30, 1, 1, 1);
echo smtp_command($handle, "EHLO $domain\r\n", 1, 1);
echo smtp_command($handle, "MAIL FROM:<$from_mail>\r\n", 1, 1);
echo smtp_command($handle, "RCPT TO:<$to_mail>\r\n", 1, 1);
echo smtp_command($handle, "DATA\r\n", 1, 1);
echo smtp_command($handle, "$message\r\n.\r\n", 1, 1);
// don't do it like this - it will hang up
// echo smtp_command($handle, "$message", 1, 1);
// echo smtp_command($handle, "\r\n.\r\n", 1, 1);
echo smtp_command($handle, "QUIT\r\n", 1, 1);
smtp_close($handle);
function smtp_connect($host, $port, $timeout=30, $echo_command=False, $echo_response=False, $nl2br=False)
{
$errno = 0;
$errstr = 0;
if($echo_command)
{
if($nl2br) { echo nl2br("CONNECTING TO $host\r\n"); }
else { echo "CONNECTING TO $host\r\n"; }
}
$handle = fsockopen($host, $port, $errno, $errstr, $timeout);
if(!$handle)
{
if($echo_command)
{
if($nl2br) { echo nl2br("CONNECTION FAILED\r\n"); }
else { echo "CONNECTION FAILED\r\n"; }
}
return False;
}
if($echo_command)
{
if($nl2br) { echo nl2br("SUCCESS\r\n"); }
else { echo "SUCCESS\r\n"; }
}
$response = fgets($handle,1);
$bytes_left = socket_get_status($handle);
if ($bytes_left > 0) { $response .= fread($handle, $bytes_left["unread_bytes"]); }
if($echo_response)
{
if($nl2br) { echo nl2br($response); }
else { echo $response; }
}
return $handle;
}
function smtp_command($handle, $command, $echo_command=False, $nl2br=False)
{
if($echo_command)
{
if($nl2br) { echo nl2br($command); }
else { echo $command; }
}
fputs($handle, $command);
$response = fgets($handle,1);
$bytes_left = socket_get_status($handle);
if ($bytes_left > 0) { $response .= fread($handle, $bytes_left["unread_bytes"]); }
if($nl2br) { return nl2br($response); }
else { return $response; }
}
function smtp_close($handle)
{
fclose($handle);
}
?>
[/code]
Добавлено: Чт июн 17, 2004 02:35
Seven
Pro,
а ты запускал етот код?
Добавлено: Вс июл 18, 2004 01:50
ищейка
привет вот код работает 100 прочентов сам юзаю и написал
Код: Выделить всё
<?
function s($d,$s)
{
if($s)
{
fwrite($s,$d."\r\n",strlen($d)+2);
}
}
/**
* $mess само сообщениеее
* $smtp_server сервер smtp например smtp.bk.ru
* $from мыло отправителя
* $to мыло адресата
* @desc шлёт мыло через смтп
*/
function ree($mess,$smtp_server,$from,$to)
{$err=$er=0;
$mail=fsockopen($smtp_server,25,$err,$er,30);
if($mail)
{
s("HELO oleg",$mail);
$temp=fgets($mail);
if(substr($temp,0,3)==220)
{
$temp= fgets($mail);
if(substr($temp,0,3)==250)
{s
("MAIL FROM: $from",$mail);
$temp= fgets($mail);
if(substr($temp,0,3)==250)
{
s("RCPT TO: $to",$mail);
$temp=fgets($mail);
if(substr($temp,0,3)==250)
{
s("DATA",$mail);$temp=fgets($mail);
if(substr($temp,0,3)==354)
{
s("$mess\r\n.\r\n",$mail);
$temp=fgets($mail);
if(substr($temp,0,3)==250)
{
s("QUIT",$mail);
}
}
}
}
}
fclose($mail);
}
}
}
?>
ндеюсь вы поняли что функция ree() отпровляе мыло вот пример
ree(' урааа ','smtp.bk.ru','
master_etd@bk.ru','
master_etd@bk.ru');
[off]добавлено спустя 29 минут:[/off]
забыл сказать для спама не подойдёт так как майл ру очень быстро баннят
[off]добавлено спустя 3 минуты:[/off]
Pro писал(а):Код: Выделить всё
<?php
$handle = smtp_connect($smtp_server, 25, 30, 1, 1, 1);
echo smtp_command($handle, "EHLO $domain\r\n", 1, 1);
echo smtp_command($handle, "MAIL FROM:<$from_mail>\r\n", 1, 1);
у тебя тут ошибка вместо "EHLO" должно быть "HELO"
Добавлено: Вс июл 18, 2004 23:01
oxenus
ищейка писал(а):
у тебя тут ошибка вместо "EHLO" должно быть "HELO"
Как раз нет

Доки, и ещё раз доки

Добавлено: Пн июл 19, 2004 12:56
ищейка
oxenus писал(а):
Как раз нет

Доки, и ещё раз доки

1 я конечно наверно дурак но если бы у тебя был бы сервак почтовый то бы ты видел ето в его логах
2 твой код не пашет
3 а мой да
[off]добавлено спустя 1 минуту:[/off]
ну ты вообще тут не выступай я лучше знаю я на етом деньги зарабатываю
[off]добавлено спустя 1 минуту:[/off]
и в каких доках ето ты нашёл ???
Добавлено: Пн июл 19, 2004 13:15
ZorroGFS
ищейка,
http://www.ietf.org/rfc/rfc1869.txt
RFC 1869 SMTP Service Extensions November 1995
4. The EHLO command
A client SMTP supporting SMTP service extensions should start an SMTP
session by issuing the EHLO command instead of the HELO command. If
the SMTP server supports the SMTP service extensions it will give a
successful response (see section 4.3), a failure response (see 4.4),
or an error response (4.5). If the SMTP server does not support any
SMTP service extensions it will generate an error response (see
section 4.5).
Добавлено: Пн июл 19, 2004 14:33
ищейка
ну что сказать не факт что все все серваки ето поддерживают
Добавлено: Пн июл 19, 2004 15:19
ZorroGFS
ищейка,
Ну знаешь ли , есмтп существующий с 95-го года не держат только очень старые серваки.
А некоторые наоборот, требуют только ехло приветсвия.
Добавлено: Пн июл 19, 2004 15:25
ищейка
ZorroGFS писал(а):ищейка,
Ну знаешь ли , есмтп существующий с 95-го года не держат только очень старые серваки.
А некоторые наоборот, требуют только ехло приветсвия.
не факт
Добавлено: Пн июл 19, 2004 15:31
oxenus
ищейка,
Факт факт...
Какой сервак не поддерживает ЕХЛО?
Добавлено: Пн июл 19, 2004 15:40
ZorroGFS
ищейка,
Может ты тестил на каком-то минималистическом смтп редиректоре типа mail direct pro ? Они обычно страдают тем, что реализуют смтп по минимуму.
А так, хотелось бы увидеть в онлайне какой-нить сервак без есмтп

Добавлено: Пн июл 19, 2004 15:40
ищейка
ну ладно убедили
Добавлено: Чт сен 16, 2004 00:46
Seven
ищейка, спасибо за пример , но нихера себе убедили

имхо даже и не надо убеждать когда у тебя не будет нифига работать ты голову будешь ломать что за хрень а потом поймёшь что ето EHLO . да) нет нифига лучше своих ошыбок
