Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

node-wire-smtp

SMTP connector for Node Wire. Lets an agent or app send email through a relay that is pinned on the server, so a caller can choose the recipients and content but never the mail server.

Part of Node Wire. Every call runs through the Node Wire runtime, so it gets input validation, retries with a circuit breaker, scope policy, a shared error taxonomy, and OpenTelemetry tracing. A Node Wire host exposes each action over REST, gRPC and MCP.

Install

pip install node-wire-smtp

This pulls in node-wire-runtime. Pre-releases are published as X.Y.ZbN; install one with pip install --pre node-wire-smtp. To install every connector at once, use node-wire-connectors.

Wheels are compiled with Cython and contain no Python source. They are built for CPython 3.11, 3.12 and 3.13 on Linux x86_64 (manylinux and musllinux), macOS arm64 and Windows x64.

Actions

The connector registers as smtp. MCP tool names are <connector_id>_<action>, with dots replaced by underscores.

Action MCP tool What it does
send_email smtp_send_email Sends a plain-text email to one or more recipients (to, subject, body, optional from_email)

When from_email is omitted, the sender is FROM_EMAIL, then SMTP_USERNAME.

Configuration

Add the connector to config/connectors.yaml:

connectors:
  smtp:
    enabled: true
    exposed_via: ["rest", "grpc", "mcp"]
    auth:
      provider: static_credentials
      username_secret: SMTP_USERNAME
      password_secret: SMTP_PASSWORD

The relay is configured only through the environment. Credentials are read through the configured secret provider (environment variables by default):

Variable Purpose
SMTP_HOST Relay hostname (default smtp.gmail.com)
SMTP_PORT Relay port (default 587)
SMTP_USE_TLS Upgrade the connection with STARTTLS (default true). Port 465 always uses implicit TLS
SMTP_USERNAME Relay login
SMTP_PASSWORD Relay password or app password
FROM_EMAIL Default sender address
NW_SMTP_ALLOWED_HOSTS Optional. Comma-separated relay hostnames; the connector refuses to send if SMTP_HOST is not listed

Usage

Set NW_ALLOWED_CONNECTORS=smtp (comma-separate several). Node Wire loads only the connectors listed there, and discovers them through the node_wire.connectors entry point. A Node Wire host (the REST, gRPC or MCP server, or ConnectorFactory) then builds the connector from the configuration above. See Use a connector.

Security notes

  • The payload cannot set the relay host, port or TLS mode; those fields are dropped. Relay credentials therefore never go to a host chosen by the caller.
  • Set NW_SMTP_ALLOWED_HOSTS in production.
  • subject may not contain newlines or control characters, which blocks header injection.

Documentation

License

Apache-2.0. See LICENSE.

Metadata

Release files for node-wire-smtp 1.0.0b1

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

Built distributions (wheels)

Table of built distributions (wheels) for node-wire-smtp 1.0.0b1
File
node_wire_smtp-1.0.0b1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
node_wire_smtp-1.0.0b1-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
node_wire_smtp-1.0.0b1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
node_wire_smtp-1.0.0b1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
node_wire_smtp-1.0.0b1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
node_wire_smtp-1.0.0b1-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
node_wire_smtp-1.0.0b1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
node_wire_smtp-1.0.0b1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
node_wire_smtp-1.0.0b1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
node_wire_smtp-1.0.0b1-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
node_wire_smtp-1.0.0b1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
node_wire_smtp-1.0.0b1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details

Total release size: 5.8 MB

Release files / node_wire_smtp-1.0.0b1-cp313-cp313-win_amd64.whl

Download URL node_wire_smtp-1.0.0b1-cp313-cp313-win_amd64.whl
Size 133.2 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
b1b25db3abafff99ddeb9fa986282c6055247e79887f82c2021e1d7dd1f03ffb
BLAKE2b-256 checksum
How to use checksums
f5fc1eccaa22b6a83cd8f1a24743a673c01e1b5211e40a4559d7f934696ba1bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / node_wire_smtp-1.0.0b1-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL node_wire_smtp-1.0.0b1-cp313-cp313-musllinux_1_2_x86_64.whl
Size 820.8 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a867c9919e7fb544cb3a51387643908634daf064586765ac25054c95c40a0ccc
BLAKE2b-256 checksum
How to use checksums
ef414f2603aa4855b382973544969a5931a3dcc867705e33589b93b523be5460
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / node_wire_smtp-1.0.0b1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL node_wire_smtp-1.0.0b1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 827.0 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
bbed018d3b014150328a0a4f5741b08b0028384914735ddbffe442b0fb252d58
BLAKE2b-256 checksum
How to use checksums
54f1746db809490a82a256ee83480f05a8e85ba7af9f04d8c2872fb37fe07a6e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / node_wire_smtp-1.0.0b1-cp313-cp313-macosx_11_0_arm64.whl

Download URL node_wire_smtp-1.0.0b1-cp313-cp313-macosx_11_0_arm64.whl
Size 149.7 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
458b5121f718815886d3f6685f3d42167b5781943573cfc346b7cf57b2cd229e
BLAKE2b-256 checksum
How to use checksums
b785193cda65892fa9511868f3a0fed183b14ec205cc773a9bdc718f6ccc7d45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / node_wire_smtp-1.0.0b1-cp312-cp312-win_amd64.whl

Download URL node_wire_smtp-1.0.0b1-cp312-cp312-win_amd64.whl
Size 135.6 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
1f7c8d0b2e06131fcdc9b8b36ea8fcfe4451b0d54e93eb7b2c399a60cc2d32b8
BLAKE2b-256 checksum
How to use checksums
6e4c8c881ba49ac45d1905af6c0b2925481c77e7b6192345387840bc6adb13b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / node_wire_smtp-1.0.0b1-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL node_wire_smtp-1.0.0b1-cp312-cp312-musllinux_1_2_x86_64.whl
Size 848.5 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
ede1b517b848766c6c50b03b9f11f8e106a23ac31c624ea19458c605b6106f62
BLAKE2b-256 checksum
How to use checksums
b8bf56e4d01954736bdb3d56662ce0dcdccc5c716b359465002a8ed04107bce4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / node_wire_smtp-1.0.0b1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL node_wire_smtp-1.0.0b1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 855.0 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ba2aec8778b4ef54932e86b0261349aff01d4f1d82e3ba7723c73b5f4c6fcdb3
BLAKE2b-256 checksum
How to use checksums
0c6bbbb65d375395d3e57b6435fde062b9ce78daa6eaa5499ce0cc15a607c9af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / node_wire_smtp-1.0.0b1-cp312-cp312-macosx_11_0_arm64.whl

Download URL node_wire_smtp-1.0.0b1-cp312-cp312-macosx_11_0_arm64.whl
Size 151.7 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
12fc2067f43ebfd1e7f0cf543728594af612e5d5a617becfb9eb701cc280ea53
BLAKE2b-256 checksum
How to use checksums
13459559dfa69d7531d32dc33d90dbe020193ca2b54db17e9239ea444af336e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / node_wire_smtp-1.0.0b1-cp311-cp311-win_amd64.whl

Download URL node_wire_smtp-1.0.0b1-cp311-cp311-win_amd64.whl
Size 137.7 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
944b9ebbcf2184af1a1e7108b3ec93602ebcd2ab44b851d4daf8bd4069bb1813
BLAKE2b-256 checksum
How to use checksums
b8cf3191e1599414fd86d8b31a1dd7f97686e6bb76393c5f5a9a9fec6d1dc87c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / node_wire_smtp-1.0.0b1-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL node_wire_smtp-1.0.0b1-cp311-cp311-musllinux_1_2_x86_64.whl
Size 807.0 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
729b4f170af5b8b1e99e4ef79501abf303e9a28aefd8ada6f26ef211670b172d
BLAKE2b-256 checksum
How to use checksums
aa214d1cc66b139ded47b955ee0333ef8d0fc103c726f7fcbb176b0166002f1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / node_wire_smtp-1.0.0b1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL node_wire_smtp-1.0.0b1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 807.0 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a0a250fafdd687fa6714d063129776a308695443abe444cc6344e285f6ebcbe1
BLAKE2b-256 checksum
How to use checksums
92aae7a0657923d61a35b085080dbefacf9ef9a6ac64754c56bc3c4f87b21455
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / node_wire_smtp-1.0.0b1-cp311-cp311-macosx_11_0_arm64.whl

Download URL node_wire_smtp-1.0.0b1-cp311-cp311-macosx_11_0_arm64.whl
Size 149.4 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
270e5219ae392b726e1b1b81aa981f386495230a772b19f280c3aac8d9134de5
BLAKE2b-256 checksum
How to use checksums
cc9e606da30ddad7b8261394f5c662ae05f4783f190b5ddbd691c08cec6f6821
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.0b1 This release

12 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