![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Simple POP/SMTP server [D6]
Atreides © (2002-12-15 14:36:00)Кто-нибудь сталкивался с необходимостью написания тривиального почтового сервера? Готовых компонент не нашел. Попробовал сам на IdSimpleServer, но видимо руки совсем кривые:( Вот этот кусок -
procedure TfrmMain.btnAcceptClick(Sender: TObject);
var str:string;
str2:String;
begin
with SServ do begin
if Listen then begin
WriteLn("220 localhost Simple Mail Transfer Service Ready ");
str:=ReadLn();
str2:=Copy(str,1,4);
frmMain.Memo1.Lines.Add(str);
While str2<>"QUIT" do
begin
If str2="EHLO" then WriteLn("250 localhost") else
If str2="MAIL" then WriteLn("250 OK") else
If str2="RCPT" then WriteLn("250 OK") else
If str2="DATA" then
begin
WriteLn("354 Start mail input; end with <CRLF>.<CRLF> ");
Repeat
str:=ReadLn();
If str<>"." then frmMain.Memo1.Lines.Add(str);
until str=".";
WriteLn("250 OK");
end else WriteLn("502");
str:=ReadLn();
str2:=Copy(str,1,4);
frmMain.Memo1.Lines.Add(str);
end;
WriteLn("221 localhost Service closing transmission channel ");
Disconnect;
end;
end;
end;
вешается при обрыве коннекта со стороны клиента. И как такие ситуации обрабатывать, неясно.
Ghost. (2002-12-16 08:59:00) [1]Зайди на сайт ICS ссылка на моей страничке есть там если внимательно почитаешь найдешь компоненты для серверов..только конечно писать придется всеравно...не все так просто если хорошо хочешь сделать, а вообще все реально..
Atreides (2002-12-15 14:45:00) [2]Мне сервер нужен. Клиентов-то понаписано, как @ нерезаных.:)
s002156Shurik (2002-12-15 14:43:00) [3]А компонентами NMSNTP и NMPOP3 пользоваться непробовал?