Repository navigation
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reading Outlook identity and contact details through guarded automation can require repeated timed approvals. This adds a single importable
stdOutlookclass 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. NativeFlushQueuesremains available. Synchronization errors are reported separately so a successfully queued email is not submitted again.The contribution uses the predeclared
Create/protInitpattern,TThisstate, structured member documentation, a usage guide and changelog entries. It has no runtime dependency on other stdVBA classes or an Outlook reference. Generateddocs.jsonadds 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.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).