keitaoouchi / easyimap

Simple imap wrapper.
http://pypi.python.org/pypi/easyimap
Other
38 stars 19 forks source link

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

Imapper ^^^^^^^

MailObject ^^^^^^^^^^

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.