Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

easyimap

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

easyimap

Simple imap wrapper.

  • 0.7.0
  • PyPI
  • Socket score

Maintainers
1

About this module

Simple imap wrapper.

.. image:: https://img.shields.io/pypi/v/easyimap.svg :target: https://pypi.python.org/pypi/easyimap/ :alt: Latest Version .. image:: https://img.shields.io/pypi/pyversions/easyimap.svg :target: https://pypi.python.org/pypi/easyimap/ :alt: Supported Python versions .. image:: https://img.shields.io/pypi/l/easyimap.svg :target: https://pypi.python.org/pypi/easyimap/ :alt: License

Example to use

connect function create IMAP4_SSL instance by default::

>>> import easyimap
>>> host = "imap.gmail.com"
>>> user = "me@example.com"
>>> password = "hogehogehogehoge"
>>> mailbox = "secret"
>>> imapper = easyimap.connect(host, user, password, mailbox)

connect function also create IMAP4 instance by passing ssl argument::

>>> import easyimap
>>> host = "imap.gmail.com"
>>> user = "me@example.com"
>>> password = "hogehogehogehoge"
>>> mailbox = "secret"
>>> imapper = easyimap.connect(host, user, password, mailbox, ssl=False, port=143)

This imapper can list up latest n mail by listup method. By default, This invoke fetch from IMAP4_SSL instance with '(UID RFC822)'.::

>>> mail1, mail2 = imapper.listup(2)
>>> mail1.uid
80
>>> mail1
<easyimap.easyimap.MailObj object at 0x...>
>>> type(mail1.body)
<type 'unicode'>
>>> type(mail1.title)
<type 'unicode'>
>>> type(mail1.date)
<type 'unicode'>
>>> type(mail1.sender)
<type 'unicode'>

You can check latest unseen mail by unseen method::

>>> imapper.unseen(2)
[(82, <easyimap.easyimap.MailObj object at 0x...>), (81, <easyimap.easyimap.MailObj object at 0x...)]

You can directly fetch email object with specific id::

>>> imapper.mail(80)
<easyimap.easyimap.MailObj object at 0x...>

You can download attachments::

>>> imapper.mail(80)
>>> (id, mail) = imapper.mail(80)
>>> for attachment in mail.attachment:
>>>     print attachment[0], attachment[1]

Finally, call quit method::

>>> imapper.quit()

Basic API

  • easyimap.connect(host, user, password, mailbox='INBOX', timeout=15, ssl=True, port=993, **kwargs) | Create IMAP4(_SSL) wrapper. | If you want to keep read/unread status, Please pass optional read_only=True argument. | kwargs are read from Imapper's constructor. Plz read source code.

Imapper ^^^^^^^

  • listids(limit=10, criterion=None) Returns list of available email ids.
  • listup(limit=10, criterion=None, include_raw=False) Returns list of mail_object.
  • unseen(limit=10) Returns list of mail_object.
  • mail(uid, include_raw=False) Returns MailObj.
  • change_mailbox(mailbox) Change mailbox.
  • quit() Close and Logout.

MailObject ^^^^^^^^^^

  • uid Returns UID(type: int).

  • raw if you fetched email with include_raw option, this returns raw Data::

      >>> [(id1, mail1), (id2, mail2)] = imapper.listup(2, include_raw)
      >>> data = mail1.raw
    
  • title Returns string of 'Subject' header.

  • sender Returns string of 'Sender' header.

  • from_addr Returns string of 'From' header.

  • to Returns string of 'To' header.

  • date Returns string of 'Date' header.

  • body Returns string of Body.

  • content_type Returns string of 'Content-Type' header.

  • content_transfer_encoding Returns string of 'Content-Transfer-Encoding' header.

  • references Returns string of 'References' header.

  • in_reply_to Returns string of 'In-Reply-To' header.

  • reply_to Returns string of 'Reply-To' header.

  • return_path Returns string of 'Return-Path' header.

  • mime_version Returns string of 'MIME-Version' header.

  • message_id Returns string of 'Message-ID' header.

  • attachments Returns list of tuples('attached file name', MailObj).

Recent Change

- 0.6.3
    + Add support for python-3.5.
    + Fixed a bug in decoding an attached plain text.
- 0.6.2
    + Fixed a bug in header/body encoding

- 0.6.1
    + Fixed a bug in _decode_header function

- 0.6.0
    + Add support for Python-3.4.
    + **Backward incompatible changes**
        * Modify `listup` to return list of mailobj.
        * Rename many properties to underbar separated format.


FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc