(state)
| 5534 | // ============================================================ |
| 5535 | |
| 5536 | function getMailConfig(state) { |
| 5537 | const provider = state.mailProvider || 'qq'; |
| 5538 | if (provider === 'custom') { |
| 5539 | return { provider: 'custom', label: '自定义邮箱' }; |
| 5540 | } |
| 5541 | if (provider === HOTMAIL_PROVIDER) { |
| 5542 | return { provider: HOTMAIL_PROVIDER, label: 'Hotmail(API对接/本地助手)' }; |
| 5543 | } |
| 5544 | if (provider === ICLOUD_PROVIDER) { |
| 5545 | const configuredHost = getConfiguredIcloudHostPreference(state) |
| 5546 | || normalizeIcloudHost(state?.preferredIcloudHost) |
| 5547 | || 'icloud.com'; |
| 5548 | const loginUrl = getIcloudLoginUrlForHost(configuredHost) || 'https://www.icloud.com/'; |
| 5549 | const mailUrl = getIcloudMailUrlForHost(configuredHost) || loginUrl; |
| 5550 | return { |
| 5551 | source: 'icloud-mail', |
| 5552 | url: mailUrl, |
| 5553 | label: 'iCloud 邮箱', |
| 5554 | navigateOnReuse: true, |
| 5555 | }; |
| 5556 | } |
| 5557 | if (provider === GMAIL_PROVIDER) { |
| 5558 | return { |
| 5559 | source: 'gmail-mail', |
| 5560 | url: 'https://mail.google.com/mail/u/0/#inbox', |
| 5561 | label: 'Gmail 邮箱', |
| 5562 | inject: ['content/activation-utils.js', 'content/utils.js', 'content/gmail-mail.js'], |
| 5563 | injectSource: 'gmail-mail', |
| 5564 | }; |
| 5565 | } |
| 5566 | if (provider === LUCKMAIL_PROVIDER) { |
| 5567 | return { provider: LUCKMAIL_PROVIDER, label: 'LuckMail(API 购邮)' }; |
| 5568 | } |
| 5569 | if (provider === CLOUDFLARE_TEMP_EMAIL_PROVIDER) { |
| 5570 | return { provider: CLOUDFLARE_TEMP_EMAIL_PROVIDER, label: 'Cloudflare Temp Email' }; |
| 5571 | } |
| 5572 | if (provider === '163') { |
| 5573 | return { source: 'mail-163', url: 'https://mail.163.com/js6/main.jsp?df=mail163_letter#module=mbox.ListModule%7C%7B%22fid%22%3A1%2C%22order%22%3A%22date%22%2C%22desc%22%3Atrue%7D', label: '163 邮箱' }; |
| 5574 | } |
| 5575 | if (provider === '163-vip') { |
| 5576 | return { source: 'mail-163', url: 'https://webmail.vip.163.com/js6/main.jsp?df=mail163_letter#module=mbox.ListModule%7C%7B%22fid%22%3A1%2C%22order%22%3A%22date%22%2C%22desc%22%3Atrue%7D', label: '163 VIP 邮箱' }; |
| 5577 | } |
| 5578 | if (provider === 'inbucket') { |
| 5579 | const host = normalizeInbucketOrigin(state.inbucketHost); |
| 5580 | const mailbox = (state.inbucketMailbox || '').trim(); |
| 5581 | if (!host) { |
| 5582 | return { error: 'Inbucket 主机地址为空或无效。' }; |
| 5583 | } |
| 5584 | if (!mailbox) { |
| 5585 | return { error: 'Inbucket 邮箱名称为空。' }; |
| 5586 | } |
| 5587 | return { |
| 5588 | source: 'inbucket-mail', |
| 5589 | url: `${host}/m/${encodeURIComponent(mailbox)}/`, |
| 5590 | label: `Inbucket 邮箱(${mailbox})`, |
| 5591 | navigateOnReuse: true, |
| 5592 | inject: ['content/activation-utils.js', 'content/utils.js', 'content/inbucket-mail.js'], |
| 5593 | injectSource: 'inbucket-mail', |
no test coverage detected