Общая теория
Вообще говоря, SMTP-сервер имеет две разные функции, которые часто смешиваются: отправка исходящей почты и получение почты из других сетей. Эти две функции выполняются с использованием одного протокола SMTP. Обычно эти две функции выполняются на одной машине, и исторически они могли даже выполняться на одном и том же порту. Так что легко понять, почему люди объединяют эти две функции.
Хотя эти две функции по-прежнему используют один и тот же протокол SMTP, становится все менее и менее верным, что они выполняются на одном и том же порте (поскольку системные администраторы предотвращают рассылку спама своими клиентами, блокируя исходящий трафик порта 25). В наши дни для отправки SMTP используется шифрование SSL, тогда как передача почты между двумя различными сетями все еще выполняется в виде простого текста. Учитывая сложность сети Google, меня не удивит, если эти две функции будут выполняться на разных машинах. (Отказ от ответственности: я работаю на Google, но у меня нет внутренних знаний о работе GMail.)
Отправка исходящей почты. Когда вы отправляете электронную почту из GMail, особенно когда вы настраиваете почтовый клиент, такой как Evolution, для отправки из вашей учетной записи Gmail, вы должны настроить SMTP-сервер для отправки вашей почты. Ваш почтовый клиент соединяется напрямую с этим SMTP-сервером, и этот SMTP-сервер берет на себя ответственность за отправку сообщения в нужное место в Интернете. Это часто настраивается с использованием специального порта и требует ввода регистрационной информации, чтобы только авторизованные пользователи могли отправлять электронную почту. Это функция, с которой имеет дело ссылка поддержки выше. Вы настраиваете свой почтовый клиент для использования доменного имени smtp.gmail.com
на порту 587, и я думаю, что ваш почтовый клиент находит этот сервер, используя запись DNS A
для обычного поиска доменного имени.
Получение электронной почты из других сетей. SMTP-сервер, который ретранслирует ваше сообщение в другую сеть, ищет запись MX
для gmail.com
(в вашем случае обнаруживает, что местом для отправки сообщения является alt1.gmail-smtp-in.l.google.com
) и отправляет сообщение в порт 25 на этом хосте. , Это то, что вы посмотрели в DIG и протестировали с помощью telnet.
Теперь, почему вы не увидели порт alt1.gmail-smtp-in.l.google.com
25, когда пытались подключиться к Интернету через интернет? Ответ заключается в том, что для предотвращения исходящего спама ваш интернет-провайдер блокирует исходящий трафик через порт 25. Поэтому вы не можете отправлять что-либо на gmail.com
порт 25, не пройдя через SMTP-сервер вашего провайдера или какой-либо другой SMTP-сервер, который требует вход в систему и принимает заявки. через порт 587.
Что вы пытались сделать.
Итак, вы пытаетесь выполнить функцию № 2. Вы сами выполнили поиск MX для gmail.com
и обнаружили, что он соответствует серверу alt1.gmail-smtp-in.l.google.com
. Затем вы попытались подключиться к порту 587 через alt1.gmail-smtp-in.l.google.com
. Это не сработало, потому что alt1.gmail-smtp-in.l.google.com
не прослушивает этот порт (ему нужно только прослушать порт 25 для выполнения функции # 2). Затем вы попытались подключиться к порту 25 на alt1.gmail-smtp-in.l.google.com
. Это не сработало, потому что ваш интернет-провайдер блокирует исходящие соединения через порт 25.
Чтобы отправить письмо на gmail.com, вам нужно найти сервер, который выполняет функцию # 1, и отправить туда свою электронную почту. В качестве альтернативы найдите провайдера, который не против быть спам-убежищем и не блокирует исходящий трафик через порт 25. (На самом деле, пожалуйста, не надо.)