smtp = smtplib.SMTP(хост) > (mail.host)?
У меня есть скрипт сканирования, который в настоящее время работает, подключившись к SMTP-серверу, распечатав результаты и перейдя на следующий сервер в списке. Это первый код подключения:
def sendchk(listindex, host, user, password): # seperated function for checking
try:
smtp = smtplib.SMTP(host)
smtp.login(user, password)
code = smtp.ehlo()[0]
После сбоя "кроме":
smtp.quit()
except(socket.gaierror, socket.error, socket.herror, smtplib.SMTPException), msg:
print "[-] Login Failed:", host, user, password
pass
Я пытаюсь заставить его повторить тот же код с тем же хостом, добавляя поддомен. "Почта". Я думал, что это будет работать:
smtp.quit()
except(socket.gaierror, socket.error, socket.herror, smtplib.SMTPException), msg:
print "[-] Login Failed:", host, user, password
sub1 = 'mail.'
host2 = '{0}@{1}'.format(sub1, host)
smtp = smtplib.SMTP(host2)
Но это застревает, говоря, что есть проблема в списке серверов. Что было бы лучшим способом ввести префикс к хосту здесь?
1 ответ
Решение
Не проверив это: если sub1 это "почта". и хост "myhost.com" тогда '{0}@{1}'.format(sub1, host)
приведет к почте. @ myhost.com. Это действительно ваше имя субдомена? Я полагаю, это должен быть mail.myhost.com. Если это так, то добавьте "@" в строку форматирования.