Форум: "Сети";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];
ВнизРабота с почтой Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c