# 2925 OpenAI alias-code polling lessons — 2026-05-11 Session outcome: OpenAI email verification did not pass, so SMS purchase was intentionally skipped. Reusable lessons: 1. 2925 account-pool binding worked: generated alias local-part started with the selected account local-part, and the visible Webmail top account matched the selected account before polling. 2. OpenAI/ChatGPT verification mail can be classified into 2925 `垃圾箱` instead of `收件箱`. 3. `垃圾箱` and `已删除` can contain many stale OpenAI codes for older aliases. A visible 6-digit code is not enough. 4. A stale code from `垃圾箱` was submitted and OpenAI returned `代码不正确`. 5. After clicking `重新发送电子邮件`, no new message matching the current alias/local-part appeared within the tested polling window. 6. Therefore, future runs must stop before Luban/5sim phone purchase if current-alias email verification cannot be proven. Operational rule: - Candidate mail must contain the current generated alias local-part (e.g. `chickliu2026rigm1r`) or otherwise be bound to the current run by an unambiguous timestamp/window. - Use `scripts/mail2925_poll_alias_code.py` rather than grabbing the first 6-digit code from the page. - Poll at least `收件箱` and `垃圾箱`; treat `已删除` as diagnostic only unless current-alias matching is strict. - Maintain `rejectedCodes` after OpenAI returns invalid code and pass them as `--reject-code` to the poller. Example: ```bash python3 scripts/mail2925_poll_alias_code.py \ --cdp-port 9227 \ --account chickliu2026@2925.com \ --alias chickliu2026rigm1r@2925.com \ --folders inbox,junk \ --reject-code '[REDACTED]' \ --out-file /tmp/openai_2925_email_code.txt ``` Do not print the saved code.