Понедельник, 10.12.2018, 14:31
Главная Регистрация RSS
Приветствую Вас, Гость
Меню сайта
Категории раздела
Delphi [12]
С++ [0]
С# [1]
PHP [7]
Мини-чат
Наш опрос
Оцените мой сайт
Всего ответов: 23
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » 2011 » Декабрь » 26 » Создание Mail.ru агента на Delphi
14:10
Создание Mail.ru агента на Delphi


В последнее время вижу многие хотя написать свой Mail агент на Delphi 7. Но не у всех это получается, потому что они что-то не понимают.

Итак, приступим. Для начала нам нужно скомпилировать сам компонент MailClient. Качаем архив: mail-client-src.zip (27 Кб) (компонент работает только в Delphi 7).

Затем в Delphi в меню Component / Install Component указываем путь к файлу client.pas, жмем ОК.

Компонент установится автоматически в закладку Sample под названием MailClient. Кидаем его на форму.

Также кидаем TCPClient – он нам будет нужен чтобы узнавать адрес на который в последующем будет коннектиться клиент!

Можно кинуть на форму пару Edit и Button, но мы будет делать все напрямую.

Настраиваем пару свойств для TCPClient:
– в RemoteHost пишем mrim.mail.ru;
– в RemotePort пишем 443 или 2042.

Настраиваем свойства для MailClient:
– в Mail пишем вам мыло в формате Маил@домен .ru например delphi7.borland@mail.ru;
– в PassWord пишем ваш пароль **********;
– в MRIMHost пишем mrim.mail.ru;
– в MRIMPort пишем 443 или 2042.

Далее создаем процедуру Form1.Create и узнаём IP адрес на который должен обратиться наш компонент.

Code

procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
MrimS: string;
begin
TCPClient.Active:=True;
if TCPClient.Connected then
MrimS:=TCPClient.Receiveln(#$A); {Получили адрес и порт}
TCPClient.Disconnect;
if MrimS <> '' then
for i:=1 to Length(MrimS) do
if MrimS[i] = ':' then
begin
MailClient.Host:=Copy(MrimS, 0, i-1);
MailClient.Port:=StrToInt(Copy(MrimS, i+1, Length(MrimS)-i));
form1.StatusBar1.Panels[0].Text:='Host '+ Mailclient.host+' Port '+IntToStr(MailClient.Port);
break;
end;

if MailClient.HostInit then begin
MailClient.Connect; {Соеденяемься}
end
else
MailClient.RequestHost;
end;


Далее мы устанавливаем соединение:
Code

  procedure TForm1.MailClientConnect(Sender: TObject);
  begin
  MailClient.Hello;
  end;


И авторизуемся если соединение прошло успешно:
Code

  procedure TForm1.MailClientHello(Sender: TObject);
  begin
  MailClient.Authorize;
  end;


И если соединении пропало, то мы подключаемся автоматически:
Code

  procedure TForm1.MailClientRequestHost(Sender: TObject);
  begin
  mailclient.Status:=OnLine;
  MailClient.Connect;
  end;

И не забудьте обязательно прописать эту строчку:
  mailclient.Status:=OnLine;

иначе вы не сможете работать с компонентом.

Вот и все, если сделали все правильно то должно произойти подключение ))

Все остальные функции я не буду расписывать, некоторые вы можете посмотреть в моей программе, она конечно не безупречна, но работает более-менее стабильно.

Категория: Delphi | Просмотров: 1229 | Добавил: vavilov8 | Теги: Delphi, агент, mail.ru | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: