Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 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.46 MB
Время: 0.035 c
3-38729
Vladimir Bolotin
2004-01-21 21:15
2004.02.13
Как скрыть от пользователя обращение к данным?


3-38720
First_May
2004-01-22 09:09
2004.02.13
Владелец базы IB


3-38712
Volodya_
2004-01-22 13:02
2004.02.13
QReport


14-38998
Tornado
2004-01-22 15:13
2004.02.13
ms office 97 + ms offise 2000 в одном флаконе


1-38856
IgorRu
2004-02-02 10:44
2004.02.13
Загрузка форм из DLL.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский