Send email over SMTP from any Windmill script, flow or app — with any provider or your own mail server.
What you can do with SMTP
Complete, deployable projects built around SMTP — the fastest way to get something real running.
Helpdesk
Email-in support inbox
Calendly
Booking page + availability engine
Lemlist
Cold-email sequences with a real sending engine
Uptimerobot
Uptime monitoring with self-managed schedules
Month-end close
Match bank transactions to invoices every night, route each discrepancy for approval and let an AI agent explain it
Support ticket triage
Classify each ticket with an AI decision, draft the reply with an AI agent, approve large refunds and track the queue in an app
Set up in 3 steps
Collect your provider's SMTP settings
You need the host, the port, and the username and password the provider issued for sending. They are usually on a page called SMTP or Sending, not with the API keys.
Add the resource in Windmill
Open Resources, add a resource of type smtp, and fill the fields.
Run your first script
Fork the send email script below and send yourself one before wiring it into a flow.
Scripts
Building blocks, if none of the projects above fit. Fork one, run it, or call it as a step inside your own flow.
Flows
Multi-step workflows that already wire SMTP to something else.
Resource type
The shape of the credential every script on this page expects.
smtp
View raw schema →| Field | Type | Required | What it is |
|---|---|---|---|
| host | string | Yes | SMTP host address |
| password | string | No | |
| port | integer | No | port number on which to connect |
| user | string | No |
Questions
Which port should I use?
587 with STARTTLS is the usual choice, 465 for implicit TLS. Your provider's documentation says which it expects.
Is this the same as the instance SMTP setting?
No. This resource is for scripts that send their own mail. An instance-wide SMTP server, set by an admin, is what sends user invites and critical alerts.
Are my credentials stored on the hub?
Never. They live only in your own Windmill workspace, encrypted at rest.