diff options
author | noptuno <repollo.marrero@gmail.com> | 2023-04-28 12:33:51 +0200 |
---|---|---|
committer | noptuno <repollo.marrero@gmail.com> | 2023-04-28 12:33:51 +0200 |
commit | 396d7e11b2623cf05c3b0fd4ff9b6cce667835fd (patch) | |
tree | 4d7f4531e082deba4fb6bac7e5b221d887e066d9 /quora/mail.py | |
parent | Remove ignored files from repository (diff) | |
parent | Merge pull request #241 from ethanx40/main (diff) | |
download | gpt4free-396d7e11b2623cf05c3b0fd4ff9b6cce667835fd.tar gpt4free-396d7e11b2623cf05c3b0fd4ff9b6cce667835fd.tar.gz gpt4free-396d7e11b2623cf05c3b0fd4ff9b6cce667835fd.tar.bz2 gpt4free-396d7e11b2623cf05c3b0fd4ff9b6cce667835fd.tar.lz gpt4free-396d7e11b2623cf05c3b0fd4ff9b6cce667835fd.tar.xz gpt4free-396d7e11b2623cf05c3b0fd4ff9b6cce667835fd.tar.zst gpt4free-396d7e11b2623cf05c3b0fd4ff9b6cce667835fd.zip |
Diffstat (limited to 'quora/mail.py')
-rw-r--r-- | quora/mail.py | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/quora/mail.py b/quora/mail.py new file mode 100644 index 00000000..e6ce96c2 --- /dev/null +++ b/quora/mail.py @@ -0,0 +1,82 @@ +from json import loads +from re import findall +from time import sleep + +from fake_useragent import UserAgent +from requests import Session + + +class Emailnator: + def __init__(self) -> None: + self.client = Session() + self.client.get("https://www.emailnator.com/", timeout=6) + self.cookies = self.client.cookies.get_dict() + + self.client.headers = { + "authority": "www.emailnator.com", + "origin": "https://www.emailnator.com", + "referer": "https://www.emailnator.com/", + "user-agent": UserAgent().random, + "x-xsrf-token": self.client.cookies.get("XSRF-TOKEN")[:-3] + "=", + } + + self.email = None + + def get_mail(self): + response = self.client.post( + "https://www.emailnator.com/generate-email", + json={ + "email": [ + "domain", + "plusGmail", + "dotGmail", + ] + }, + ) + + self.email = loads(response.text)["email"][0] + return self.email + + def get_message(self): + print("Waiting for message...") + + while True: + sleep(2) + mail_token = self.client.post( + "https://www.emailnator.com/message-list", json={"email": self.email} + ) + + mail_token = loads(mail_token.text)["messageData"] + + if len(mail_token) == 2: + print("Message received!") + print(mail_token[1]["messageID"]) + break + + mail_context = self.client.post( + "https://www.emailnator.com/message-list", + json={ + "email": self.email, + "messageID": mail_token[1]["messageID"], + }, + ) + + return mail_context.text + + def get_verification_code(self): + message = self.get_message() + code = findall(r';">(\d{6,7})</div>', message)[0] + print(f"Verification code: {code}") + return code + + def clear_inbox(self): + print("Clearing inbox...") + self.client.post( + "https://www.emailnator.com/delete-all", + json={"email": self.email}, + ) + print("Inbox cleared!") + + def __del__(self): + if self.email: + self.clear_inbox() |