Skip to content

Add stdOutlook for native Outlook data access and mail submission - #189

Open
sancarn wants to merge 2 commits into
masterfrom
codex/stdoutlook
Open

sancarn wants to merge 2 commits into
masterfrom
codex/stdoutlook

Conversation

@sancarn

@sancarn sancarn commented Nov 10, 2026

Copy link
Copy Markdown
Owner

Reading Outlook identity and contact details through guarded automation can require repeated timed approvals. This adds a single importable stdOutlook class that reads profile identity, address books, Inbox messages and calendar entries through Extended MAPI, and submits plain-text or UTF-8 HTML mail with To/CC/BCC.

After submission, the default synchronization path calls Outlook's unguarded NameSpace.SendAndReceive, starting Outlook when needed and verifying the default store matches. Native FlushQueues remains available. Synchronization errors are reported separately so a successfully queued email is not submitted again.

The contribution uses the predeclared Create/protInit pattern, TThis state, structured member documentation, a usage guide and changelog entries. It has no runtime dependency on other stdVBA classes or an Outlook reference. Generated docs.json adds only stdOutlook; existing class documentation is unchanged. Regression tests are registered with the shared runner and use its safeguarded Office host and assertion reporter.

Validation:

  • python Tools/Testing/run.py --suite stdOutlook: 109 assertions passed in isolated 64-bit Excel.
  • python tests/harnesses/stdOutlook-tests/run.py --live: 120 assertions passed, including read-only identity/contact/Inbox/calendar checks. Sending and synchronization still use synthetic interfaces; no real mail is sent or synchronized.
  • python tests/native/test_outlook_abi.py --headers <SDK headers>: all 25 vtable slots and both pointer-width layouts passed against Git-hash-verified Microsoft headers. Python's download hit a local certificate-chain error; the same pinned blobs were retrieved through Windows HTTPS verification instead.
  • Six shared-runner contract tests passed. Documentation generation, existing-document comparison, CRLF checks and full diff checks passed. VBE settings were restored exactly.

Compatibility: no breaking changes to existing stdVBA APIs. This is marked experimental: Windows VBA7/classic Outlook only; 32-bit Office execution, other providers and live automatic synchronization/delivery remain unverified. Calendar search returns stored appointments without expanding recurrences. Send/Receive affects all pending mail in the profile and leaves an Outlook window open for asynchronous transfer.

Created with gpt-6-astra in T3 Code (Codex harness).

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant