Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Reason given by maintainers: re-architect to plugins

delegate-connector-email

The first OSS Python connector for the Terrene Delegate substrate. Implements the shipped kailash.delegate.Connector ABC (kailash 2.26.2) for email:

  • write — SMTP outbound send, executed under audit, returns a real SignedActionEnvelope.
  • read — IMAP inbound fetch, executed under audit, returns (messages, AttestedReadReceipt).
  • authenticate — resolves a sender/recipient address to a Principal against a PrincipalDirectory (exact-match in v0; unknown sender → Reject, fail-closed).
  • invoke — single-method dispatch entry (used by the dispatch hot path); dispatches a send and returns a ConnectorInvocationResult.
  • Trust properties — auth_verifier returns the wired Ed25519Verifier; ledger / revocation return shipped concretes (framework-first; no custom trust primitives).

It subclasses Connector directly (ADR-1) — NOT LegacyInvokeConnector, whose proxied read/write emit empty, unverifiable receipts. This connector's read/write produce non-empty receipts that verify under a real Ed25519Verifier.

Install

pip install -e connectors/email

Configure

All credentials come from the environment (see .env.example): EMAIL_SMTP_HOST/PORT/USER/PASSWORD/USE_TLS and the EMAIL_IMAP_* equivalents. Nothing is hardcoded; nothing is logged.

Test

Tier-1 (unit, no I/O):

pip install -e "connectors/email[test]"
python -m pytest connectors/email/tests/unit -q

Tier-2/3 (real infra — Mailpit + GreenMail, no mocks at the boundary):

docker compose -f connectors/email/docker-compose.yml up -d
python -m pytest connectors/email/tests/integration -q
docker compose -f connectors/email/docker-compose.yml down

Two real mail servers back the tier: Mailpit (SMTP :1025 + REST/UI :8025) for the outbound send + arrival assertion, and GreenMail (greenmail/standalone; real SMTP :3025 + real IMAP :3143) for the inbound IMAP round-trip — Mailpit v1.30.0 ships no IMAP server. If Docker is unavailable the integration tests skip with a clear reason (they do not fake the boundary).

Known limitation — runtime execute() audit gate

compose.py builds a real DelegateRuntime around the connector. However the shipped kailash.delegate runtime/dispatch audit-emit path signs the event payload bytes while AuditChainEngine.emit_event verifies the signature against the full audit-entry signing bytes — so runtime.execute() fails at the first audit emission under any real verifier. This is an SDK bug in kailash.delegate, not in this connector; the connector's own read/write receipts verify correctly. See workspaces/email/journal/0005-GAP-* for the full evidence and reproduction. The end-to-end runtime.execute() assertion is gated on the SDK fix; the connector-level SMTP→IMAP round-trip and receipt verification are not.

License

Apache 2.0. All open-source IP is owned by the Terrene Foundation.

Metadata

Release files for delegate-connector-email 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for delegate-connector-email 0.1.0
File Size Uploaded
delegate_connector_email-0.1.0.tar.gz 44.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for delegate-connector-email 0.1.0
File Interpreter ABI Platform
delegate_connector_email-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 70.7 kB

Release files / delegate_connector_email-0.1.0.tar.gz

Download URL delegate_connector_email-0.1.0.tar.gz
Size 44.4 kB
Tags Source
SHA-256 checksum
How to use checksums
2371ff04ceed3aa1f400a60d2a92393645721278d48926a4f27d1a8fe6df8dbf
BLAKE2b-256 checksum
How to use checksums
b16887cbd382c02f64b0d129b8282993d8a20775de052f67d151be14e432c599
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.9

Release files / delegate_connector_email-0.1.0-py3-none-any.whl

Download URL delegate_connector_email-0.1.0-py3-none-any.whl
Size 26.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
47ec31fbaa0c86eb83f1aaa49e79b3335c3dcf71720780d3f8cbded590829753
BLAKE2b-256 checksum
How to use checksums
f468a011cb2bcdf8ed93bcee972e39f6b6617b6d4e67a61307120005f8e49825
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.9

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page