С POP вроде все понятно, как написано, так и работает — протокол для забирания почты со своего ящика
Например, мой ящик — me@yandex.ru, я подключаюсь к pop.yandex.ru:110, логинюсь и могу забирать свою почту и удалять с ящика.
А с SMTP?
Открываем Таненбаума — клиент, желающий отправить письмо, подключается к 25 порту сервера и посылает данные, а тот, кому прислали письмо, может с помощью POP забрать почту.
Т.е., например, я со своего ящика me@yandex.ru хочу написать письмо на somebody@mail.ru
Я подключаюсь к smtp.mail.ru:25 и отсылаю письмо (по идее, от любого имени?)
На практике надо коннектиться к smtp.yandex.ru:587, логиниться как me@yandex.ru и уже тогда писать письмо для somebody@mail.ru
1. А как тогда smtp.yandex.ru посылает письмо на smtp.mail.ru?
Нельзя ли самому напрямую послать, не имея логина на mail.ru?
И вообще, как это все работает?
2. Как быть с 25 портом, видимо, он таки закрыт провайдером?
3. Как динамически узнать POP адрес сервака своей почты?
Здравствуйте, xerox, Вы писали:
X>А с SMTP? X>Открываем Таненбаума — клиент, желающий отправить письмо, подключается к 25 порту сервера и посылает данные, а тот, кому прислали письмо, может с помощью POP забрать почту. X>Т.е., например, я со своего ящика me@yandex.ru хочу написать письмо на somebody@mail.ru X>Я подключаюсь к smtp.mail.ru:25 и отсылаю письмо (по идее, от любого имени?)
Принципиально — да.
X>На практике надо коннектиться к smtp.yandex.ru:587, логиниться как me@yandex.ru и уже тогда писать письмо для somebody@mail.ru
Не обязательно. Можно и сразу на mail.ru.
X>1. А как тогда smtp.yandex.ru посылает письмо на smtp.mail.ru?
Точно так же — соединяется с smtp.mail.ru:25 и отправляет письмо.
X>Нельзя ли самому напрямую послать, не имея логина на mail.ru? X>И вообще, как это все работает?
Вполне себе можно. Логин на mail.ru для этого иметь не нужно — для своих корреспондентов письма принимаются без авторизации.
X>2. Как быть с 25 портом, видимо, он таки закрыт провайдером?
X>3. Как динамически узнать POP адрес сервака своей почты?
Здравствуйте, djs_, Вы писали:
_>Здравствуйте, xerox, Вы писали:
X>>А с SMTP? X>>Открываем Таненбаума — клиент, желающий отправить письмо, подключается к 25 порту сервера и посылает данные, а тот, кому прислали письмо, может с помощью POP забрать почту. X>>Т.е., например, я со своего ящика me@yandex.ru хочу написать письмо на somebody@mail.ru X>>Я подключаюсь к smtp.mail.ru:25 и отсылаю письмо (по идее, от любого имени?)
_>Принципиально — да.
X>>На практике надо коннектиться к smtp.yandex.ru:587, логиниться как me@yandex.ru и уже тогда писать письмо для somebody@mail.ru
_>Не обязательно. Можно и сразу на mail.ru.
Ну например, на яндексе написано, что 587 порт — дубликат 25. А 587 — это ESMTP и необходимо иметь ящик на яндексе, чтобы послать на яндекс письмо. Как мне напрямую послать письмо, если нет логина?
X>>1. А как тогда smtp.yandex.ru посылает письмо на smtp.mail.ru?
_>Точно так же — соединяется с smtp.mail.ru:25 и отправляет письмо.
X>>Нельзя ли самому напрямую послать, не имея логина на mail.ru? X>>И вообще, как это все работает?
_>Вполне себе можно. Логин на mail.ru для этого иметь не нужно — для своих корреспондентов письма принимаются без авторизации.
То есть, для своих корреспондентов? Это кто такие?
X>>2. Как быть с 25 портом, видимо, он таки закрыт провайдером?
X>>3. Как динамически узнать POP адрес сервака своей почты?
_>Достоверно — никак.
Здравствуйте, xerox, Вы писали:
X>Здравствуйте, djs_, Вы писали:
X>>>На практике надо коннектиться к smtp.yandex.ru:587, логиниться как me@yandex.ru и уже тогда писать письмо для somebody@mail.ru
_>>Не обязательно. Можно и сразу на mail.ru.
X>Ну например, на яндексе написано, что 587 порт — дубликат 25. А 587 — это ESMTP и необходимо иметь ящик на яндексе, чтобы послать на яндекс письмо. Как мне напрямую послать письмо, если нет логина?
По поводу порта 587 — пожалуйста, если у вас закрыт 25 порт, то можно использовать и 587. Но это только для Яndex.
У mail.ru такого нет, и потому, чтобы отослать письмо "напрямую", следует стучаться на стандартный, 25-й порт, собственно, вот так:
$ telnet mxs.mail.ru 25
Trying 194.67.23.20...
Connected to mxs.mail.ru.
Escape character is '^]'.
220 Mail.Ru ESMTP
EHLO domain.com
250-mx18.mail.ru ready to serve
250-SIZE 31457280
250 8BITMIME
MAIL FROM: someboby@anywhere.com
250 OK
RCPT TO: test@mail.ru
250 OK
DATA
354 Go ahead
To: test@mail.ru
From: "Test User" <someboby@anywhere.com>
Subject: TEST
.
550 spam message discarded. If you think that the system is mistaken, please report details to abuse@corp.mail.ru
quit
221 mx18.mail.ru closing connection
Connection closed by foreign host.
Понятно, что сообщение отвергнуто как спам, ибо адреса не настоящие, но принцип тот же.
X>>>1. А как тогда smtp.yandex.ru посылает письмо на smtp.mail.ru?
_>>Точно так же — соединяется с smtp.mail.ru:25 и отправляет письмо.
X>>>Нельзя ли самому напрямую послать, не имея логина на mail.ru? X>>>И вообще, как это все работает?
_>>Вполне себе можно. Логин на mail.ru для этого иметь не нужно — для своих корреспондентов письма принимаются без авторизации.
X>То есть, для своих корреспондентов? Это кто такие?
Я имел ввиду получателей, у которых учетные записи именно на mail.ru
Другими словами, mail.ru должен принимать письма для своих пользователей без авторизации (проверка на спам — это другой вопрос).
Не ОТ, а именно ДЛЯ них.
Здравствуйте, djs_, Вы писали:
X>>Ну например, на яндексе написано, что 587 порт — дубликат 25. А 587 — это ESMTP и необходимо иметь ящик на яндексе, чтобы послать на яндекс письмо. Как мне напрямую послать письмо, если нет логина?
_>По поводу порта 587 — пожалуйста, если у вас закрыт 25 порт, то можно использовать и 587. Но это только для Яndex. RFC 2476 определяет порт 587 как стандартный для подачи сообщений от клиента промежуточному серверу.
_>У mail.ru такого нет, и потому, чтобы отослать письмо "напрямую", следует стучаться на стандартный, 25-й порт, собственно, вот так:
Стандартный всё же 587:
Естественно, что на MX у них 587-й порт закрыт. Он там ни к чему, он нужен только изнутри.
Вот у меня как сделано:
~ :) nc mx1.qwertty.com 25
220-pogekone.qwertty.com ESMTP Exim 4.69.
220 By using this system you implicitly and irrevocably agree to pay 10,000 EUR for each unsolicited message sent.
EHLO bad.spammer
250-pogekone.qwertty.com Hello bad.spammer [213.154.206.201]
250-SIZE 52428800
250-AUTH PLAIN LOGIN
250-STARTTLS
250 HELP
MAIL FROM:<bad.spammer@bad.spammer>
250 OK
RCPT TO:<dodge_this@qwertty.com>
550-Rejected UBE sent by [213.154.206.201].
550-Reasons:
550-Reverse DNS lookup failed;
550-Sender is blacklisted at zen.spamhaus.org with code(s) 127.0.0.11;
550 Blacklisted at no-more-funn.moensted.dk with code(s) 127.0.0.3.
QUIT
221 pogekone.qwertty.com closing connection
~ :) nc mx1.qwertty.com 587
220-pogekone.qwertty.com ESMTP Exim 4.69.
220 By using this system you implicitly and irrevocably agree to pay 10,000 EUR for each unsolicited message sent.
EHLO bad.spammer
250-pogekone.qwertty.com Hello bad.spammer [213.154.206.201]
250-SIZE 52428800
250-PIPELINING
250-AUTH PLAIN LOGIN
250-STARTTLS
250 HELP
MAIL FROM:<bad.spammer@bad.spammer>
550 Port 587 is for MUAs only; use port 25 for unauthenticated mail.
QUIT
221 pogekone.qwertty.com closing connection
Т. е., почта, приходящая на порт 587, не проверяется на спам, разрешается PIPELINING, но требуется аутентификация.
RO>Естественно, что на MX у них 587-й порт закрыт. Он там ни к чему, он нужен только изнутри.
А что значит изнутри?
RO>Т. е., почта, приходящая на порт 587, не проверяется на спам, разрешается PIPELINING, но требуется аутентификация.
Т.е., в данный момент, если 25 порт закрыт провайдером, остается только логиниться на 587 своего ящика и таким образом пересылать письмо?
Например, я логинюсь на smtp.yandex.ru:587 как me@yandex.ru и тогда уже посылаю письмо на somebody@mail.ru?
Здравствуйте, xerox, Вы писали:
X>А что значит изнутри?
Возьми гугл и выясни, что такое MX-записи. Так вот, изнутри — это не там, где MX-записи.
X>Т.е., в данный момент, если 25 порт закрыт провайдером, остается только логиниться на 587 своего ящика и таким образом пересылать письмо? X>Например, я логинюсь на smtp.yandex.ru:587 как me@yandex.ru и тогда уже посылаю письмо на somebody@mail.ru?
Да. А даже если порт 25 открыт, то mail.ru посмотрит на тебя с величайшим подозрением, если ты пойдешь напрямую на mail.ru.
Здравствуйте, Roman Odaisky, Вы писали:
RO>Здравствуйте, xerox, Вы писали:
X>>А что значит изнутри?
RO>Возьми гугл и выясни, что такое MX-записи. Так вот, изнутри — это не там, где MX-записи.
Непонятна сама ваша фраза. И, по-моему, отсылать в гугл — дурной тон ).
X>>Т.е., в данный момент, если 25 порт закрыт провайдером, остается только логиниться на 587 своего ящика и таким образом пересылать письмо? X>>Например, я логинюсь на smtp.yandex.ru:587 как me@yandex.ru и тогда уже посылаю письмо на somebody@mail.ru?
RO>Да. А даже если порт 25 открыт, то mail.ru посмотрит на тебя с величайшим подозрением, если ты пойдешь напрямую на mail.ru.
RO>Вообще, RTFM. http://en.wikipedia.org/wiki/SMTP и по ссылкам.
То есть, и сейчас не закрыта возможность посылки почты от любого чужого имени?
Здравствуйте, xerox, Вы писали:
X>>>А что значит изнутри? RO>>Возьми гугл и выясни, что такое MX-записи. Так вот, изнутри — это не там, где MX-записи. X>Непонятна сама ваша фраза. И, по-моему, отсылать в гугл — дурной тон ).
Ты спрашиваешь базовые вещи, их долго рассказывать, тем более, что тема уже давно и подробно раскрыта. Всё-таки проконсультируйся у гугла.
X>То есть, и сейчас не закрыта возможность посылки почты от любого чужого имени?
Смотря что под этим понимать. В заголовке «From:» может стоять всё, что угодно. В SMTP-команде «MAIL FROM» тоже, но сервер может проверить SPF-записи, и подписи DomainKeys/DKIM, и сделать для себя соответствующие выводы.
X>А с SMTP? X>Открываем Таненбаума — клиент, желающий отправить письмо, подключается к 25 порту сервера и посылает данные, а тот, кому прислали письмо, может с помощью POP забрать почту.
Это упрощенный подход. На самом деле, почтовые сервера общаются между собой тоже по SMTP протоколу.
X>На практике надо коннектиться к smtp.yandex.ru:587, логиниться как me@yandex.ru и уже тогда писать письмо для somebody@mail.ru
Да. Это защита от спама.
X>1. А как тогда smtp.yandex.ru посылает письмо на smtp.mail.ru?
По SMTP протоколу.
X>Нельзя ли самому напрямую послать, не имея логина на mail.ru?
Нельзя. Волшебное слово СПАМ.
X>2. Как быть с 25 портом, видимо, он таки закрыт провайдером?
Защита от СПАМа. Посылай через SMTP сервер своего провайдера.
X>3. Как динамически узнать POP адрес сервака своей почты?
Никак.