0

从 telnet 库返回结果时遇到一些问题,但我得到的只是标题,然后是空白等待输入。

知道如何从 Telnet 获取输出吗?

def smtp_test(server_info):
print "Check server info: " + server_info
cpos = server_info.find(':')
try:
    sock = socket()
    # sock.connect((server_info[:cpos], int(server_info[cpos+1:])))
    sock.connect(("mail.SMTPSERVERNAME.com", 25))
    print sock.recv(256)
    sock.send("HELO client.example.com\r")
    print sock.recv(256)
    sock.send("MAIL from: <sender@example.com>\r")
    print sock.recv(256)
    #sock.send("RCPT to: <recipient@example.com>")
    #print sock.recv(256)
    sock.close
    return True
except:
    return False
4

1 回答 1

2

\r不是行终止符。因此服务器没有回复并等待他看到一个完整的行,而您等待来自服务器的回复。经典的僵局。

尝试使用\r\n.

你应该考虑smtplib改用。

于 2012-05-18T10:35:58.093 回答