diff --git a/requirements.txt b/requirements.txt index a1a3d36..d69732d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,3 +10,4 @@ configparser==5.0.1 emlx==1.0.0 darkdetect==0.1.1 keyring==21.5.0 +keepalive-socket==0.0.1 diff --git a/src/mailbox_imap.py b/src/mailbox_imap.py index f52c794..19d03bb 100755 --- a/src/mailbox_imap.py +++ b/src/mailbox_imap.py @@ -21,11 +21,11 @@ import collections import os.path import pickle +import keepalive from src.mailbox_message import MailboxCleanerMessage imaplib._MAXLINE = 10000000 # pylint: disable=protected-access -TCP_KEEPALIVE = 0x10 __author__ = "Alexander Willner" __copyright__ = "Copyright 2020, Alexander Willner" @@ -79,9 +79,7 @@ def login(self): self.imap.sock.setsockopt( socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) - self.imap.sock.setsockopt( - socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) - self.imap.sock.setsockopt(socket.IPPROTO_TCP, TCP_KEEPALIVE, 3) + keepalive.set(self.imap.sock) self._load_cache() except socket.gaierror as error: raise SystemExit('Login failed (wrong server?): %s' %