Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Тема: Почтовый клиент

Читайте также:
  1. Агрессивный тип клиента
  2. Айсберг возможных потерь клиентов
  3. Аргументация и убеждение клиента
  4. Бельская Е.Г. [1998, с.70 - 73] выделила и описала особый тип клиентов, которых она назвала «трудными клиентами».
  5. В остальных случаях, Представитель не участвует в поиске новых клиентов, но может отправлять ссылку на свой магазин клиентам, который будет доступен для заказа.
  6. Вклад терапевта в переживание клиента
  7. Влияние особенностей телосложения клиента на процесс консультирования

Практическая работа № X

Дисциплина: «Компьютерные сети»

Тема: Почтовый клиент

Специальность: «Программное обеспечение вычислительной техники и автоматизированных систем» (230105)

 

Разработал ___________________ / ___________________ /

Рассмотрено на

заседании ЦМК «Общепрофессиональных дисциплин (программное обеспечение)»

«___» ______________ 20__ года. Протокол № ____

ПЦМК ОПД(ПО) ___________________ / ___________________ /

 

Цель работы: разработать простейший почтовый клиент используя протоколы POP3 и SMTP.

Количество часов на выполнение работы: на данную работу предполагается 2 академических часа.

Программное обеспечение: Borland Delphi 7.0

Оборудование: персональный компьютер, доступ в интернет.

Краткие теоретические сведения

Почтовый сервер - сервер, обеспечивающий прием и передачу электронных писем пользователей, а также их маршрутизацию.

Почтовый клиент - программа, предназначенная для чтения, приема, отправки и других операций с письмами. С помощью этой программы пользователь имеет возможность работать с почтовыми серверами.

POP3 и SMTP - это почтовые протоколы для отправки и приема сообщений по электронной почте. POP3 - сервер входящей почты (через него пользователь получает сообщения на свой e-mail адрес), SMTP - сервер исходящей почты (через него пользователь отправляет свои сообщения другим абонентам сети).

Протокл POP3 работает следующим образом: первоначально, на нем создается отдельная папка на определенного пользователя, при обращению к которой она запрашивает логин и пароль этого пользователя (установленные им самим). Логин является названием этой папки и первым словом адреса электронной почты. Пароль также выбирается пользователем. При правильном введении логина и пароля пользователь получает доступ к своей папке и сервер автоматически включает передачу всего ее содержимого пользователю. Таков алгоритм работы сервера POP3.

Протокол SMTP работает немного по другому: пользователь соединяется с сервером (теперь сервер уже не запрашивает логин и пароль), происходит автоматическое отправление почты с компьютера пользователя на сервер SMTP, он в свою очередь проверяет адрес того, кому посылается сообщение и, если такой адрес существует, то сообщение благополучно отправляется. В случае неправильного введения или отсутствия адреса получателя, сервер SMTP отправляет специальное, генерируемое им сообщение, отправителю, сообщающее об определенной ошибке.

Порядок выполнения:

1. Зарегистрируйте почтовый ящик на сайте: www.mail.ru

2. В папке входящие должны находиться сообщения.

3. Запустите Borland Delphi 7.0

4. Создайте новый проект. File → New →Application.

5. На форму разместите следующие компоненты:

5.1. Не визуальные:

- IdPOP3 (палитра Indy Clients)

- IdMessage (палитра Indy Misc)

- IdSmtp, (палитра Indy Clients)

5.2. Визуальные:

- Edit (палитра Standart (10*))

- PageControl (палитра Win32 (2 вкладки))

- Button (палитра Standart (2*))

- CheckBox (палитра Standart)

- Label (палитра Standart)

- RadioGroup (палитра Standart)

* - числа указанные в скобках обозначают количество

6. Интерфейс программы примерно должен выглядеть:

 

7. Имена компонентов обозначены на форме.

7.1. Первая вкладка

7.2. Вторая вкладка

8. Т. к. мы работаем в mail.ru входящий файловый сервер будет «pop.mail.ru» (порт 110), а исходящий «smtp.mail.ru» (порт 25 или 2525).

9. Текст программы:

 

unit Unit1;

interface

{

}

Uses

 

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, IdMessage, IdSMTP, IdBaseComponent, IdComponent,

IdTCPConnection, IdTCPClient, IdMessageClient, IdPOP3, ComCtrls, ExtCtrls;

Type

 

TForm1 = class(TForm)

Memo1: TMemo;

IdPOP31: TIdPOP3;

IdSMTP1: TIdSMTP;

IdMessage1: TIdMessage;

Label5: TLabel;

Edit6: TEdit;

Label6: TLabel;

Edit5: TComboBox;

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

Edit11: TEdit;

Edit12: TEdit;

Edit13: TEdit;

Edit14: TEdit;

Button1: TButton;

Button3: TButton;

CheckBox1: TCheckBox;

RadioGroup1: TRadioGroup;

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure RadioGroup1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

host,port,email,pass:string;

i:integer;

implementation

 

{$R *.dfm}

 

procedure TForm1.Button1Click(Sender: TObject);

begin

if RadioGroup1.ItemIndex=0 then // Если выбран пункт 1 «Одно сообщение»

begin

email:=Edit1.Text;

pass:=Edit2.Text;

host:=Edit3.Text;

port:=Edit4.Text;

IdPOP31.Host:=host; // Адрес почтового сервера

IdPOP31.Port:=strtoint(port); // Порт по которому будет осуществляться

подключение

IdPOP31.Username:=email; // Логин пользователя

IdPOP31.Password:=pass; // Пароль пользователя

IdMessage1.Clear; // Очистка буфера для сообщения

IdPOP31.Connect; // Подключение по протоколу POP3, настройки в

компоненте IdPOP3

Memo1.Clear; // Очистка компонента Мemo для отображения

текста письма

IdPOP31.Retrieve(1,IdMessage1);

// Получение одного сообщения

Memo1.Lines.AddStrings(IdMessage1.Body); // Передача сообщения из компонента IdMessage в

Мemo

if CheckBox1.Checked=True then

begin

IdPOP31.Delete(1); // Удаление с сервера, полученного сообщения

end;

IdPOP31.Disconnect; // Разрыв связи

end

else // Иначе, т.е вывод всех сообщений

begin

email:=Edit1.Text;

pass:=Edit2.Text;

host:=Edit3.Text;

port:=Edit4.Text;

IdPOP31.Host:=host; // Адрес почтового сервера

IdPOP31.Port:=strtoint(port); // Порт по которому будет осуществляться

подключение

IdPOP31.Username:=email; // Логин пользователя

IdPOP31.Password:=pass; // Пароль пользователя

IdMessage1.Clear; // Очистка буфера для сообщения

IdPOP31.Connect; // Подключение по протоколу POP3, настройки в

компоненте IdPOP3

Memo1.Clear;

Memo1.Lines.Add('------------------------------------------------------------------------------------------------------------------------------------------------------------------------');

Memo1.Lines.Add('Имя почтового ящика: '+Edit1.Text);

Memo1.Lines.Add('------------------------------------------------------------------------------------------------------------------------------------------------------------------------');

for i:=1 to IdPOP31.CheckMessages do

begin

IdPOP31.Retrieve(i,IdMessage1);

Memo1.Lines.Add(' '+IntToStr(i)+' От: '+IdMessage1.From.Text);

Memo1.Lines.Add(' Адрес: '+IdMessage1.From.Address);

Memo1.Lines.Add(' Имя: '+IdMessage1.From.Name);

Memo1.Lines.Add(' Тема: '+IdMessage1.Subject);

Memo1.Lines.Add(' Сервер: '+IdMessage1.MsgId);

IdPOP31.RetrieveHeader(i,IdMessage1);

Memo1.Lines.Add(' Текст сообщения: '+IdMessage1.Body.Text);

Memo1.Lines.Add(' ');

end;

IdPOP31.Disconnect;

end;

end;

 

procedure TForm1.Button3Click(Sender: TObject);

begin

email:=Edit11.Text;

pass:=Edit12.Text;

host:=Edit13.Text;

port:=Edit14.Text;

IdSMTP1.Host:=host; // Адрес почтового сервера

IdSMTP1.Port:=strtoint(port); // Порт по которому будет осуществляться

подключение

IdSMTP1.Username:=email; // Логин пользователя

IdSMTP1.Password:=pass; // Пароль пользователя

IdSMTP1.AuthenticationType:=atLogin; // Тип подключения к серверу - с авторизацией

with IdMessage1 do

begin

Body.Assign(Memo1.Lines); // Передача данных из Мemo в компонент

IdMessage, для последующей отправки

From.Text:= email; // Майл отправителя письма

Recipients.EMailAddresses:= Edit5.Text; // Майл получателя письма

Subject:= Edit6.Text; // Тема письма

end;

IdSMTP1.Connect; // Соединение с почтовым сервером

try

showmessage('Сообщение доставлено!'); // Сообщение о удачном подключении к серверу

IdSMTP1.Send(IdMessage1); // Отправка письма на сервер

finally

IdSMTP1.Disconnect; // Разрыв соединения

end;

end;

 

procedure TForm1.RadioGroup1Click(Sender: TObject);

begin

if RadioGroup1.ItemIndex=0 then

CheckBox1.Enabled:=True

else

CheckBox1.Enabled:=False;

end;

 

end.

 

 

Контрольные вопросы:

1. Что такое почтовый сервер?

2. Что такое почтовый клиент?

3. Для чего нужны протоколы POP3 и SMTP?

4. Категории протоколов POP?

5. Сколько объектов используется в данной программе?

6. Сколько классов используется в данной программе?

 

 

ОБРАЗЕЦ

Московский приборостроительный техникум
государственное образовательное учреждение высшего профессионального образования
«Российский государственный торгово-экономический университет»

 

 

ПРАТИЧЕСКАЯ РАБОТА № X

По дисциплине: «Компьютерные сети»
Тема: «Почтовые клиенты»

 

 

Специальности 230105
«Программное обеспечение вычислительной техники и автоматизированных систем»

 

Преподаватель

______________ /А.А. Шимбирёв/

 

Выполнил студент группы П-___

И.И. Иванов

 


Дата добавления: 2015-07-08; просмотров: 251 | Нарушение авторских прав


Читайте в этой же книге: В результаті виконання даної роботи студент повинен | Правила огляду. | В результаті виконання даної роботи студент повинен | В результаті виконання даної роботи студент повинен | В результаті виконання даної роботи студент повинен |
<== предыдущая страница | следующая страница ==>
Цель работы: изучение свойств полевого транзистора, исследование его характеристик и параметров в "пентодном" режиме.| МЕТОДИЧНИЙ ПОСІБНИК

mybiblioteka.su - 2015-2024 год. (0.026 сек.)