Python 2.7 socket.gaierror:[Errno-2]Python Paramiko升级后名称或服务未知

Python 2.7 socket.gaierror:[Errno-2]Python Paramiko升级后名称或服务未知,python-2.7,sockets,ssh,paramiko,Python 2.7,Sockets,Ssh,Paramiko,我最近在Ubuntu 12.04.1 LTS上更新了Python Paramiko,以解决SSH兼容性问题。我收到的错误是: paramiko.SSHException:不兼容的ssh对等(没有可接受的kex算法)对此错误的研究得出结论,OpenSSH 6.7和版本低于1.15.1的paramiko存在不兼容问题,因此我升级到了版本1.15.1。这解决了我的SSH连接问题,但似乎打破了我的SMTP电子邮件例行程序之前一直在工作。电子邮件语法如下所示: from email.MIMEText

我最近在Ubuntu 12.04.1 LTS上更新了Python Paramiko,以解决SSH兼容性问题。我收到的错误是: paramiko.SSHException:不兼容的ssh对等(没有可接受的kex算法)对此错误的研究得出结论,OpenSSH 6.7和版本低于1.15.1的paramiko存在不兼容问题,因此我升级到了版本1.15.1。这解决了我的SSH连接问题,但似乎打破了我的SMTP电子邮件例行程序之前一直在工作。电子邮件语法如下所示:

from email.MIMEText      import MIMEText
from email.MIMEBase      import MIMEBase
from email.MIMEMultipart import MIMEMultipart

smtpserver   = 'server.company.com'
AUTHREQUIRED = 0
smtpuser     = ''
smtppass     = ''
RECIPIENTS   = ['person@company.com']
SENDER       = ['person@company.com']

session = smtplib.SMTP(smtpserver)    
if AUTHREQUIRED:
    session.login(smtpuser, smtppass)
smtpresult = session.sendmail(SENDER, RECIPIENTS, results.as_string()) 
if smtpresult:
    errstr = ""
    for recip in smtpresult.keys():
        errstr = """Could not deliver mail to: %s    
Server said: %s
%s    
%s"""   (recip, smtpresult[recip][0], smtpresult[recip][1], errstr)
        raise smtplib.SMTPException, errstr
这是我得到的带有错误消息的回溯:

Traceback (most recent call last):
  File "script.py", line 179, in <module>
    session = smtplib.SMTP(smtpserver)
  File "/usr/lib/python2.7/smtplib.py", line 249, in __init__
    (code, msg) = self.connect(host, port)
  File "/usr/lib/python2.7/smtplib.py", line 309, in connect
    self.sock = self._get_socket(host, port, self.timeout)
  File "/usr/lib/python2.7/smtplib.py", line 284, in _get_socket
    return socket.create_connection((port, host), timeout)
  File "/usr/lib/python2.7/socket.py", line 553, in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
socket.gaierror: [Errno -2] Name or service not known
回溯(最近一次呼叫最后一次):
文件“script.py”,第179行,在
session=smtplib.SMTP(smtpserver)
文件“/usr/lib/python2.7/smtplib.py”,第249行,在__
(代码,消息)=自连接(主机,端口)
文件“/usr/lib/python2.7/smtplib.py”,第309行,在connect中
self.sock=self.\u获取\u套接字(主机、端口、self.timeout)
文件“/usr/lib/python2.7/smtplib.py”,第284行,在get套接字中
返回套接字。创建_连接((端口、主机),超时)
文件“/usr/lib/python2.7/socket.py”,第553行,在create_connection中
对于getaddrinfo(主机、端口、0、SOCK_流)中的res:
socket.gaierror:[Errno-2]名称或服务未知

我很难确定需要更正什么才能将电子邮件功能恢复到脚本中。是否有人遇到过类似情况,如果是,您是如何解决问题的?

问题已解决。原来Ubuntu服务器上的管理员正在纠正服务器无法访问时间服务器的问题。DNS已更改,并且新的DNS没有注册我正在使用的邮件服务器。一旦DNS被更改回来,电子邮件再次工作。问题解决了。原来Ubuntu服务器上的管理员正在纠正服务器无法访问时间服务器的问题。DNS已更改,并且新的DNS没有注册我正在使用的邮件服务器。一旦DNS被更改回来,电子邮件就会再次工作。