You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
5.9 KiB
Markdown

# Задания
Система электронной почты состоит из нескольких компонентов:
- Пользовательский агент MUA (Mail User Agent), редактор, который позволяет читать и составлять почтовые сообщения;
- Агент передачи электронной почты MSA (Mail Submission Agent), принимающий сообщения от MUA и передающий после обработки транспортной системе;
- Транспортный агент MTA (Mail Transfer Agent), который пересылает сообщение по сети на другой компьютер;
- Агент доставки DA (Delivery Agent), перемещающий сообщения в локальное хранилище (почтовый ящик или база данных);
- Необязательный агент доступа AA (Access Agent), связывающий пользовательский агент с хранилищем сообщений (по протоколу IMAP или POP).
Примеры агентов:
- Пользовательские агенты MUA: Thunderbird, MS Outlook, mac OS Mail, /bin/mail;
- Транспортные агенты MTA: sendmail, Exim, MS Exchange, Postfix;
- Агенты доставки DA: local, mail.local, procmail, Maildrop, Dovecot;
- Агенты доступа AA: Cyrus, UW imapd.
Транспортный агент может использовать несколько портов (RFC 5321):
- 25/tcp - стандартный порт, без шифрования,
- 587/tcp - порт, который используется для передачи с шифрованием STARTLS,
- 465/tcp - порт, который используется для передачи с шифрованием SSL.
Агент доставки может использовать следующие порты:
- 143/tcp - для протокола IMAP,
- 993/tcp - для протокола IMAPS (IMAP поверх SSL),
- 110/TCP - для протокола POP,
- 995/TCP - для протокола POPS (POP over SSL).
Для хранения почты обычно используется формат `mbox` или `Maildir`. В случае с `mbox` почта хранится в одном файле в `/var/mail/username` с разделителем в виде специальной строки `From` между сообщениями. В случае с `Maildir` каждое сообщение хранится в отдельном файле.
Преимущество протокола IMAP перед POP, которые используются агентами доступа для получения почты от сервера, заключается в возможности доставки сообщений по одному и улучшенной обработке больших файлов, прикреплённых к письму.
В заданиях используйте домен studX.start.myoffice.ru (193.32.63.170+X), порты 25, 587, 993.
```
________
| |
| клиент | (Thunderbird на ноутбуке,
|________| подключается по IMAPS протоколу на порт 993)
|
роутер public IP 193.32.63.185:[25,587,993] -> private IP 10.160.179.25:[25,587,993]
|
| ens18 в vlan499 с доступом в интернет с IP 10.160.179.25/24
_______|_______
| |
| mail server |
|_______________|
```
# 1.
Установите и настройте MTA (Message Transfer Agent) агент Postfix. Страница документации основного конфигурационного файла `man postconf.5`. Онлайн документация доступна по ссылке http://postfix.cs.utah.edu/postfix-manuals.html.
Проверьте работоспособность, отправив письмо командой `mail` или `sendmail` на свой личный почтовый адрес. После составления письма завершите ввод символом конца файла Ctrl+D или вводом точки.
```
$ mail -s "This is a test mail from postfix stud15" <recepient email address>
$ sendmail stud15.start.myoffice.ru
To: <recepient email address>
From: stud15.start.myoffice.ru
Subject: This is a test mail from postfix stud15
Hello, will this mail be delivered?
Best regards,
Postfix MTA
```
# 2.
Заведите почтовые ящики noreply@studX.start.myoffice.ru и logs@studX.start.myoffice.ru. Протестируйте отправку почты с ящика noreply. Протестируйте приём программно-сгенерированной почты на ящик logs, например от демона cron.
# 3.
Установите и настройте DA (Delivery Agent) агент Dovecot.
Проверьте работоспособность из клиента Thunderbird или аналога. Укажите в качестве IMAP сервера studX.start.myoffice.ru порт 993, шифрование TLS.
# Релевантные источники
- https://en.wikipedia.org/wiki/Email
- https://en.wikipedia.org/wiki/Message_transfer_agent
- https://en.wikipedia.org/wiki/Message_delivery_agent
- https://ru.wikipedia.org/wiki/SMTP
- https://ru.wikipedia.org/wiki/IMAP
- https://ru.wikipedia.org/wiki/POP3
- https://ru.wikipedia.org/wiki/Postfix
- https://ru.wikipedia.org/wiki/Dovecot
- Evi Nemeth, Garth Snyder, Trent R. Hein, Ben Whaley, Dan Macking. Unix Handbook. 18 Chapter.