A provider connection is how Mursil reaches a mail transport. The portal stores a name, a kind, and a settings secret reference. It does not store the secret itself.

What a local stack uses

Local delivery is Mailpit over SMTP. Compose sets Email:Smtp:Host to mailpit and Email:Smtp:Port to 1025. The first-party seed creates a connection named Local SMTP with the reference env:Email:Smtp and makes it the application default.

The seed can also create a Local capture connection of kind TestSink. That kind records the attempt inside Mursil. Mailpit is the place to read a rendered message. Neither one places mail in a recipient inbox.

To send through a real SMTP server later, point Email:Smtp at that host and port, or create another SMTP connection whose reference resolves to those settings. Keep the reference. Do not paste the password into the portal.

Optional SendGrid

SendGrid is optional. Add it only when you have an account. Create a connection of kind SendGrid and set the settings reference to the environment variable or secret path that holds the API key. A deployment without that key keeps using SMTP.

Other kinds

The Kind list is every kind the product already models: SendGrid, Smtp, TestSink, AwsSes, AzureCommunicationServices, MicrosoftGraph, Postmark, and Mailgun. Choosing a kind does not provision the vendor account. The connection still needs a secret reference that the host can resolve.

Create a connection

Open Providers. The create form asks for:

FieldMeaning
NameName shown in the table and on Settings.
KindOne of the names above.
Settings secret referenceenv:VARIABLE_NAME or secret:path.
Webhook signing secret referenceOptional. Used when the provider posts delivery events back.

Providers page with the secret-reference form and the local connections

Creating a connection requires SystemAdmin or TenantOwner. Operators can list connections, pause, resume, and set routing.

Pause stops the connection from being selected. Resume restores it. Routing sets an optional purpose and region on POST /api/v1/mursil/providers/{providerConnectionId}/routing.

The application default is chosen on Settings, not on this form. A send can still name providerConnectionId when one message must use a specific connection.

Provider events

Vendors that post status callbacks use POST /api/v1/mursil/providers/{providerConnectionId}/events. The call is anonymous at the OIDC layer and is authenticated by the signature headers X-Mursil-Provider-Signature and X-Mursil-Provider-Timestamp. The signing secret is the webhook reference on the connection.