Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2009, 21:34   #1
Live
 
Регистрация: 03.12.2009
Сообщений: 5
Печаль Почтовый клиент на Delphi7

Курсач не за горами
надо написать почтовый клиент
Полазив по гуглу отрыл исходиник, открыв в делфи, внося изменения, не хочет компилиться...
Помогите...
вот код:
Код:
 
unit Unit1;
 
interface
 
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
 IdTCPClient, IdMessageClient, IdPOP3, IdMessage, IdSMTP;
 
type
 TForm1 = class(TForm)
   Memo1: TMemo;
   Button1: TButton;
    POP3: TIdPOP3;
    IdMessage: TIdMessage;
    Button2: TButton;
    Button3: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Button4: TButton;
    SMTP: TIdSMTP;
   procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;
 
var
 Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
 
procedure TForm1.Button1Click(Sender: TObject);
 begin
 POP3.Host:='mail.58r.ru'; 
 POP3.Port:=110;            
 POP3.Username:='test+58r.ru';  
 POP3.Password:='12345666';    
 IdMessage.Clear; 
 POP3.Connect;  
 Memo1.Clear;    
 POP3.Retrieve(1,IdMessage);   
 Memo1.Lines.AddStrings(IdMessage.Body);  
 POP3.Delete(1); 
 POP3.Disconnect;    
end;
 
procedure TForm1.Button2Click(Sender: TObject);
label f;
var
mailcicl:integer;  
addr:string;   
begin
 POP3.Host:='mail.58r.ru';  
 POP3.Port:=110;            
 POP3.Username:='test+58r.ru'; 
 POP3.Password:='12345666';    
 addr:=ExtractFilePath(Application.ExeName);   
 POP3.Connect;  
 for mailcicl:=1 to 10 do  
 begin
 if POP3.CheckMessages<1 then goto f ; 
 IdMessage.Clear;    
 Memo1.Clear;    
 POP3.Retrieve(1,IdMessage);   
 Memo1.Lines.AddStrings(IdMessage.Body);  
 Memo1.Lines.SaveToFile(addr+inttostr(mailcicl)+'.txt');    
 POP3.Delete(mailcicl);  
 end;
f:       
POP3.Disconnect;   
end;
 
procedure TForm1.Button3Click(Sender: TObject);
var
 i,numPosts: Integer;
 begin
  POP3.Host:='mail.58r.ru'; 
 POP3.Port:=110;            
 POP3.Username:='test+58r.ru';  
 POP3.Password:='12345666';    
 IdMessage.Clear;  
 POP3.Connect;  
 Memo1.Clear;   
 POP3.Retrieve(1,IdMessage);   
 Memo1.Lines.AddStrings(IdMessage.Body);  
 
 
 Label1.Caption := IdMessage.From.Text;
 Label2.Caption := IdMessage.Recipients.EmailAddresses;
 Label3.Caption := IdMessage.CCList.EMailAddresses;
 Label4.Caption := IdMessage.Subject;
 Label5.Caption := FormatDateTime('dd mmm yyyy hh:mm:ss', IdMessage.Date);
 Label6.Caption := IdMessage.ReceiptRecipient.Text;
 Label7.Caption := IdMessage.Organization;
 
 POP3.Delete(1);  
 POP3.Disconnect;    
end;
 
procedure TForm1.Button4Click(Sender: TObject);
begin
  SMTP.Host:='mail.58r.ru';  
  SMTP.Port:=25;     
  SMTP.Username:='test+58r.ru';   
  SMTP.Password:='12345666';      
  SMTP.AuthenticationType:=atLogin;
 with IdMessage do
     begin
      Body.Assign(Memo1.Lines);
      From.Text := 'test@58r.ru';
      Recipients.EMailAddresses := 'test@58r.ru';
 
      end;
 
 
   SMTP.Connect;
   try
  showmessage('podklju4ilsja');
  SMTP.Send(IdMessage);
   finally
      SMTP.Disconnect;
   end;
end;
 
end.
И тут выдает что Field Form1.POP3 does not have a corresponding component
Тоже самое с Form1.SMTP, Form1.IdMessage...
FIle not found "idBaseCoomponent.dcu"

Сказали что типо нехватает "Инди" как я понимаю это дополнителая библиоте для делфи?? и де её взять и как связать?
Live вне форума Ответить с цитированием
Старый 06.12.2009, 00:48   #2
Live
 
Регистрация: 03.12.2009
Сообщений: 5
По умолчанию

пот проект...
Вложения
Тип файла: rar почтовик готово.rar (220.0 Кб, 277 просмотров)
Live вне форума Ответить с цитированием
Старый 06.12.2009, 00:52   #3
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,758
По умолчанию

Код:
  SMTP.Host:='mail.58r.ru';  
  SMTP.Port:=25;     
  SMTP.Username:='test+58r.ru';   
  SMTP.Password:='12345666';
выставлял данные своего майл аккаунта, который уже не работает.

http://programmersclub.ru/book-indy/
Alar вне форума Ответить с цитированием
Старый 06.12.2009, 00:57   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Позволю себе дополнить нашего админа:
http://programmersclub.ru/alar-pochovik/
mihali4 вне форума Ответить с цитированием
Старый 06.12.2009, 01:03   #5
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,758
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Позволю себе дополнить нашего админа:
http://programmersclub.ru/alar-pochovik/
ага. код я узнал.
Alar вне форума Ответить с цитированием
Старый 06.12.2009, 08:54   #6
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

2live а компоненты на форму кто кидать будет?
АС Пушкин?
Код:
POP3: TIdPOP3;
 IdMessage: TIdMessage;
 SMTP: TIdSMTP;
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 06.12.2009, 19:19   #7
Live
 
Регистрация: 03.12.2009
Сообщений: 5
По умолчанию

вот поставил Инди, поменял настройки. Компилится и как тоо нажимаю Получить первое письмо, вылетает ерор
Изображения
Тип файла: jpg ba.jpg (143.1 Кб, 211 просмотров)
Live вне форума Ответить с цитированием
Старый 06.12.2009, 19:42   #8
AquaKlaster
Delphi,Python,PHP
Форумчанин
 
Аватар для AquaKlaster
 
Регистрация: 04.04.2009
Сообщений: 138
По умолчанию

Вот попробуйте этот пример:
Киньте на форму 2 компонента: IdPOP3 и IdMessage
Ну и естественно компонент Button и Memo
И вот сама процедура которой можно получить последнее сообщения которое вам пришло на почту!

Код:
procedure GetMessage;
var
  MessageCount: Integer;
begin
  IdPOP31.Host := 'pop.mail.ru';
  IdPOP31.Username := '*********';
  IdPOP31.Password := '*********';
  IdPOP31.Connect;
  if IdPOP31.Connected then
  begin
    MessageCount := IdPOP31.CheckMessages;
    IdPOP31.Retrieve(MessageCount, IdMessage1);
    Memo1.Lines.AddStrings(IdMessage1.Body);
    IdPOP31.Delete(MessageCount);
  end;
end;
Заметьте, лутше не запускать программу в среде Delphi, лутше запустите уже скомпилированный проект, иначе среда выдаст ошибку(у меня выдала) такого вида:
Код:
First chance exception at $7C812AFB. Exception class EEncodingError with message 'Invalid code page'. Process Project1.exe (5404)
AquaKlaster вне форума Ответить с цитированием
Старый 06.12.2009, 21:16   #9
Live
 
Регистрация: 03.12.2009
Сообщений: 5
По умолчанию

что-то у меня не пошло, даже хост не хочет поспринимать..

Прекратите ненужное цитирование!

Последний раз редактировалось mihali4; 06.12.2009 в 21:19.
Live вне форума Ответить с цитированием
Старый 01.04.2010, 22:39   #10
Барбарис
 
Регистрация: 12.01.2010
Сообщений: 7
По умолчанию

Попробуйте этот пример
Барбарис вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
почтовый клиент vicvtor Работа с сетью в Delphi 8 03.07.2011 20:13
Почтовый клиент Mercurium Помощь студентам 3 22.09.2009 16:28
Клиент на Delphi7 , Сервер на PHP Lime PHP 13 30.06.2009 14:53
Возможно-ли Клиент-серверное приложение типа Клиент(Pascal) а сервер(CGI)? Demol Работа с сетью в Delphi 1 21.04.2009 16:18
yahoo.com через почтовый клиент. oleg_a Софт 0 22.12.2008 00:50