用途:在多伦多大学校友/学生 Outlook 邮箱上实现无头邮件访问,基于 IMAP/SMTP 与 OAuth2 认证。
主要能力:列出邮件、读取指定邮件、查询未读、搜索邮件、列出文件夹、发送邮件。
认证方式:学校租户会阻止第三方 OAuth 应用并报 AADSTS65002(需管理员预授权同意)。该技能改用 Thunderbird 的预授权客户端 ID 9e5f94bc-e8a4-4e73-b8be-63364c29d753 建立连接,流程为设备代码认证 → macOS 钥匙串缓存令牌 → IMAP/SMTP。IMAP 使用 XOAUTH2 认证,作用域为 https://outlook.office.com/IMAP.AccessAsUser.All、https://outlook.office.com/SMTP.Send、offline_access、openid、profile、email。服务器:outlook.office365.com:993(SSL)与 smtp.office365.com:587(STARTTLS)。
使用方式:首次认证执行 uv run python outlook_university.py auth,按提示在 https://microsoft.com/devicelogin 输入代码;随后可用 whoami、list、read、search、folders 等子命令,或通过 Python API(OutlookClient 的 list_messages、get_unread、get_message、search、send、close)调用。
限制与安全:令牌存放在 macOS 钥匙串,不保存密码,仅用 OAuth2 刷新令牌;邮件正文截断至 2000 字符以防上下文溢出;输出会清理 ANSI 转义码。该客户端 ID 为公开值。其他平台兼容性与收费信息暂未提供。