HouYunFei commited on
Commit
2d586b8
·
2 Parent(s): b75394773d7212

Merge branch 'fork/Fengsuid/feature/ddg-mail-provider'

Browse files
services/register/mail_provider.py CHANGED
@@ -289,6 +289,7 @@ class DDGMailProvider(BaseMailProvider):
289
 
290
  def __init__(self, entry: dict, conf: dict):
291
  super().__init__(conf, str(entry.get("provider_ref") or ""))
 
292
  self.ddg_token = str(entry["ddg_token"]).strip()
293
  self.cf_api_base = str(entry.get("api_base") or entry.get("cf_api_base") or "").rstrip("/")
294
  self.cf_inbox_jwt = str(entry.get("cf_inbox_jwt") or "").strip()
@@ -349,14 +350,14 @@ class DDGMailProvider(BaseMailProvider):
349
  ddg_address = f"{ddg_address_part}@duck.com"
350
 
351
  if _is_ddg_alias_duplicate(ddg_address):
352
- raise RuntimeError(f"DDG日上限已达,别名 {ddg_address} 已存在,自动切换邮箱提供商")
353
 
354
  _record_ddg_alias(ddg_address)
355
 
356
  if not self.cf_inbox_jwt:
357
  raise RuntimeError("DDGMail 需要 cf_inbox_jwt(DDG 转发目标的固定收件箱 JWT),请在邮箱配置中填写 CF Inbox JWT")
358
 
359
- return {"provider": self.name, "provider_ref": self.provider_ref, "address": ddg_address, "token": self.cf_inbox_jwt}
360
 
361
  def _parse_raw_recipient(self, raw_text: str) -> str:
362
  if not raw_text:
@@ -777,7 +778,16 @@ class YydsMailProvider(BaseMailProvider):
777
 
778
 
779
  def _entries(mail_config: dict) -> list[dict]:
780
- return [{**item, "provider_ref": f"{item['type']}#{index + 1}"} for index, item in enumerate(mail_config["providers"])]
 
 
 
 
 
 
 
 
 
781
 
782
 
783
  def _enabled_entries(mail_config: dict) -> list[dict]:
 
289
 
290
  def __init__(self, entry: dict, conf: dict):
291
  super().__init__(conf, str(entry.get("provider_ref") or ""))
292
+ self.label = str(entry.get("label") or self.provider_ref)
293
  self.ddg_token = str(entry["ddg_token"]).strip()
294
  self.cf_api_base = str(entry.get("api_base") or entry.get("cf_api_base") or "").rstrip("/")
295
  self.cf_inbox_jwt = str(entry.get("cf_inbox_jwt") or "").strip()
 
350
  ddg_address = f"{ddg_address_part}@duck.com"
351
 
352
  if _is_ddg_alias_duplicate(ddg_address):
353
+ raise RuntimeError(f"[{self.label}] DDG日上限已达,别名 {ddg_address} 已存在,自动切换邮箱提供商")
354
 
355
  _record_ddg_alias(ddg_address)
356
 
357
  if not self.cf_inbox_jwt:
358
  raise RuntimeError("DDGMail 需要 cf_inbox_jwt(DDG 转发目标的固定收件箱 JWT),请在邮箱配置中填写 CF Inbox JWT")
359
 
360
+ return {"provider": self.name, "provider_ref": self.provider_ref, "address": ddg_address, "token": self.cf_inbox_jwt, "label": self.label}
361
 
362
  def _parse_raw_recipient(self, raw_text: str) -> str:
363
  if not raw_text:
 
778
 
779
 
780
  def _entries(mail_config: dict) -> list[dict]:
781
+ result: list[dict] = []
782
+ counters: dict[str, int] = {}
783
+ for item in mail_config["providers"]:
784
+ idx = len(result) + 1
785
+ t = item.get("type", "")
786
+ cnt = counters.get(t, 0) + 1
787
+ counters[t] = cnt
788
+ label = f"DDG-{cnt}" if t == "ddg_mail" else f"{t}#{idx}"
789
+ result.append({**item, "provider_ref": f"{item['type']}#{idx}", "label": label})
790
+ return result
791
 
792
 
793
  def _enabled_entries(mail_config: dict) -> list[dict]:
services/register/openai_register.py CHANGED
@@ -690,7 +690,8 @@ class PlatformRegistrar:
690
  email = str(mailbox.get("address") or "").strip()
691
  if not email:
692
  raise RuntimeError("邮箱服务未返回 address")
693
- step(index, f"邮箱创建完成: {email}")
 
694
  password = _random_password()
695
  first_name, last_name = _random_name()
696
  self._platform_authorize(email, index)
 
690
  email = str(mailbox.get("address") or "").strip()
691
  if not email:
692
  raise RuntimeError("邮箱服务未返回 address")
693
+ label = str(mailbox.get("label") or "")
694
+ step(index, f"邮箱创建完成[{label}]: {email}")
695
  password = _random_password()
696
  first_name, last_name = _random_name()
697
  self._platform_authorize(email, index)