Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
Проблема с NMPOP31 в Дельфи 6. Не удается принять почту. |
Философия, технологии, алгоритмы! |
|
Опции темы |
30.01.2007, 23:38 | #1 |
Iron Mask
Сообщений: 6,043
Регистрация: 13.10.2006
Не в сети |
Проблема с NMPOP31 в Дельфи 6. Не удается принять почту.
Привет. Ну если с отправкой почты и кодировкой письма)) более - менее разобрался, теперь есть небольшая проблемка с получением почты. Для приема почты мспользуется NMPOP31, свойства которого установлены в соотв. с тем как указано в букваре)) по Дельфи. По порядку все: прогу пишу пока для пробы, состоит она из 3х кнопок и поля Memo. При коннекте ошибки не возникает, а возникает почему то при дисконнекте. И еще главное: принятое сообщение хранится в MailMessage, как правильно с ним работать и с его свойствами? Для наглядности прикрепляю картинки с кодом. Подскажите плиз.
|
30.01.2007, 23:40 | #2 |
Iron Mask
Сообщений: 6,043
Регистрация: 13.10.2006
Не в сети |
Button1Click - устанавливает связь,
Button2Click - разрывает связь, при этом возникает ошибка, Button3Click - как получить текст из письма, со всеми остальными делами(например с вложениями, с заголовком письма и т.д.). Спасибо. |
31.01.2007, 20:52 | #6 |
старый хрыч
Сообщений: 6,705
Регистрация: 17.12.2006
Возраст: 37
Не в сети |
Я делал так:
Это подключение к серверу procedure TForm1.Button1Click(Sender: TObject); var i : Integer; begin IdPOP31.Host := LEServ.Text; IdPOP31.Username := LEName.Text; IdPOP31.Password := LEPass.Text; IdPOP31.Connect; if IdPOP31.Connected then Memo1.Lines.Add('Соединение с сервером установлено') else begin Memo1.Lines.Add('Ошибка при соединении!'); Exit; end; Memo1.Lines.Add('Новых сообщений на сервере: ' + IntToStr(IdPOP31.CheckMessages)); for i := 1 to IdPOP31.CheckMessages do begin IdPOP31.RetrieveHeader(i, IdMessage1); ListBox2.Items.Add(IdMessage1.Recipients.EMailAddr esses + ' -- ' + IdMessage1.Subject); end; end; А это получение сообщения procedure TForm1.ListBox2DblClick(Sender: TObject); var i : Integer; s : String; begin IdPOP31.Retrieve(ListBox2.ItemIndex + 1, IdMessage1); Memo2.Clear; Memo2.Lines.AddStrings(IdMessage1.Body); end; |