'Return an iterator over keys.'

def iterkeys(self):

    with self._lock:
        if (self._keys is None):
            self._connect()
            try:
                (stat, key_list, octets) = self._pop3.uidl()
            except poplib.error_proto:
                raise UnsupportedProtocolError()
            self._keys = [tuple(k.split('    ', 1)) for k in key_list]
            self._km = dict([reversed(k) for k in self._keys])
        return [k[1] for k in self._keys]
