Я попытался поиграть в python, чтобы узнать больше о протоколе SMTP.Точнее я пытаюсь отправить почту прямо на smtp сервер хоста, но без особого успеха.
Например, скажем, я хочу отправить письмо на адрес gmail.com, я ищу mxзапись для gmail.com:
>> nslookup -type=MX gmail.com
gmail.com MX preference = 40, mail exchanger = alt4.gmail-smtp-in.l.google.com
gmail.com MX preference = 5, mail exchanger = gmail-smtp-in.l.google.com
gmail.com MX preference = 10, mail exchanger = alt1.gmail-smtp-in.l.google.com
Затем я делаю следующее в Python:
import smtplib
# Tried both port 465 and 587 (can't test port 25 since it's blocked by my ISP)
s = smtplib.SMTP("alt1.gmail-smtp-in.l.google.com", 587)
Я пробовал несколько, и для всех, кроме одного, я всегда получал: "[Errno 10051] Была предпринята попытка операции с сокетом в недоступной сети" или "[Errno 10060] Попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через некоторое время, или не удалось установить соединение, так как подключенный хост не смог ответить" исключение.
Iгде-то читал, что некоторые почтовые серверы выполняют обратный просмотр вашего IP и отклоняют соединение, если у него нет домена.Как они это делают?
Я также где-то читал, что многие почтовые серверы отклоняют входящую почту с динамических IP-адресов (которые я, очевидно, имею в качестве частного клиента для своего интернет-провайдера).Как они могут проверить, является ли IP-адрес динамическим или статическим?
По этой причине большинство серверов отклоняют мое соединение?Или есть что-то еще?