Как получить имя сервера Smtp из почты - PullRequest
0 голосов
/ 27 июня 2018

Сценарий:

В моем веб-приложении (ASP.NET MVC + C # + JS ...) есть ввод с адресом электронной почты. Есть ли какой-нибудь возможный способ получить имя SMTP-сервера для большинства распространенных случаев?

например. smtp.gmail.com для foo@gmail.com

1 Ответ

0 голосов
/ 29 июня 2018

Похоже, вы говорите о записи MX. Если вы хотите отправить электронное письмо на адрес электронной почты gmail.com, вы просматриваете запись Mail Exchange (MX):

$ host -t mx gmail.com
gmail.com mail is handled by 20 alt2.gmail-smtp-in.l.google.com.
gmail.com mail is handled by 30 alt3.gmail-smtp-in.l.google.com.
gmail.com mail is handled by 40 alt4.gmail-smtp-in.l.google.com.
gmail.com mail is handled by 5 gmail-smtp-in.l.google.com.
gmail.com mail is handled by 10 alt1.gmail-smtp-in.l.google.com.

Как правило, первым пробует хост с самым коротким расстоянием. В данном случае это gmail-smtp-in.l.google.com с расстоянием 5.

$ telnet gmail-smtp-msa.l.google.com 25
Trying 74.125.197.109...
Connected to gmail-smtp-msa.l.google.com.
Escape character is '^]'.
220 smtp.gmail.com ESMTP w63-v6sm8014513pfa.135 - gsmtp
ehlo there
250-smtp.gmail.com at your service, [4.78.245.197]
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
quit
221 2.0.0 closing connection w63-v6sm8014513pfa.135 - gsmtp
Connection closed by foreign host.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...