From a485cfb180094f14b3fe27ea218d2890033768a3 Mon Sep 17 00:00:00 2001 From: "t.me/xtekky" <98614666+xtekky@users.noreply.github.com> Date: Thu, 20 Apr 2023 15:34:19 +0100 Subject: unfinished api's (help is welcome) --- unfinished/openprompt/mail.py | 109 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 unfinished/openprompt/mail.py (limited to 'unfinished/openprompt/mail.py') diff --git a/unfinished/openprompt/mail.py b/unfinished/openprompt/mail.py new file mode 100644 index 00000000..082ac9fb --- /dev/null +++ b/unfinished/openprompt/mail.py @@ -0,0 +1,109 @@ +import requests +import email + +class MailClient: + + def __init__(self): + self.username = None + self.token = None + self.raw = None + self.mailids = None + self.mails = None + self.mail = None + + def create(self, force=False): + headers = { + 'accept': 'application/json', + } + + if self.username: + pass + else: + self.response = requests.put( + 'https://www.developermail.com/api/v1/mailbox', headers=headers) + self.response = self.response.json() + self.username = self.response['result']['name'] + self.token = self.response['result']['token'] + + return {'username': self.username, 'token': self.token} + + def destroy(self): + headers = { + 'accept': 'application/json', + 'X-MailboxToken': self.token, + } + self.response = requests.delete( + f'https://www.developermail.com/api/v1/mailbox/{self.username}', headers=headers) + self.response = self.response.json() + self.username = None + self.token = None + return self.response + + def newtoken(self): + headers = { + 'accept': 'application/json', + 'X-MailboxToken': self.token, + } + self.response = requests.put( + f'https://www.developermail.com/api/v1/mailbox/{self.username}/token', headers=headers) + self.response = self.response.json() + self.token = self.response['result']['token'] + return {'username': self.username, 'token': self.token} + + def getmailids(self): + headers = { + 'accept': 'application/json', + 'X-MailboxToken': self.token, + } + + self.response = requests.get( + f'https://www.developermail.com/api/v1/mailbox/{self.username}', headers=headers) + self.response = self.response.json() + self.mailids = self.response['result'] + return self.mailids + + def getmails(self, mailids: list = None): + headers = { + 'accept': 'application/json', + 'X-MailboxToken': self.token, + 'Content-Type': 'application/json', + } + + if mailids is None: + mailids = self.mailids + + data = str(mailids) + + self.response = requests.post( + f'https://www.developermail.com/api/v1/mailbox/{self.username}/messages', headers=headers, data=data) + self.response = self.response.json() + self.mails = self.response['result'] + return self.mails + + def getmail(self, mailid: str, raw=False): + headers = { + 'accept': 'application/json', + 'X-MailboxToken': self.token, + } + self.response = requests.get( + f'https://www.developermail.com/api/v1/mailbox/{self.username}/messages/{mailid}', headers=headers) + self.response = self.response.json() + self.mail = self.response['result'] + if raw is False: + self.mail = email.message_from_string(self.mail) + return self.mail + + def delmail(self, mailid: str): + headers = { + 'accept': 'application/json', + 'X-MailboxToken': self.token, + } + self.response = requests.delete( + f'https://www.developermail.com/api/v1/mailbox/{self.username}/messages/{mailid}', headers=headers) + self.response = self.response.json() + return self.response + + +client = MailClient() +client.newtoken() +print(client.getmails()) \ No newline at end of file -- cgit v1.2.3