smtp = smtplib。SMTP(host) > (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)

但它卡住了,说服务器列表中有问题。在此处将前缀注入主机的更好方法是什么?

没有测试过它:如果sub1是"mail.",主机是"myhost.com",那么'{0}@{1}'.format(sub1, host)将导致 mail.@myhost.com。这真的是您的子域名吗?我想应该是 mail.myhost.com。如果是这样,请在格式字符串中删除"@"。

最新更新