(accountId)
| 1778 | } |
| 1779 | |
| 1780 | async function testHotmailAccountMailAccess(accountId) { |
| 1781 | const state = await getState(); |
| 1782 | const account = findHotmailAccount(state.hotmailAccounts, accountId); |
| 1783 | if (!account) { |
| 1784 | throw new Error('未找到需要测试的 Hotmail 账号。'); |
| 1785 | } |
| 1786 | |
| 1787 | const result = await fetchHotmailMailboxMessages(account, HOTMAIL_MAILBOXES); |
| 1788 | const latestMessage = getLatestHotmailMessage(result.messages); |
| 1789 | const latestCode = latestMessage ? extractVerificationCodeFromMessage(latestMessage) : null; |
| 1790 | |
| 1791 | return { |
| 1792 | account: result.account, |
| 1793 | accountId: result.account.id, |
| 1794 | email: result.account.email, |
| 1795 | messageCount: result.messages.length, |
| 1796 | latestSubject: latestMessage?.subject || '', |
| 1797 | latestMailbox: latestMessage?.mailbox || '', |
| 1798 | latestCode: latestCode || '', |
| 1799 | inboxCount: result.mailboxResults.find((item) => item.mailbox === 'INBOX')?.count || 0, |
| 1800 | junkCount: result.mailboxResults.find((item) => item.mailbox === 'Junk')?.count || 0, |
| 1801 | }; |
| 1802 | } |
| 1803 | |
| 1804 | async function pollHotmailVerificationCode(step, state, pollPayload = {}) { |
| 1805 | await addLog(`步骤 ${step}:正在确定 Hotmail 收信账号...`, 'info'); |
no test coverage detected