1515from html import unescape
1616from typing import Optional , Dict , Any , List
1717
18- from .base import BaseEmailService , EmailServiceError , EmailServiceType , RateLimitedEmailServiceError
18+ from .base import BaseEmailService , EmailServiceError , EmailServiceType , RateLimitedEmailServiceError , get_email_code_settings
1919from ..core .http_client import HTTPClient , RequestConfig
2020from ..config .constants import OTP_CODE_PATTERN
2121
@@ -307,6 +307,7 @@ def get_verification_code(
307307 logger .info (f"正在从 TempMail 邮箱 { email } 获取验证码..." )
308308
309309 start_time = time .time ()
310+ poll_interval = get_email_code_settings ()["poll_interval" ]
310311 seen_mail_ids : set = set ()
311312
312313 # 优先使用用户级 JWT,回退到 admin API 先注释用户级API
@@ -332,7 +333,7 @@ def get_verification_code(
332333 # /user_api/mails 和 /admin/mails 返回格式相同: {"results": [...], "total": N}
333334 mails = response .get ("results" , [])
334335 if not isinstance (mails , list ):
335- time .sleep (3 )
336+ time .sleep (poll_interval )
336337 continue
337338
338339 ordered_mails = self ._sort_items_by_message_time (
@@ -381,7 +382,7 @@ def get_verification_code(
381382 except Exception as e :
382383 logger .debug (f"检查 TempMail 邮件时出错: { e } " )
383384
384- time .sleep (3 )
385+ time .sleep (poll_interval )
385386
386387 logger .warning (f"等待 TempMail 验证码超时: { email } " )
387388 return None
0 commit comments