# email (https://lazyfrog.dev/docs/tools/email)

{/* Generated by scripts/generate-docs.ts from the gateway's registered tools. Do not edit. */}

**{"Email"}** · Can change or delete · actions: `status`, `test`, `reply_mode`

<p>{"For reading use email_read, which is read-only and needs no approval: \"status\" here is deprecated (still works). Email the app sends (a paid-plan feature: on Free, sends are refused with an upgrade message), through the owner's own email provider (Postmark, Brevo, Mailjet, SendGrid, Mailgun, Amazon SES, Resend, Any SMTP server), which the owner connects in the portal (Account › Email); you never handle its credentials. The app needs no setup: POST http://mail.local/send with JSON {to: [...], subject, text and/or html, reply_to?, from_name?, attachments?: [{filename, content (base64)}]}, or SMTP to $SMTP_HOST:$SMTP_PORT (localhost:2525, no TLS, any credentials). It goes out from the sender the owner set, on their own domain; replies go to the owner unless reply_mode says otherwise. Transactional mail only (receipts, sign-in links, form notifications). Until a provider is connected, sends are refused with a clear error. action \"status\": whether a provider is connected, the sender, the last test, reply mode and recent sends with the provider's errors (with none connected, the page where the owner connects one). \"test\": a test email to the user through the provider. \"reply_mode\" (mode owner | custom | none; reply_to for custom)."}</p>
