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

Вниз

Работа с почтой   Найти похожие ветки 

 
Dark Elf   (2003-09-10 12:15) [0]

Уважаемые господа!

Как из программы на Delphi 7 билдере можно было забирать почту с почтового ящика, сохранять её в папку и затем удалять её на почтовом ящике?

Заранее благодарен за ответ


 
Maxim Volobuev   (2003-09-10 15:18) [1]

if ServerType="POP3" then begin
if IdPOP31.Connected then IdPOP31.Disconnect;
IdPOP31.Host:=MailHost;
IdPOP31.Username:=MailUserName;
IdPOP31.Password:=MailPassword;
IdPOP31.Connect;
MsgCount:=IdPOP31.CheckMessages;
end else begin
IdIMAP41.Host:=MailHost;
IdIMAP41.Username:=MailUserName;
IdIMAP41.Password:=MailPassword;
IdIMAP41.Connect;
IdIMAP41.SelectMailBox("INBOX");
MsgCount:=IdIMAP41.MailBox.TotalMsgs;
end;
for i:=1 to MsgCount do begin
IdMessage1.Clear;
if ServerType="POP3" then IdPOP31.Retrieve(i,IdMessage1)
else IdIMAP41.Retrieve(i,IdMessage1);
IdMessage1.Body.SaveToFile(FileName);
if not LeaveMessage then
if ServerType="POP3" then IdPOP31.Delete(i) else begin
IdIMAP41.DeleteMsgs(i);
IdIMAP41.ExpungeMailBox;
end;
end;
if ServerType="POP3" then IdPOP31.Disconnect else
IdIMAP41.Disconnect

Пойдет?


 
Dark Elf   (2003-09-10 17:15) [2]

Спсибо!


 
Vladimir Bolotin   (2003-10-27 21:44) [3]

А компонет TIdIMAP появился только в Дельфи 7?
Можно ли достать его отдельно ( конкретно меня интересует для Дельфи 6 ) ?


 
Kinder   (2003-10-27 22:30) [4]

есть IndyProject называется библиотека.


 
All   (2003-10-29 08:24) [5]

см. Examples\FastNet\Pop3 в дире где лежит Delphi

Удачи.


 
alt7   (2003-12-11 12:42) [6]

Отличный примерчик, а вот расширить бы его немного.
Работаю по TIdIMAP4 с почтовым ящиком. Задача состоит в том, чтоб определить по сообщению в ящике адрес отправителя, и если он есть в списке и у письма есть аттачмент(-ы), то сохранить аттачмент(-ы) в опред. папку. (аттачи бывают *.zip или *.dbf)

IdIMAP4.Connect();
IdIMAP4.SelectMailBox("INBOX");
MsgCount:=IdIMAP4.MailBox.TotalMsgs;
for i := 1 to MsgCount do
begin
IdIMAP4.Retrieve(i,IdMsg);
for j := 0 to Length(Receive_REC.E_Mail_From)-1 do
if (IdMsg.From.Address = Receive_REC.E_Mail_From[j]) and
(IdMsg.MessageParts.AttachmentCount > 0) then
begin
ShowMessage(IntToStr(IdMsg.MessageParts.AttachmentCount));
end;

E_Mail_From - массив строк с адресами, в которых ищутся аттачи.
ShowMessage никогда не появляется на экране, потому что IdMsg.MessageParts.AttachmentCount всегда равен 0, и на письмах в которых есть аттачи тоже. Почему? и как правильно сделать?



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

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

Наверх




Память: 0.48 MB
Время: 0.03 c
1-38849
Janbolat
2004-02-02 14:22
2004.02.13
Export to html


9-38664
S_c_o_R_p
2003-08-03 17:24
2004.02.13
GlScene


3-38698
wolf01
2004-01-22 16:40
2004.02.13
Cоединение DCOM


4-39129
Pontic
2003-12-10 12:20
2004.02.13
Имя пользователя Windows


1-38921
snake1977
2004-02-04 13:28
2004.02.13
посоветуйте