Merge pull request #144 from LOVECHEN/main

Support temporary email PIN code rate and modify the suffix, and by default install PyInstaller.
This commit is contained in:
Journey
2025-02-04 14:49:31 +08:00
committed by GitHub
4 changed files with 24 additions and 5 deletions

View File

@@ -1,9 +1,16 @@
# 你的CF路由填写的域名
DOMAIN=xxxxx.me DOMAIN=xxxxx.me
# 邮件服务地址
# 注册临时邮件服务 https://tempmail.plus
TEMP_MAIL=xxxxxx TEMP_MAIL=xxxxxx
# 设置的PIN码
TEMP_MAIL_EPIN=xxxxxx
# 使用的后缀
TEMP_MAIL_EXT=@mailto.plus
BROWSER_USER_AGENT=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.92 Safari/537.36 BROWSER_USER_AGENT=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.92 Safari/537.36
# 代理 # 代理
# BROWSER_PROXY='http://127.0.0.1:2080' # BROWSER_PROXY='http://127.0.0.1:2080'
# 无头模式 # 无头模式 默认开启
# BROWSER_HEADLESS='True' # BROWSER_HEADLESS='True'

View File

@@ -25,6 +25,8 @@ class Config:
self.imap = False self.imap = False
self.temp_mail = os.getenv("TEMP_MAIL", "").strip().split("@")[0] self.temp_mail = os.getenv("TEMP_MAIL", "").strip().split("@")[0]
self.temp_mail_epin = os.getenv("TEMP_MAIL_EPIN", "").strip()
self.temp_mail_ext = os.getenv("TEMP_MAIL_EXT", "").strip()
self.domain = os.getenv("DOMAIN", "").strip() self.domain = os.getenv("DOMAIN", "").strip()
# 如果临时邮箱为null则加载IMAP # 如果临时邮箱为null则加载IMAP
@@ -42,6 +44,14 @@ class Config:
return self.temp_mail return self.temp_mail
def get_temp_mail_epin(self):
return self.temp_mail_epin
def get_temp_mail_ext(self):
return self.temp_mail_ext
def get_imap(self): def get_imap(self):
if not self.imap: if not self.imap:
return False return False

View File

@@ -11,8 +11,9 @@ class EmailVerificationHandler:
def __init__(self): def __init__(self):
self.imap = Config().get_imap() self.imap = Config().get_imap()
self.username = Config().get_temp_mail() self.username = Config().get_temp_mail()
self.epin = Config().get_temp_mail_epin()
self.session = requests.Session() self.session = requests.Session()
self.emailExtension = "@mailto.plus" self.emailExtension = Config().get_temp_mail_ext()
def get_verification_code(self): def get_verification_code(self):
code = None code = None
@@ -111,7 +112,7 @@ class EmailVerificationHandler:
# 手动输入验证码 # 手动输入验证码
def _get_latest_mail_code(self): def _get_latest_mail_code(self):
# 获取邮件列表 # 获取邮件列表
mail_list_url = f"https://tempmail.plus/api/mails?email={self.username}{self.emailExtension}&limit=20&epin=" mail_list_url = f"https://tempmail.plus/api/mails?email={self.username}{self.emailExtension}&limit=20&epin={self.epin}"
mail_list_response = self.session.get(mail_list_url) mail_list_response = self.session.get(mail_list_url)
mail_list_data = mail_list_response.json() mail_list_data = mail_list_response.json()
time.sleep(0.5) time.sleep(0.5)
@@ -124,7 +125,7 @@ class EmailVerificationHandler:
return None, None return None, None
# 获取具体邮件内容 # 获取具体邮件内容
mail_detail_url = f"https://tempmail.plus/api/mails/{first_id}?email={self.username}{self.emailExtension}&epin=" mail_detail_url = f"https://tempmail.plus/api/mails/{first_id}?email={self.username}{self.emailExtension}&epin={self.epin}"
mail_detail_response = self.session.get(mail_detail_url) mail_detail_response = self.session.get(mail_detail_url)
mail_detail_data = mail_detail_response.json() mail_detail_data = mail_detail_response.json()
time.sleep(0.5) time.sleep(0.5)
@@ -146,7 +147,7 @@ class EmailVerificationHandler:
payload = { payload = {
"email": f"{self.username}{self.emailExtension}", "email": f"{self.username}{self.emailExtension}",
"first_id": first_id, "first_id": first_id,
"epin": "", "epin": f"{self.epin}",
} }
# 最多尝试5次 # 最多尝试5次

View File

@@ -1,3 +1,4 @@
DrissionPage==4.1.0.9 DrissionPage==4.1.0.9
colorama==0.4.6 colorama==0.4.6
python-dotenv==1.0.0 python-dotenv==1.0.0
pyinstaller