monra's picture
Adds all providers from the original API
d4adf88
raw
history blame
4.47 kB
import requests
import random
import string
import time
import sys
import re
import os
def check_email(mail, logging: bool = False):
username = mail.split("@")[0]
domain = mail.split("@")[1]
reqLink = f"https://www.1secmail.com/api/v1/?action=getMessages&login={username}&domain={domain}"
req = requests.get(reqLink)
req.encoding = req.apparent_encoding
req = req.json()
length = len(req)
if logging:
os.system("cls" if os.name == "nt" else "clear")
time.sleep(1)
print("Your temporary mail:", mail)
if logging and length == 0:
print(
"Mailbox is empty. Hold tight. Mailbox is refreshed automatically every 5 seconds.",
)
else:
messages = []
id_list = []
for i in req:
for k, v in i.items():
if k == "id":
id_list.append(v)
x = "mails" if length > 1 else "mail"
if logging:
print(
f"Mailbox has {length} {x}. (Mailbox is refreshed automatically every 5 seconds.)"
)
for i in id_list:
msgRead = f"https://www.1secmail.com/api/v1/?action=readMessage&login={username}&domain={domain}&id={i}"
req = requests.get(msgRead)
req.encoding = req.apparent_encoding
req = req.json()
for k, v in req.items():
if k == "from":
sender = v
if k == "subject":
subject = v
if k == "date":
date = v
if k == "textBody":
content = v
if logging:
print(
"Sender:",
sender,
"\nTo:",
mail,
"\nSubject:",
subject,
"\nDate:",
date,
"\nContent:",
content,
"\n",
)
messages.append(
{
"sender": sender,
"to": mail,
"subject": subject,
"date": date,
"content": content,
}
)
if logging:
os.system("cls" if os.name == "nt" else "clear")
return messages
def create_email(custom_domain: bool = False, logging: bool = False):
domainList = ["1secmail.com", "1secmail.net", "1secmail.org"]
domain = random.choice(domainList)
try:
if custom_domain:
custom_domain = input(
"\nIf you enter 'my-test-email' as your domain name, mail address will look like this: 'my-test-email@1secmail.com'"
"\nEnter the name that you wish to use as your domain name: "
)
newMail = f"https://www.1secmail.com/api/v1/?login={custom_domain}&domain={domain}"
reqMail = requests.get(newMail)
reqMail.encoding = reqMail.apparent_encoding
username = re.search(r"login=(.*)&", newMail).group(1)
domain = re.search(r"domain=(.*)", newMail).group(1)
mail = f"{username}@{domain}"
if logging:
print("\nYour temporary email was created successfully:", mail)
return mail
else:
name = string.ascii_lowercase + string.digits
random_username = "".join(random.choice(name) for i in range(10))
newMail = f"https://www.1secmail.com/api/v1/?login={random_username}&domain={domain}"
reqMail = requests.get(newMail)
reqMail.encoding = reqMail.apparent_encoding
username = re.search(r"login=(.*)&", newMail).group(1)
domain = re.search(r"domain=(.*)", newMail).group(1)
mail = f"{username}@{domain}"
if logging:
print("\nYour temporary email was created successfully:", mail)
return mail
except KeyboardInterrupt:
requests.post(
"https://www.1secmail.com/mailbox",
data={
"action": "deleteMailbox",
"login": f"{username}",
"domain": f"{domain}",
},
)
if logging:
print("\nKeyboard Interrupt Detected! \nTemporary mail was disposed!")
os.system("cls" if os.name == "nt" else "clear")