feat: 重构优化2925邮箱和gmail邮箱逻辑

This commit is contained in:
QLHazyCoder
2026-04-17 11:33:02 +08:00
parent 6bd00e9129
commit 511cfcfcc7
10 changed files with 711 additions and 41 deletions
+26
View File
@@ -4,6 +4,7 @@
function createGeneratedEmailHelpers(deps = {}) {
const {
addLog,
buildGeneratedAliasEmail,
buildCloudflareTempEmailHeaders,
CLOUDFLARE_TEMP_EMAIL_GENERATOR,
DUCK_AUTOFILL_URL,
@@ -16,6 +17,7 @@
normalizeCloudflareDomain,
normalizeCloudflareTempEmailAddress,
normalizeEmailGenerator,
isGeneratedAliasProvider,
reuseOrCreateTab,
sendToContentScript,
setEmailState,
@@ -185,8 +187,32 @@
return result.email;
}
async function fetchManagedAliasEmail(state, options = {}) {
throwIfStopped();
const provider = String(options.mailProvider || state?.mailProvider || '').trim().toLowerCase();
const mergedState = {
...(state || {}),
mailProvider: provider,
};
if (options.gmailBaseEmail !== undefined) {
mergedState.gmailBaseEmail = String(options.gmailBaseEmail || '').trim();
}
if (options.mail2925BaseEmail !== undefined) {
mergedState.mail2925BaseEmail = String(options.mail2925BaseEmail || '').trim();
}
const email = buildGeneratedAliasEmail(mergedState);
await setEmailState(email);
await addLog(`${provider === 'gmail' ? 'Gmail +tag' : '2925'}:已生成 ${email}`, 'ok');
return email;
}
async function fetchGeneratedEmail(state, options = {}) {
const currentState = state || await getState();
const provider = String(options.mailProvider || currentState.mailProvider || '').trim().toLowerCase();
if (isGeneratedAliasProvider?.(provider)) {
return fetchManagedAliasEmail(currentState, options);
}
const generator = normalizeEmailGenerator(options.generator ?? currentState.emailGenerator);
if (generator === 'custom') {
throw new Error('当前邮箱生成方式为自定义邮箱,请直接填写注册邮箱。');