Назад | Перейти на главную страницу

Как работает SMTP (получение писем)?

Мне очень трудно понять, как работает SMTP.

Я уже читал:

Я знаю, что SMTP-сервер слушает ПОРТ 25 и обменивается командами с клиентом.

Предположим, я владею доменом mydomain.com и там работает мой собственный реализованный SMTP-сервер.

Кто-то хочет, чтобы меня прислали (например bob@mydomain.com) электронное письмо.

На моем сервере я буду видеть такой трафик:

Server Response: 220 mydomain.com SMTP
Client Sending : HELO domain.com
Server Response: 250 Hello domain.com
Client Sending : MAIL FROM: <me@domain.com>
Server Response: 250 Ok
Client Sending : RCPT TO: <bob@mydomain.com>
Server Response: 250 Ok
Client Sending : DATA
Server Response: 354 End data with <CR><LF>.<CR><LF>
Client Sending : Subject: Example Message
Client Sending : From: me@domain.com
Client Sending : To: bob@mydomain.com
Client Sending :
Client Sending : Yo,
Client Sending :
Client Sending :   Sending a test message.
Client Sending :
Client Sending :   Later,
Client Sending : Carl
Client Sending : .
Server Response: 250 Ok: queued as 45334
Client Sending : QUIT
Server Response: 221 Bye

Итак, у моего сервера теперь есть массив байтов, содержащий сообщение где-то в памяти.

Вопрос:

Что мне теперь делать с этим сообщением? (при условии, что получатель находится на моей машине - ретрансляция не требуется)

Чтобы почта доставлялась в почтовый ящик пользователя, вам понадобится агент доставки почты или MDA.

Агент доставки почты или агент доставки сообщений (MDA) - это программный компонент компьютера, который отвечает за доставку сообщений электронной почты в почтовый ящик локального получателя. Также называется LDA или местным агентом доставки. В архитектуре почты Интернета локальная доставка сообщений достигается посредством обработки сообщений от агента передачи сообщений и сохранения почты в среде получателя (обычно в почтовом ящике).

Подробнее здесь: https://en.wikipedia.org/wiki/Mail_delivery_agent