Temporary Email
Project description
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
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
xtempmail-0.10.tar.gz
(8.2 kB
view details)
File details
Details for the file xtempmail-0.10.tar.gz
.
File metadata
- Download URL: xtempmail-0.10.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8390037d91dea98d178882568b3690445d75256fad784150733e405998774e5 |
|
MD5 | 804a5320a2f9cfd78cc67220f0f16909 |
|
BLAKE2b-256 | a33200b2f61b0ae20e27f02059def364b9315bec8a48945a369ce967058634d9 |