Электронная почта, пожалуй, является самым ранним приложением сетевой подсистемы операционных систем семейства UNIX. Изначально электронные письма пересылались непосредственно между конечными сетевыми узлами при помощи службы W:[sendmail] с использованием протокола W:[SMTP], а для отправки или чтения писем применялась утилита mail.
Вместо sendmail может быть использована абсолютно любая реализация агента пересылки почты (W:[mail transport agent], МТА), например W:[postfix] или W:[eximJ, ко обычно его функцию делегируют почтовым серверам провайдера услуг Интернет или серверам публичных сервисов типа yandex.ru или gmail.com.
Листинг ниже иллюстрирует «классическую» схему электронной почты с «локальным» МТА, использующую команду mail для составления исходящих в и чтения входящих писем и команду mailq для просмотра очередей обработки почты.
Обработка почты локальной почтовой системой
lumpy@ubuntu:~$ mail -s Тест levin@gmail.com
Это тест )
Cc: ↵
lumpy@ubuntu:~$ mailq
Mail queue is empty
lumpy@ubuntu:~$ mail
Mall version 8.1.2 01/15/2001. Type ? for help.
«/var/mail/lumpy» 1 message 1 new
>N 1 MAILER-DAEMON@ubu Thu Jan 7 15:09 77/2653 Undelivered Mail Returned t .
& 1 ↵
Message 1:
From MAILER-DAEMON Thu Jan 7 15:09:35 2016
X-Origlnal-To: lumpy@ubuntu
Date: Thu, 7 Jan 2018 15:09:35 +0300 (MSK)
From: MAILER-DAEMON@ubuntu (Mail Delivery System)
Subject: Undelivered Mall Returned to Sender To: lumpy@ubuntu
This Is the mall system at host ubuntu.-*
I’m sorry to have to Inform you that your message could not be delivered to one or more recipients. It’s attached
below.
<alivin@gmail.com>: host gmail-smtp-in.l.google.com[74.125.205.27] said:
550-5.7.1 [95.55.94.237] The IP you’re using to send mail is not
Authorized to 550-5.7.1 send email directly to our servers. Please use the
SMTP relay at your 550-5.7.1 service provider instead. Learn more at 550
5.7.1 https://support.google.com/mail/answer/10336 tw4si41552991lbb.77 —
gsmtp (In reply to end of DATA command)
& q ↵
Saved 1 message in /home/lumpy/mbox
lumpy@ubuntu: ~$ mail handy@happytreefrlends.ru
Subject: См. hands(4) … ↵
… про /dev/hands 😉 ↵
Cc: ↵
lumpy@ubuntu:~$ mailq
-Queue ID- —Size— Arrival Time—- -Sender/Reclpient——-
AF0491900315 309 Thu Jan 7 15:50:08 lumpy@ubuntu
(connect to happytreefrtends.ru[94.76.205.132]:25: Connection refused)
handy@happytreefriends.ru
—0 Kbytes in 1 Request.
Современные требования к условиям корректной пересылки почтовых сообщений зачастую оказываются чересчур строгими, а содержание собственной локальной почтовой системы — неоправданнр сложным. В большинстве случаев конечные пользователи пользуются услугами «внешних» почтовых серверов, организующих полный цикл обработки почты — от приема цсхбдящих сообщений до обслуживания; почтовых ящиков. Исходящие сообщения отправляются таким серверам р шрмощью протбкола W: [SMTP], а доступ к почтовым ящикам — с помощью протоколов W:[P0P3] или W:[IMAP].
В примере из листинга ниже показан терминальный клиент современных почтовых систем mutt, поддерживающий «защищенные» протоколы электронной почты SMTPs, IMAPs и POPs, использующие протокол W:[SSL] для криптозащиты сетевых соединений. Использующий весьма похожие на SSH способы обеспечения конфиденциальности данных и аутентичности взаимодействующих сторон.
Для отправки сообщений используются учетная запись пользователя lumpy.moose и сервер «исходящих» сообщений smtp.yandex.ru, принимающий почту по протоколу SMTPs, а для чтения писем из почтового ящика пользователя lumpy.moose могут быть использованы протоколы IMAPs или POPs и серверы «входящих» сообщений imap.yandex.ru и pop.yandex.ru, соответственно.
Обработка почты публичной почтовой службой
lumpy@ubuntu:~$ mutt -s Тест alevin@gmail.com
lumpy@ubuntu:~$ cat ~/.muttrc
set from=lumpy.moose@yandex.ru
set smtp_url=smtps://lumpy.moose@smtp.yandex.ru
lumpy@ubuntu:~$ mutt -f imaps://lumpy.moose@imap.yandex.ru
Определяется адрес сервера inap.yandex.ru…
Устанавливается соединение с imap.yandex.ru…
SSL/TLS-соединение с использованием TLS1.2 (RSA/AES-128-CBC/SHA1)
Пароль для lumpy.moose@imap.yandex.ru: … … … … … … ↵
lumpy@ubuntu:~$ mutt -f pops://lumpy.moose@pop.yandex.ru