Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Delphi и Indy   Найти похожие ветки 

 
Awod   (2004-03-18 21:20) [0]

Добрый вечер!
Помогите в написании почтового сервера с использованием TIdPOP3Server. Не получается у меня клиентам почтовым отправить ответ о количестве писем в ящике. Не подскажите как это можно сделать?


 
Awod   (2004-03-18 21:20) [0]

Добрый вечер!
Помогите в написании почтового сервера с использованием TIdPOP3Server. Не получается у меня клиентам почтовым отправить ответ о количестве писем в ящике. Не подскажите как это можно сделать?


 
Rosik   (2004-03-20 00:23) [1]

Так клиент схавает, но лучше Rfc почитай и по науке сделай.
Принцип такой:

//RETR
procedure TF_Form.IdPOP3Server1TIdCommandHandler3Command(
 ASender: TIdCommand);
begin
If TIdPOP3ServerThread(ASender.Thread).State=trans then
    begin
     ASender.Thread.Connection.WriteLn("+OK "+ inttostr(AllBytes) +" octets");
     ASender.Thread.Connection.WriteLn(CountMessages);
     ASender.Thread.Connection.WriteLn(".");
    end;
end;


 
Rosik   (2004-03-20 00:23) [1]

Так клиент схавает, но лучше Rfc почитай и по науке сделай.
Принцип такой:

//RETR
procedure TF_Form.IdPOP3Server1TIdCommandHandler3Command(
 ASender: TIdCommand);
begin
If TIdPOP3ServerThread(ASender.Thread).State=trans then
    begin
     ASender.Thread.Connection.WriteLn("+OK "+ inttostr(AllBytes) +" octets");
     ASender.Thread.Connection.WriteLn(CountMessages);
     ASender.Thread.Connection.WriteLn(".");
    end;
end;


 
Awod   (2004-03-21 13:39) [2]

Но у TIdPOP3Server есть событие OnSTAT в котором по идее я должён как раз сообщить клиенту количество сообщений и их общий размер.
Я и делаю

procedure TfrmMain.IdPOP3Server1STAT(ASender: TIdCommand);
begin
   ASender.Reply.SetReply(0,"+OK 19 3634866");
end;

Но клиент после этого просто закрывает соединение.
Чего делать ?


 
Awod   (2004-03-21 13:39) [2]

Но у TIdPOP3Server есть событие OnSTAT в котором по идее я должён как раз сообщить клиенту количество сообщений и их общий размер.
Я и делаю

procedure TfrmMain.IdPOP3Server1STAT(ASender: TIdCommand);
begin
   ASender.Reply.SetReply(0,"+OK 19 3634866");
end;

Но клиент после этого просто закрывает соединение.
Чего делать ?


 
Rosik   (2004-03-21 21:41) [3]

ти че?
я же тебе говорю ты используй ручную обработку, сейчас сырцов нет  под рукой.
сам обробатывай все команды которые тебе шлет клиент, в компоненте IdPOP3Server есть поле его помоему в false и все команды переописываешь. Там чето с CommandHandler связано, посмотри, не сложно.


 
Rosik   (2004-03-21 21:41) [3]

ти че?
я же тебе говорю ты используй ручную обработку, сейчас сырцов нет  под рукой.
сам обробатывай все команды которые тебе шлет клиент, в компоненте IdPOP3Server есть поле его помоему в false и все команды переописываешь. Там чето с CommandHandler связано, посмотри, не сложно.



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.036 c
1-1082729140
Murad
2004-04-23 18:05
2004.05.09
Символы "<" и ">" в IXMLDocument


4-1079255619
Tack83
2004-03-14 12:13
2004.05.09
CheckBox - крестиком


3-1081444607
YurikGl
2004-04-08 21:16
2004.05.09
Проблемы с распространением DbExpress


1-1082709046
RAIN
2004-04-23 12:30
2004.05.09
Зарегестрировать определенные клавиши


14-1082362363
Mim1
2004-04-19 12:12
2004.05.09
Монстры





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский