2017-01-24 3 views
2

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

(1) агент пользователя -> (2) Почтовый сервер Алисы -> (3) Боб почтовый сервер - Агент> (4) Пользователь Боба

Допустим, Алиса на ее User Agent (например, Thunderbird). Почему ее электронная почта должна проходить через почтовый сервер? Почему она не могла отправить сообщение прямо на почтовый сервер bob? Если ее пользовательский агент знает адрес Боба ([email protected]), не может ли ее пользовательский агент выполнить какой-либо поиск DNS, чтобы выяснить IP-адрес для gmail.com и отправить ее SMTP-сообщение прямо на почтовый сервер Боба?

+2

Когда вы отправляете письмо через уличную почту, почему ваше письмо должно пройти через ваше местное почтовое отделение и почтовое отделение назначения? Почему он не может просто покинуть ваш дом и автоматически попасть в почтовый ящик получателя? У агентов пользователя нет поисковых запросов. Почтовое клиентское программное обеспечение Алисы (то, что вы вызываете * пользовательский агент *) знает адрес почтового сервера Алисы, и все. Алиса знает имя * почтового сервера Боба ([email protected]), но не знает, где живет Боб. Почтовый сервер Алисы знает адрес почтового сервера Боба, а почтовый сервер Боба знает, где находится Боб. –

ответ

2

Если мы рассмотрим случай, когда почтовый сервер Боба недоступен, у Алисы нет никакой опции, кроме отправки этого сообщения на почтовый сервер Алисы.

Если Алиса депонирует электронную почту на свой почтовый сервер, почтовый сервер Алисы будет продолжать отправлять электронную почту на почтовый сервер Боба до тех пор, пока он не станет доступен.

Как вы упомянули, если мы попытаемся отправить электронную почту непосредственно почтовому серверу Боба, тогда Алисе придется самостоятельно отправлять электронную почту, пока почта Боба не станет доступной, и как пользователь, которому вы не хотите, чтобы ,

1

Передача по электронной почте обычно простой. Количество «особых случаев» может быть огромным.

  1. Отправка через локальную почту/SMTP-сервер упрощает работу с User/Mail Agent. Это снижает вероятность попадания «особых случаев» перед передачей ответственности за доставку электронной почты. Это помогает избежать «нестабильного» поведения.

  2. Отправка непосредственно почтовому серверу получателя еще сложнее и рискованный в эпоху спама.

Некоторые серверы отбрасывают сообщения «классифицируются как спам» без каких-либо уведомлений. Без этого я мог бы рекомендовать «продвинутым пользователям» использовать локальный почтовый сервер в качестве возврата маршрута доставки, когда первоначальная прямая доставка не выполняется в сеансе SMTP.

Если у вас есть фиксированный IP-адрес без заблокированных исходящих SMTP-подключений, вы можете установить свой собственный почтовый/SMTP-сервер. Это делает рынок для (более) сложных почтовых агентов еще меньше.

2

В отличие от HTTP, SMTP является «push» протоколом. HTTP-клиент извлекает данные с HTTP-сервера. С другой стороны, почтовый клиент (в данном случае Alice), «толкает» электронное письмо с использованием Simple Mail Transfer Protocol (SMTP) на почтовый сервер, на котором запущен SMTP. Затем почтовый сервер выталкивает это письмо почтовому серверу Боба.

Теперь, когда Боб хочет проверить его электронную почту, он НЕ использует SMTP, но использует другой протокол, такой как IMAP/POP, чтобы получить его новое электронное письмо и отобразить его пользовательский агент.

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