Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

7 семестр / Готовые отчеты / ММиВА. Лабораторная работа 4

.pdf
Скачиваний:
22
Добавлен:
23.12.2021
Размер:
3.5 Mб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,

СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего образования «Санкт-Петербургский государственный университет телекоммуникаций им. проф. М. А. Бонч-Бруевича»

(СПбГУТ)

Факультет инфокоммуникационных сетей и систем Кафедра программной инженерии и вычислительной техники

ЛАБОРАТОРНАЯ РАБОТА №4

по дисциплине «Математические методы и вычислительные алгоритмы современных систем связи»

студент гр. ИКПИ-84

_______________

Коваленко Л. А.

преподаватель каф. ПИиВТ

_______________

к.п.н., доцент Коробов С. А.

Санкт-Петербург

2021

ЦЕЛЬ РАБОТЫ

Ознакомиться с технологией работы SMTP клиента и реализовать его с базовым набором команд.

ПОСТАНОВКА ЗАДАЧИ

Необходимо разработать приложение, позволяющее отправлять электронные письма с вложенными файлами, используя протокол SMTP.

ХОД РАБОТЫ

Организация исходных файлов:

Папка «smtp_lib».

o Файл SMTP-библиотеки «smtp_lib/smtp_lib.h». o Файл SMTP-библиотеки «smtp_lib/smtp_lib.c».

oСборочный файл SMTP-библиотеки «smtp_lib/WinMakefile» /

«smtp_lib/LinuxMakefile».

Файл SMTP-клиента «smtp_client.c» исполняемый файл.

Общий сборочный файл «WinMakefile» / «LinuxMakefile».

Содержимое всех файлов приведено в приложениях.

Используется библиотека OpenSSL v3.0.01.

Предварительные настройки

Для того, чтобы отправлять письма с Gmail почты через внешнее приложение, необходимо включить соответствующую настройку2 (рис. 1).

Рисунок 1. Gmail почта. Настройка доступа

1URL (для Windows): https://slproweb.com/products/Win32OpenSSL.html

2URL: https://myaccount.google.com/lesssecureapps

2

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

Рисунок 2. Yandex почта. Настройки доступа

Для того, чтобы отправлять письма с Mail-ru почты через внешнее приложение, необходимо сгенерировать пароль для внешнего приложения,

который затем использовать при аутентификации (рис. 3-8).

Рисунок 3. Попытка войти через внешнее приложение не удалась

3

Рисунок 4. В письме Mail-ru есть инструкция

Рисунок 5. Следуем инструкции, добавляем пароль для внешнего приложения

Рисунок 6. Любое название для пароля

4

Рисунок 7. Ввод пароля от аккаунта и капча

Рисунок 8. Пароль создан

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

5

Работа приложения

Используемые настройки в приложении приведены в таблице 1.

Таблица 1. Настройки в приложении Настройки в приложении

Yandex почта

Server: smtp.yandex.ru | Port: 465

Name: Robert Wayne ALX | Email: robert.wayne.alx@yandex.ru | Password: Robw12345 Connection security: TLS | Authentication method: PLAIN

Flag: DEBUG and NO_CERT_VERIFY

Mail-ru почта

Server: smtp.mail.ru | Port: 465

Name: Robert Wayne ALX | Email: robert.wayne.alx@mail.ru | Password: 7HRd5FRdXdGARUw0tgeN Connection security: TLS | Authentication method: PLAIN

Flag: DEBUG and NO_CERT_VERIFY

Gmail почта

Server: smtp.gmail.com | Port: 465

Name: Robert Wayne ALX | Email: robert.wayne.alx@gmail.com | Password: Robw12345 Connection security: TLS | Authentication method: PLAIN

Flag: DEBUG and NO_CERT_VERIFY

Работа с Yandex почтой

Процесс работы с Yandex почтой приведен на рис. 9-14.

Рисунок 9. Запуск приложения из терминала, ввод пользователем команды start, приложение-клиент посылает серверу сообщение «EHLO smtp» (расширенное приветствие), сервер отправляет клиенту поддерживаемые настройки, приложение-клиент в ответ отправляет данные для аутентификации, сервер оповещает клиента о том, что аутентификация прошла успешно

6

Рисунок 10. Клиент вводит email-адрес получателя (например, свой), пропускает ввод следующего адреса и BCC адресов, вводит тему письма, вводит названия файлов для прикрепления к письму, вводит тело письма, после ввода 3-х пустых строк, письмо отправляется

Рисунок 11. Письмо в Yandex почте

7

Рисунок 12. Файл «gmail.png» в письме Yandex почты

Рисунок 13. Файл «gmail.txt» в письме Yandex почты (не умеет читать txt файлы)

8

Рисунок 14. Конец передачи данных, приложение спрашивает, нужно ли отправить ещё одно письмо (y значит «да», n значит «нет»)

В приложении выводятся все сообщения клиента и сервера, это можно

отключить убрав флаг DEBUG (рис. 15).

Рисунок 15. Пользователь вводит change flag, отключает флаг DEBUG

9

Работа с Mail-ru почтой

Настройки меняются при помощи команды change <настройка> (рис. 16).

Рисунок 16. Изменение адреса сервера с smtp.yandex.ru на smtp.mail.ru, а

также изменение пароля с Robw12345 на 7HRd5FRdXdGARUw0tgeN

(аналогично изменен email)

Процесс работы с Mail-ru почтой приведен на рис. 17-22.

Рисунок 17. Приветствие и аутентификация (Mail-ru)

10