我有一个扫描脚本,目前可以通过连接到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)
但它堵塞,说服务器列表中存在问题。 在这里向主机注入前缀的更好方法是什么?
答案 0 :(得分:0)
未经测试:如果 sub1 是“mail”。并且主机是“myhost.com”,然后'{0}@{1}'.format(sub1, host)
将生成 mail。@ myhost.com 。这真的是你的子域名吗?我想它应该是 mail.myhost.com 。如果是这样,那么在格式化字符串中删除“@”。