summaryrefslogtreecommitdiffstats
path: root/quora/mail.py
diff options
context:
space:
mode:
Diffstat (limited to 'quora/mail.py')
-rw-r--r--quora/mail.py83
1 files changed, 30 insertions, 53 deletions
diff --git a/quora/mail.py b/quora/mail.py
index d4aeb564..07f7093a 100644
--- a/quora/mail.py
+++ b/quora/mail.py
@@ -1,62 +1,39 @@
-from requests import Session
-from string import ascii_letters
-from random import choices
+import html
+import json
+from tls_client import Session
class Mail:
- def __init__(self, proxies: dict = None) -> None:
- self.client = Session()
- self.client.proxies = None #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 __init__(self, proxies: str = None, timeout: int = 15, bearer_token: str or None = None) -> None:
+ self.session = Session(client_identifier='chrome110')
+ self.base_url = 'https://web2.temp-mail.org'
+ self.proxies = proxies
+ self.timeout = timeout
+ self.session.headers['authorization'] = f'Bearer {bearer_token}' if bearer_token else None
+
def get_mail(self) -> str:
- token = ''.join(choices(ascii_letters, k=10)).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"
+ status: html = self.session.get(self.base_url).status_code
- 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()
+ try:
+ if status == 200:
+ data = self.session.post(f'{self.base_url}/mailbox').json()
+ self.session.headers['authorization'] = f'Bearer {data["token"]}'
+ return data["token"], data["mailbox"]
+
+ except Exception as e:
+ print(e)
+ return f'Email creation error. {e} | use proxies', False
+
+ def fetch_inbox(self) -> json:
+ return self.session.get(f'{self.base_url}/messages').json()
+
def get_message_content(self, message_id: str):
- return self.get_message(message_id)["text"]
+ return self.session.get(f'{self.base_url}/messages/{message_id}').json()["bodyHtml"]
+# if __name__ == '__main__':
-# if __name__ == "__main__":
-# client = Mail()
-# client.get_mail()
-
- \ No newline at end of file
+# email_client = TempMail()
+# token, email = email_client.get_mail()
+# print(email)
+# print(token) \ No newline at end of file