Вернуться   D3Scene.Ru Софт портал игр | Хаки | Проги | Статьи > Другое > Информационные технологии > Программирование > Delphi
Присоединяйся к нам



Ответ
 
Опции темы Опции просмотра
Старый 28.05.2011, 22:16   #1
Бан
 
Аватар для sin3v
 
Регистрация: 30.04.2011
Сообщений: 144
Репутация: 9
Автор По умолчанию

Mail.Ru Агент на Delphi


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


Сейчас я вам расскажу и покажу как написать свой Mail агент с помощью Delphi 7. В конце можно скачать и компонент и исходник программы. За основу возьмем информацию пользователя AquaKlaster отсюда
[Ссылки скрыты от гостей.]
.

Итак, приступим.

Для начала нам нужно скомпилировать сам компонент MailClient.

Качаем архив: [Ссылки скрыты от гостей.] (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 например [Ссылки скрыты от гостей.];
– в PassWord пишем ваш пароль **********;
– в MRIMHost пишем mrim.mail.ru;
– в MRIMPort пишем 443 или 2042.

Далее создаем процедуру Form1.Create и узнаём IP адрес на который должен обратиться наш компонент.
PHP код:
procedure TForm1.FormCreate(SenderTObject);
var
iInteger;
MrimSstring;
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(MrimS0i-1);
MailClient.Port:=StrToInt(Copy(MrimSi+1Length(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
Далее мы устанавливаем соединение:

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

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

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

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

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

И не забудьте обязательно прописать эту строчку:

mailclient.Status:=OnLine;

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

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

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

Исходник программы: [Ссылки скрыты от гостей.] (482 Кб).
З.Ы:У меня получилось!
Прикольно. *face2*
  Ответить с цитированием Наверх
Старый 28.05.2011, 22:22   #2
Старожил


 
Аватар для gg.Groove
 
Регистрация: 21.08.2010
Адрес: Almaty
Сообщений: 1,054
Репутация: 212
По умолчанию

sin3v, Пиши Agent Lite в пару мегабайт. Помогу раскрутить.
__________________

[Ссылки скрыты от гостей.]
  Ответить с цитированием Наверх
Старый 28.05.2011, 22:39   #3
Бан
 
Аватар для sin3v
 
Регистрация: 30.04.2011
Сообщений: 144
Репутация: 9
Автор По умолчанию

gg.Groove,не могу понять, сообщение отправляется, но не принимает сообш от собеседника
  Ответить с цитированием Наверх
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Powered by vBulletin
Copyright © 2017 vBulletin Solutions, Inc.
Перевод: zCarot | Дизайн: G-A | Верстка: OldEr
Текущее время: 19:33. Часовой пояс GMT +4.