summaryrefslogtreecommitdiffstats
path: root/quora/mail.py
blob: a830502e043ea998e3eacdea28ab62f7e9fee8f2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
from requests import Session
from time     import sleep
from re       import search, findall
from json     import loads

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'     : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36 Edg/101.0.1722.39',
            '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 code...")
        
        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(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

# mail_client  = Emailnator()
# mail_adress  = mail_client.get_mail()

# print(mail_adress)

# mail_content = mail_client.get_message()

# print(mail_content)

# code = findall(r';">(\d{6,7})</div>', mail_content)[0]
# print(code)