Главная страница
    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.45 MB
Время: 0.01 c
1-38843
denis24
2004-02-02 17:28
2004.02.13
замена куска строки в memo


1-38910
Dik
2004-02-04 14:45
2004.02.13
Текстовый редактор


4-39127
MScorp
2003-12-10 15:42
2004.02.13
Перехватка сообщения WinPopup


1-38932
MakNik
2004-02-04 10:09
2004.02.13
Отображение формы в форме


7-39116
Mr.Nobody
2003-11-26 14:38
2004.02.13
Как работать с FM-тюнером





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский