Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi: Сети
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
NIKOLAYY
819 / 717 / 339
Регистрация: 22.09.2012
Сообщений: 4,994
1

Прием почтовых сообщений

28.05.2013, 08:10. Просмотров 833. Ответов 7
Метки нет (Все метки)

Нашел такой код сделал тестовый почтовый ящик и решил попробовать:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TForm1.Button2Click(Sender: TObject);
begin
IdPOP31.Host:='pop.mail.ru';
IdPOP31.Port:=110;
IdPOP31.Password:='zxcvbn111';  //тестовый пароль
IdPOP31.Username:='naaasss111@mail.ru'; //тестовый ящик
IdPOP31.Connect();
sleep(2000);
if IdPOP31.CheckMessages>0 then
begin
   IdPOP31.Retrieve(1,IdMessage1);
   memo1.Text:=IdMessage1.Body.Text;
end;
IdPOP31.Disconnect;
end;
Письма в ящике есть и вроде как одно последнее должно в мемо-поле загрузится а оно не грузится и самое главное и ошибок ни каких нет. Мемо-поле постоянно пустое!Что я сделал не так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2013, 08:10
Ответы с готовыми решениями:

Отправка\прием сообщений с применением Indy 10
Всем доброго времени суток. Помогите решить проблему. Пишу клиент-серверное...

Прием сигнала.
Здравствуйте уважаемые. Прошу помоч с одним вопросом. Есть прибор, уздающий ...

post прием и отправка
как мне реализовать отправку запроса и как мне его принять с этого же адреса?...

Прием данных с маршрутизатора
Есть некий корректно работающий маршрутизатор. На него посылаются пакеты...

Прием тела писем
принимает тело письма как html страница delphi xe3 indy 10.5.9.0 ...

7
mss
2632 / 2257 / 275
Регистрация: 24.12.2010
Сообщений: 13,725
28.05.2013, 20:52 2
Цитата Сообщение от NIKOLAYY Посмотреть сообщение
pop.mail.ru
Такой хост не существует.

Цитата Сообщение от NIKOLAYY Посмотреть сообщение
sleep(2000);
Это еще зачем ?

Цитата Сообщение от NIKOLAYY Посмотреть сообщение
IdPOP31.Retrieve(1,IdMessage1);
IdMessage1 кто за тебя создавать будет ?
0
NIKOLAYY
819 / 717 / 339
Регистрация: 22.09.2012
Сообщений: 4,994
30.05.2013, 06:47  [ТС] 3
Цитата Сообщение от mss Посмотреть сообщение

IdMessage1 кто за тебя создавать будет ?
А че его создавать? Я его уже готовый на форму кинул.
0
саша40
-47 / 290 / 47
Регистрация: 14.08.2012
Сообщений: 2,565
30.05.2013, 08:31 4
Значит у тебя писем нет
0
NIKOLAYY
819 / 717 / 339
Регистрация: 22.09.2012
Сообщений: 4,994
30.05.2013, 10:20  [ТС] 5
Цитата Сообщение от саша40 Посмотреть сообщение
Значит у тебя писем нет
Да есть письмо я жеспециально послал его туда с другого ящика для проверки.
Может код тока непрочитанные письма показывает или я в какой-то строке ошибся в самом коде...
0
mss
2632 / 2257 / 275
Регистрация: 24.12.2010
Сообщений: 13,725
30.05.2013, 11:15 6
Цитата Сообщение от NIKOLAYY Посмотреть сообщение
memo1.Text:=IdMessage1.Body.Text;
Ставь брейкпойнт на эту строчку и убедись что до нее дело вообще доходит.
0
NIKOLAYY
819 / 717 / 339
Регистрация: 22.09.2012
Сообщений: 4,994
30.05.2013, 19:45  [ТС] 7
А вот этот код выводит количество писем, и даже правильно считает-
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
procedure TForm1.Button3Click(Sender: TObject);
var
  msgs: Integer; //Г±ГѕГ¤Г* Г§Г*ГЇГЁГёГҐГ¬ êîë-ГўГ® ГЇГЁГ±ГҐГ¬
begin
  try
    IdPOP31.Username := Edit1.Text; //Г*äðåñ ýëåêòðîГ*Г*îé ïî÷òû
    IdPOP31.Password := Edit2.Text; //ГЇГ*ðîëü
    IdPOP31.Host := Edit3.Text; //ñåðâåð
    IdPOP31.Port := StrToInt(Edit4.Text); //ïîðò
    IdPOP31.Connect; //ïîäêëþ÷Г*åìñÿ ГЄ ïî÷òîâîìó ñåðâåðó
    if IdPOP31.Connected then //åñëè ïîäêëþ÷åГ*ГЁГҐ ïðîøëî ГіГ±ГЇГҐГёГ*Г®
    begin
      msgs := IdPOP31.CheckMessages; //Г§Г*ГЇГЁГёГҐГ¬ êîëè÷åñòâî ГЇГЁГ±ГҐГ¬
      Memo1.Lines.Add('Ïîäêëþ÷åГ*ГЁГҐ ГЄ ' + Edit1.Text + ' ГіГ±ГЇГҐГёГ*Г®');
      Memo1.Lines.Add('Г“ ГўГ*Г± ' + IntToStr(msgs) + ' ñîîáùåГ*ГЁГ©');
    end;
  except //åñëè ïðîèçîøëГ* îøèáêГ* ГІГ® âûâåäåì ГҐГҐ Гў Memo1
    on E: Exception do
      Memo1.Lines.Add('ГЋГёГЁГЎГЄГ* ïîäêëþ÷åГ*ГЁГї ГЄ ïî÷òîâîìó ñåðâåðó! '
        + E.Message);
  end;
  IdPOP31.Disconnect; //îòêëþ÷Г*åìñÿ
end;
Ну это уже хоть что-то!
Так как же прочитать последнее письмо так и непонял...
0
mss
2632 / 2257 / 275
Регистрация: 24.12.2010
Сообщений: 13,725
30.05.2013, 19:51 8
IdPOP31.Retrieve(msgs,IdMessage1);
0
30.05.2013, 19:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2013, 19:51

Запись на прием, реализация
Ребят подкиньте мыслю, как реализовать запись на прием к врачу? Врачи работают...

Отправка POST-запроса и его прием
var http: TIdHTTP; strIP2: TStringList; strIP: string; begin ...

Прием почты с помощью IdPOP31 (Indy)
Здравствуйте. Подскажите как можно реализовать прием почты с помощью...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru