python学习中遇到的错误及解决办法

1. nodename nor servname provided

   原因:Python程序中有段程序调用

   socket.gethostbyname(socket.gethostname())

 socket.gethostname()获取到主机名,但是socket.gethostbyname()函数无法获取主机名对应的IP地址,所以报错

   解决办法:本地通过print socket.gethostname()拿到主机名,然后再本地的hosts文件中添加主机名和本地IP地址的映射

 

2. Envolope sender mismatch with header from

 原因:学习发送邮件,sendmail的发送消息体中没有From关键要素,所以报错

   msg = MIMEText(content, "plain", _charset='utf-8')
     msg['Subject'] = Header(subject, 'utf-8')
     msg["From"] = mail_from

   解决办法:如上所示,构造消息体中添加From要素,表示发件人,不能为空,然后调用服务发送邮件

     smtp.sendmail(mail_from,mail_to,msg.as_string())

    

 

posted @ 2017-12-10 12:16  魔炎刀问天剑  阅读(762)  评论(0编辑  收藏  举报