我有一个扫描脚本,该脚本当前通过连接到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)
但它卡住了,说服务器列表中有问题。在此处将前缀注入主机的更好方法是什么?
没有测试过它:如果sub1是"mail.",主机是"myhost.com",那么'{0}@{1}'.format(sub1, host)
将导致 mail.@myhost.com。这真的是您的子域名吗?我想应该是 mail.myhost.com。如果是这样,请在格式字符串中删除"@"。