Отправка email через сокет
хорошо конечно, но было бы время осилить и нужное я там что-то не нашёл
там описан протокол смтп, по которому ты бужешь общаться с сервером через свой сокет. Хочешь проще - юзай соответствующие библиотеки, там это решиться одной-двумя функциями.
я недавно постил на перле код, пару недель назад буквально
Если на php, то пользуйся функцией mail
Пока есть такие программисты как и Lexus, отфильтровывать львиную долю спама будет легко. Это хорошо.
> львиную долю спама будет легко.
Не скажи. Вот полно сообщений с пустым или почти пустым телом приходит.
Подозреваю, благодаря таким программистам.
Как их фильтровать, учитывая, что бывают важные сообщения, в которых вся полезная информация - в subject?
бля, ну нет других слов... ущербный... извини уж.
Не ты писал, но ты код просто скопировал. Поэтому утверждение остаётся справедливым. Пока есть такие программисты, со спамом можно бороться.
Нее
Тут по другому принципу отфильтровать можно.
другого кода с припиской "(c) " я не вижу, я во всех твоих постах вижу только обсирание людей, до сих пор пользующихся недосистемами Windows и Linux, не пользующихся лучшей в мире системой FreeBSD и вообще - "вы все пидорасы, один я - д'Артаньян"
у всех бывают проблемы.
Я тебе указал на ошибку в том самом треде про SMTP на который ты ссылаешься.
там есть пространное упоминание какой-то "ошибки". Какой - не указано
Ты не понял фразу "настоящие программисты ошибки не проверяют"? Подумай над ней еще раз.
#!/usr/bin/perl -w
use MIME::Lite;
my $msg = MIME::Lite->new(
From =>qq{"test multipart-mixed message"},
To =>$email,
Subject =>qq{"Ваши данные"},
Type =>'multipart/mixed'
);
$msg->attach(Type =>'text',
Data => qq{"$data"}
);
$msg->attach(Type => 'image/jpeg',
Path => '/usr/local/photo/head.jpg',
Filename =>'head.jpg'
);
$msg->attach(Type => 'application/x-msexcel',
Path => "$dir/users/$login/mydata.xls",
Filename =>'mydata.xls'
);
$msg->send;
Вот полно сообщений с пустым или почти пустым телом приходит.Ага, еще всякие
Content-Type: text/html;charset=$Charset
еще язык толком не выучат уже спамить рвутся!..
$msg->send;лопата где-то там?
какая такая лопата?
разве эти скрипты удовлетворяют требованиям первого поста?
ну тыж вроде сам сказал, что у тебя есть логин-пароль на сервер.
примеры до уровня
fsockopen и fread, fwrite.
Что, например, значит
use Net::SMTP;
в первом
и
use MIME::Lite;
во втором?
эти модули посылают письма. ботать тебе нужно, вобшем...
или попробуй вот так вот:
http://www.opennet.ru/tips/info/583.shtml
У меня в наличии только ф-ции fsockopen и fread/fwrite.
$f=fsockopen("mailserver.domen", 25);
if(!$f)
echo "error";
else
{
fwrite($f, "HELO 127.0.0.1\n");
fwrite($f, "MAIL From:<mail.ru>\n");
fwrite($f, "RCPT To:<mail.ru>\n");
fwrite($f, "DATA\n");
$out.="\r\n\r\n";
fwrite($f, $out);
fwrite($f, ".\n");
fwrite($f, "QUIT\n");
fclose($f);
}
cool_hackers++
CoolHackers.GetInstance.SetCount( CoolHackers.GetInstance.GetCount + 1 );
Та же ошибка, что и у Феди.
и ктож над тобой так издеваецца? и потом, откуда тогда fclose?
какая ?
"Настоящие программисты не проверяют ошибок."
эт ты зря, от скрипта не требовалось проверять ошибки, т.к. он не предназначался для "промышленного" использования
эт ты зря, от скрипта не требовалось проверять ошибки, т.к. он не предназначался для "промышленного" использованияЭто ты зря... Вот я ради интереса проверил твой скрипт на ремблере (со своими ящиками). Выглядит так, как будто письмо послано, между тем - это не так... И где мне, спрашивается, искать ошибку? Как вообще понять, послано оно или нет, и если не послано, то хотя бы примерно - почему? Вот о том и речь...
между тем, банальное чтение из этого сокета уже даёт:
=============================
530 5.7.0 Authentication required
503 5.0.0 Need MAIL before RCPT
503 5.0.0 Need MAIL command
500 5.5.1 Command unrecognized: ""
500 5.5.1 Command unrecognized: ""
500 5.5.1 Command unrecognized: "."
221 2.0.0 mailc.rambler.ru closing connection
=============================
По крайней мере понятно, что письмо не послано, и примерно понятно, куда копать дальше... А из твоего кода кажется, что всё хорошо, "ждите ответа".
так что проверка на ошибки в такой формме была добавлена как только в ней появилась необходимость.
Если бы это сделал с самого начала, то сэкономил бы время.
Оставить комментарий
356ft85
Подскажите, как имея в наличии адрес smtp сервера (напр., smtp.com:25)логин, пароль и ф-ции открытия,
в/вв сокета, сделать отправку письма?
(исходно на php, но в принципе подойтдёт любой язык)
ьело письмо сформировано в нек. переменной
[code]
To: tst.ru
Subject: tst
From: tst.ru
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=_8ee8125b7c6a377b7bd04ab7c29fcc3a"
This is a MIME encoded message.
--=_8ee8125b7c6a377b7bd04ab7c29fcc3a
Content-Type: text/plain; charset=windows-1251
BCC: ipo.spb.ru
Content-Transfer-Encoding: Quot-Printed
HTML OR TEXT here
--=_8ee8125b7c6a377b7bd04ab7c29fcc3a
Content-Type: application/octet-stream; name = "ls"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename = "ls"
MjgyLTEuanBn
--=_8ee8125b7c6a377b7bd04ab7c29fcc3a--