Temporary Mail
Tempmail client for tempmail.plus
Installation
$ pip install git+https://github.com/krypton-byte/xtempmail
Feature
- Custom Name/Mail
- Reply/send Message(support attachment file)
- Read Message (support Download attachment file)
- Delete message
- Destroy Inbox
- Lock Inbox
- Unlock Inbox
- Generate Secret Inbox
- Asynchronous
- Synchronous
Example
example/main.py
Usage Sync
from xtempmail import Email, extension
import logging
from xtempmail.mail import EmailMessage, EMAIL
log = logging.getLogger('xtempmail')
log.setLevel(logging.INFO)
app = Email(name='krypton', ext=ext=EMAIL.MAILTO_PLUS))
@app.on.message()
def baca(data: EmailMessage):
print(f"\tFrom: {data.from_mail}\n\tSubject: {data.subject}\n\tBody: {data.text}\n\tReply -> Delete")
ok = []
for i in data.attachments: # -> Forward attachment
ok.append(( i.name, i.download()))
if data.from_is_local:
data.from_mail.send_message(data.subject, data.text, multiply_file=ok) # -> Forward message
data.delete() #delete message
@app.on.message(lambda msg:msg.attachments)
def get_message_media(data: EmailMessage):
print(f'Attachment: {[i.name for i in data.attachments]}')
@app.on.message(lambda x:x.from_mail.__str__().endswith('@gmail.com'))
def getGmailMessage(data: EmailMessage):
print(f'Gmail: {data.from_mail}')
if __name__ == '__main__':
try:
app.listen_new_message(1)
except KeyboardInterrupt:
app.destroy() #destroy inbox
Usage Async
import asyncio
import logging
from xtempmail.aiomail import EMAIL, EmailMessage, Email
log = logging.getLogger('xtempmail')
log.setLevel(logging.INFO)
app = Email(name='krypton', ext=EMAIL.MAILTO_PLUS)
@app.on.message()
async def baca(data: EmailMessage):
print(f"\tFrom: {data.from_mail}\n\tSubject: {data.subject}\n\tBody: {data.text}\n\tReply -> Delete")
ok = []
for i in data.attachments: # -> Forward attachmen
ok.append(( i.name, await i.download()))
if data.from_is_local:
await data.from_mail.send_message(data.subject, data.text, multiply_file=ok) # -> Forward message
await data.delete() #delete message
@app.on.message(lambda msg:msg.attachments)
async def get_message_media(data: EmailMessage):
print(f'Attachment: {[i.name for i in data.attachments]}')
@app.on.message(lambda x:x.from_mail.__str__().endswith('@gmail.com'))
async def getGmailMessage(data: EmailMessage):
print(f'Gmail: {data.from_mail}')
if __name__ == '__main__':
try:
loop = asyncio.new_event_loop()
loop.run_until_complete(app.listen())
except Exception:
asyncio.run(app.destroy())
Demo
Metadata
Release files for xtempmail 0.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| xtempmail-0.10.tar.gz | 8.2 kB | Details |
Release files / xtempmail-0.10.tar.gz
| Download URL | xtempmail-0.10.tar.gz |
|---|---|
| Size | 8.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a8390037d91dea98d178882568b3690445d75256fad784150733e405998774e5
|
|
BLAKE2b-256 checksum How to use checksums |
a33200b2f61b0ae20e27f02059def364b9315bec8a48945a369ce967058634d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.0
|