Skip to main content

Connect to IMAP through Socks using Python asyncio

Project description

Connect to IMAP through Socks using Python asyncio

Dependencies

  • aioimaplib 1.0.1+
  • aiosocks 0.2.6+

Installation

pip install asocksimap

or

pip install git+https://github.com/optinsoft/asocksimap.git

Usage

import asyncio
from asocksimap import AsyncSocksIMAP4_SSL
from functools import reduce

def checkResponse(res, func):
    if res.result != 'OK':
        msg = reduce(lambda s, i: (s + "\n  " if i > 0 else "") + res.lines[i].decode('utf8'), range(len(res.lines)), "")
        if not msg: msg = f"{func} failed"
        raise Exception(msg) 

async def aimap_test():
    email_address = 'YOUR_ACCOUNT@hotmail.com'
    password = 'YOUR_PASSWORD'
    imap_server = 'outlook.office365.com'
    imap_port = 993
    socks_addr = '127.0.0.1'
    socks_port = 1080
    socks_type = 'socks5'

    aimap = AsyncSocksIMAP4_SSL(host=imap_server, port=imap_port, timeout=15,
                                proxy_addr=socks_addr, proxy_port=socks_port, proxy_type=socks_type)
    await aimap.wait_hello_from_server()    
    res = await aimap.login(email_address, password)
    checkResponse(res, "login")
    res = await aimap.logout()
    checkResponse(res, "logout")

loop = asyncio.get_event_loop()
loop.run_until_complete(aimap_test())

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asocksimap-1.0.4.tar.gz (4.9 kB view hashes)

Uploaded Source

Built Distribution

asocksimap-1.0.4-py3-none-any.whl (5.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page