SMTP setup

This guide is for a technical admin configuring outbound mail during install or under Settings → Operations. WCKD Forms sends staff notifications and optional visitor auto-replies after each submission is stored.

You can run without SMTP at first:

  • Leave SMTP host and username empty in the installer (step 2) or in Operations. The app uses PHP mail() through your host.
  • Provide a valid From email and Reply-To (team inbox) when not using SMTP — the installer requires both.
  • Many shared hosts deliver mail() slowly or into spam. For production, plan to switch to SMTP.

When you add SMTP, host and username must both be filled (with password and port). Half-filled SMTP is rejected.

FieldPurpose
SMTP HostProvider hostname (e.g. smtp.mailgun.org).
SMTP UsernameUsually an API user or mailbox login from your provider.
SMTP PasswordSMTP password or API key your provider issued for SMTP.
SMTP PortTypically 587 (STARTTLS) or 465 (SSL). Default in the installer is 587.
From emailEnvelope sender; must be allowed by your provider (verified domain or mailbox).
From nameDisplay name visitors and staff see (optional).
Reply-ToDefault team inbox when a form does not override routing (department / directory routing may replace the “To” address).
CC / BCCOptional copies on staff notifications.

The same values are stored in your private config bundle and can be changed later under Settings → Operations. Per-form overrides live under Settings → Forms → Configure → Advanced settings.

  1. Add and verify your sending domain in the Mailgun dashboard.
  2. Create SMTP credentials (or use the domain’s SMTP settings).
  3. In the installer or Operations, set Host to smtp.mailgun.org (US) or the region host Mailgun shows (e.g. smtp.eu.mailgun.org).
  4. Set Username to postmaster@your-verified-domain or the SMTP login Mailgun provides.
  5. Set Password to the SMTP password from Mailgun.
  6. Set Port to 587 unless Mailgun specifies otherwise.
  7. Set From email to an address on the verified domain (e.g. forms@yourdomain.com).
  1. Verify your sender signature or domain in Postmark.
  2. Open Servers → your server → SMTP and copy the host, port, and token.
  3. Host: smtp.postmarkapp.com
  4. Username: your Server API token (Postmark shows this as the SMTP user).
  5. Password: same Server API token.
  6. Port: 587
  7. From email: must match a verified sender signature.

For Amazon SES, create SMTP credentials in the SES console for your region, then use the regional SMTP endpoint (e.g. email-smtp.us-east-1.amazonaws.com) with port 587 or 465.

Other transactional providers (SendGrid, Brevo, Google Workspace SMTP relay, etc.) follow the same pattern: use the SMTP hostname and credentials from their docs, fill host + username + password + port together, and use a From address they authorize.

  1. Finish install (or save Operations) with SMTP filled in completely.
  2. Embed a test form and submit once (see Embed forms).
  3. Confirm the staff notification arrives; check spam if it does not.
  4. If mail fails, check the PHP error log on your server — paths are not shown in the dashboard UI.
  5. See Troubleshooting for intake and mail symptoms.

Related