import time import re from config import Config import requests class EmailVerificationHandler: def __init__(self): self.username = Config().get_temp_mail() self.session = requests.Session() self.emailExtension = "@mailto.plus" def get_verification_code(self): code = None try: print("正在处理...") # 等待并获取最新邮件 code, first_id = self._get_latest_mail_code() # 清理邮件 self._cleanup_mail(first_id) except Exception as e: print(f"获取验证码失败: {str(e)}") return code # 手动输入验证码 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_response = self.session.get(mail_list_url) mail_list_data = mail_list_response.json() time.sleep(0.5) if not mail_list_data.get("result"): return None, None # 获取最新邮件的ID first_id = mail_list_data.get("first_id") if not first_id: return None, None # 获取具体邮件内容 mail_detail_url = f"https://tempmail.plus/api/mails/{first_id}?email={self.username}{self.emailExtension}&epin=" mail_detail_response = self.session.get(mail_detail_url) mail_detail_data = mail_detail_response.json() time.sleep(0.5) if not mail_detail_data.get("result"): return None, None # 从邮件文本中提取6位数字验证码 mail_text = mail_detail_data.get("text", "") # 修改正则表达式,确保 6 位数字不紧跟在字母或域名相关符号后面 code_match = re.search(r"(?