Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_list_sub_folders_NO(self):
self.client._imap._simple_command.return_value = ('NO', [b'badness'])
self.assertRaises(IMAPClientError, self.client.list_folders)
def test_list_folders_NO(self):
self.client._imap._simple_command.return_value = ('NO', [b'badness'])
self.assertRaises(IMAPClientError, self.client.list_folders)
def test_command_fails(self):
self.client._imap._simple_command.return_value = "NO", [b'sorry']
with self.assertRaises(IMAPClientError) as raised:
self.client.starttls(sentinel.ssl_context)
self.assertEqual(str(raised.exception), "starttls failed: sorry")
def _check_resp(self, expected, command, typ, data):
"""Check command responses for errors.
Raises IMAPClient.Error if the command fails.
"""
if typ != expected:
raise exceptions.IMAPClientError("%s failed: %s" % (command, to_unicode(data[0])))
In this mode the server will return unsolicited responses
about changes to the selected mailbox. This method returns
immediately. Use ``idle_check()`` to look for IDLE responses
and ``idle_done()`` to stop IDLE mode.
.. note::
Any other commands issued while the server is in IDLE
mode will fail.
See :rfc:`2177` for more information about the IDLE extension.
"""
self._idle_tag = self._imap._command('IDLE')
resp = self._imap._get_response()
if resp is not None:
raise exceptions.IMAPClientError('Unexpected IDLE response: %s' % resp)
that include timezone information (aware). By default
*normalise_times* is True (times are normalised to the local
system time). This attribute can be changed between ``fetch()``
calls if required.
Can be used as a context manager to automatically close opened connections:
>>> with IMAPClient(host="imap.foo.org") as client:
... client.login("bar@foo.org", "passwd")
"""
# Those exceptions are kept for backward-compatibility, since
# previous versions included these attributes as references to
# imaplib original exceptions
Error = exceptions.IMAPClientError
AbortError = exceptions.IMAPClientAbortError
ReadOnlyError = exceptions.IMAPClientReadOnlyError
def __init__(self, host, port=None, use_uid=True, ssl=True, stream=False,
ssl_context=None, timeout=None):
if stream:
if port is not None:
raise ValueError("can't set 'port' when 'stream' True")
if ssl:
raise ValueError("can't use 'ssl' when 'stream' is True")
elif port is None:
port = ssl and 993 or 143
if ssl and port == 143:
logger.warning("Attempting to establish an encrypted connection "
"to a port (143) often used for unencrypted "