diff options
author | t.me/xtekky <98614666+xtekky@users.noreply.github.com> | 2023-04-27 11:34:05 +0200 |
---|---|---|
committer | t.me/xtekky <98614666+xtekky@users.noreply.github.com> | 2023-04-27 11:34:05 +0200 |
commit | 98d2b4109e8cd06ffd46ce9fe747bf889a4e7fff (patch) | |
tree | 2ad018b50660a2e6ec397a71f07c6c937071fc62 /forefront/mail.py | |
parent | Update main.py (diff) | |
download | gpt4free-98d2b4109e8cd06ffd46ce9fe747bf889a4e7fff.tar gpt4free-98d2b4109e8cd06ffd46ce9fe747bf889a4e7fff.tar.gz gpt4free-98d2b4109e8cd06ffd46ce9fe747bf889a4e7fff.tar.bz2 gpt4free-98d2b4109e8cd06ffd46ce9fe747bf889a4e7fff.tar.lz gpt4free-98d2b4109e8cd06ffd46ce9fe747bf889a4e7fff.tar.xz gpt4free-98d2b4109e8cd06ffd46ce9fe747bf889a4e7fff.tar.zst gpt4free-98d2b4109e8cd06ffd46ce9fe747bf889a4e7fff.zip |
Diffstat (limited to 'forefront/mail.py')
-rw-r--r-- | forefront/mail.py | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/forefront/mail.py b/forefront/mail.py new file mode 100644 index 00000000..64694e74 --- /dev/null +++ b/forefront/mail.py @@ -0,0 +1,55 @@ +from requests import Session +from string import ascii_letters +from random import choices + +class Mail: + def __init__(self, proxies: dict = None) -> None: + self.client = Session() + self.client.proxies = proxies + self.client.headers = { + "host": "api.mail.tm", + "connection": "keep-alive", + "sec-ch-ua": "\"Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111\"", + "accept": "application/json, text/plain, */*", + "content-type": "application/json", + "sec-ch-ua-mobile": "?0", + "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36", + "sec-ch-ua-platform": "\"macOS\"", + "origin": "https://mail.tm", + "sec-fetch-site": "same-site", + "sec-fetch-mode": "cors", + "sec-fetch-dest": "empty", + "referer": "https://mail.tm/", + "accept-encoding": "gzip, deflate, br", + "accept-language": "en-GB,en-US;q=0.9,en;q=0.8" + } + + def get_mail(self) -> str: + token = ''.join(choices(ascii_letters, k=14)).lower() + init = self.client.post("https://api.mail.tm/accounts", json={ + "address" : f"{token}@bugfoo.com", + "password": token + }) + + if init.status_code == 201: + resp = self.client.post("https://api.mail.tm/token", json = { + **init.json(), + "password": token + }) + + self.client.headers['authorization'] = 'Bearer ' + resp.json()['token'] + + return f"{token}@bugfoo.com" + + else: + raise Exception("Failed to create email") + + def fetch_inbox(self): + return self.client.get(f"https://api.mail.tm/messages").json()["hydra:member"] + + def get_message(self, message_id: str): + return self.client.get(f"https://api.mail.tm/messages/{message_id}").json() + + def get_message_content(self, message_id: str): + return self.get_message(message_id)["text"] + |