DeveloperMail python wrapper based on official documentation https://www.developermail.com/api/v1/
pip install devmail
>>> from devmail import DevMail
>>> mailbox = DevMail()
>>> mailbox.create()
{'username': 'z-werhj4', 'token': 'B1DC9D1D6C9C1519728C4056F545EA0288946D54'}
>>> mailbox.newtoken()
{'username': 'z-werhj4', 'token': 'DC7F2CD7C195E66F637123A34D3D2A57FF0A18A0'}
In this example, I send two message to [email protected]
from my real email.
>>> mailbox.getmailids()
['637553086207559378', '637553086352838482']
The email id is a timestamp.
>>> mails = mailbox.getmails(['637553086207559378', '637553086352838482'])
>>> len(mails)
2
>>> mails[0]
{'key': '637553086207559378', 'value': 'DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.co.id; s=s2048; t=1619711818; bh=ffhpeYB/ObY5N0hGrQtyxG3MKCJQBhB7v8HKMpfmOjU=; h=Date:From:Reply-To:To:Subject:References:From:Subject:Reply-To; b=E2 TRUNCATED}
It will return list of {'key': mail id, 'value': raw mail content}
. If mailids
list is not supplied, it will return all email available after mailbox.getmailids()
.
>>> mail = mailbox.getmail('637553086207559378', raw=True)
>>> mail
'DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.co.id; s=s2048; t=1619711818; bh=ffhpeYB/ObY5N0hGrQtyxG3MKCJQBhB7v8HKMpfmOjU=; h=Date:From:Reply-To:To:Subject:References:From:Subject:Reply-To; b=E20 TRUNCATED'
Note: raw
parameter is not useful now. I will improve the email parsing it in the future.
>>> mailbox.delmail('637553086207559378')
{'success': True, 'errors': None, 'result': True}
>>> mailbox.getmail('637553086207559378', raw=True) # return None
>>> mailbox.getmailids()
['637553086352838482']
TBD:
- Empty mailbox
- Convert timestamp to Date Time
- Save credentials
- Refactor code