Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.04.2009, 14:05
Аватар для AleD
AleD AleD вне форума
Активный
 
Регистрация: 21.02.2009
Адрес: г.Краснокаменск
Сообщения: 383
Репутация: 91
По умолчанию Как получить почту (РОР3)

Решил сделать свою программку для проверки и вывода почты, но с сетью мало работал поэтому опыта вообще нету. У меня собственно 2 вопроса:
1) как получить число писем, затем каждое прочитать (от кого, кому, приложения и текст письма)
2) как получить буфер (или блок, не знаю как называется) файла (например 2 байта из позиции 10 байт) файла которые находится в интернете (http://.../file.dat)
кто понял что из моего сказанного помогите пли3зz
__________________
TAleD = class(TUser)
public
function HelpMe(ASubject, ARequest: String): String;
function GiveMeExample(ASubject: String): TStringList;
procedure WriteReview(APost: Integer; ADescription: TStringList);
end;
Ответить с цитированием
  #2  
Старый 01.04.2009, 14:26
Аватар для AleD
AleD AleD вне форума
Активный
 
Регистрация: 21.02.2009
Адрес: г.Краснокаменск
Сообщения: 383
Репутация: 91
По умолчанию

хм, вроде бы разорался как подключатся и получить список писем, но всё таки скажите как прочитать письма! (юзаю Indy)
__________________
TAleD = class(TUser)
public
function HelpMe(ASubject, ARequest: String): String;
function GiveMeExample(ASubject: String): TStringList;
procedure WriteReview(APost: Integer; ADescription: TStringList);
end;
Ответить с цитированием
  #3  
Старый 01.04.2009, 15:10
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,020
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Через TIdPOP3.
Метод Retrive вытаскивает все письмо целиком, метод RetriveHeader - только заголовок (служебную часть, где указаны отправитель, получатель, тема, дата и т.д.)
Ответить с цитированием
  #4  
Старый 01.04.2009, 15:25
Rat Rat вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 391
Репутация: 6078
По умолчанию

А по мне так лучше сокетами пользоваться и непосредственно общаться с серваком. Ибо многие используемые поля с помощью инди не вставишь. Опять же с кирилицей в различных кодировках у инди косяки.
Ответить с цитированием
  #5  
Старый 01.04.2009, 15:28
Аватар для AleD
AleD AleD вне форума
Активный
 
Регистрация: 21.02.2009
Адрес: г.Краснокаменск
Сообщения: 383
Репутация: 91
По умолчанию

спасибо за внимание, но я сам разобрался :-D
__________________
TAleD = class(TUser)
public
function HelpMe(ASubject, ARequest: String): String;
function GiveMeExample(ASubject: String): TStringList;
procedure WriteReview(APost: Integer; ADescription: TStringList);
end;
Ответить с цитированием
  #6  
Старый 07.04.2009, 12:01
Аватар для AleD
AleD AleD вне форума
Активный
 
Регистрация: 21.02.2009
Адрес: г.Краснокаменск
Сообщения: 383
Репутация: 91
По умолчанию

Простите канеш , но почему то когда я "вытаскиваю" письма из почтовика свойство Mail.Body (TStringList) (знаю и пользуюсь Retrieve) совершенно пустое, хотя я точно уверен что письмо с текстом
и кстати, я так понял вытаскивать письма нужно начиная с 1 или с 0?
__________________
TAleD = class(TUser)
public
function HelpMe(ASubject, ARequest: String): String;
function GiveMeExample(ASubject: String): TStringList;
procedure WriteReview(APost: Integer; ADescription: TStringList);
end;
Ответить с цитированием
  #7  
Старый 07.04.2009, 12:34
Аватар для ViktorXP
ViktorXP ViktorXP вне форума
Прохожий
 
Регистрация: 05.04.2009
Сообщения: 3
Репутация: 10
По умолчанию

В делфи все с нуля окромя строки.
Цитата:
Простите канеш , но почему то когда я "вытаскиваю" письма из почтовика свойство Mail.Body (TStringList) (знаю и пользуюсь Retrieve) совершенно пустое, хотя я точно уверен что письмо с текстом
Если писмо идет как HTML то тело будет лежать во вложении. (как прикрепленный файл). тип контента у него будет 'text/html'

Цитата:
А по мне так лучше сокетами пользоваться и непосредственно общаться с серваком. Ибо многие используемые поля с помощью инди не вставишь. Опять же с кирилицей в различных кодировках у инди косяки.
Ни разу небыло ни каких проблем. все великолепно перекодирует. (если канешно сервер на стандартах работает).
Но это все в десятой версии, ибо знаю не по наслышки что в восмой глюки сумашедшие (другие не юзал).
Ответить с цитированием
  #8  
Старый 07.04.2009, 12:43
Аватар для ViktorXP
ViktorXP ViktorXP вне форума
Прохожий
 
Регистрация: 05.04.2009
Сообщения: 3
Репутация: 10
По умолчанию

гдето так
Код:
var
  I: Integer;
begin
  for I := 0 to IdMessage1.MessageParts.Count - 1 do
  begin
    if IdMessage1.MessageParts[i].ContentType = 'text/html' then
    begin
      ShowMessage(TIdText(IdMessage1.MessageParts[i]).Body.Text);
    end;
  end;
Ответить с цитированием
  #9  
Старый 07.04.2009, 13:00
Аватар для AleD
AleD AleD вне форума
Активный
 
Регистрация: 21.02.2009
Адрес: г.Краснокаменск
Сообщения: 383
Репутация: 91
По умолчанию

ViktorXP - спасибо, про TIdText впервые узнал
как сделаю почтовик на этот сайт выложу, думаю кому нибудь то должен понравится
__________________
TAleD = class(TUser)
public
function HelpMe(ASubject, ARequest: String): String;
function GiveMeExample(ASubject: String): TStringList;
procedure WriteReview(APost: Integer; ADescription: TStringList);
end;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:52.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter