๐Ÿ“ฎ Sending Email (built-in SMTP)

Pavilion has its own built-in SMTP engine, so the club’s email โ€” booking confirmations, renewal reminders, rota alerts, campaigns and newsletters โ€” can be sent through your own email account or provider without installing a separate SMTP plugin. Without SMTP, email goes out however the web server chooses, which is often unreliable or ends up in spam.

Setting it up

  1. Go to Settings โ†’ ๐Ÿ“ฎ Sending Email (built-in SMTP).
  2. Pick your email provider from the list โ€” Gmail / Google Workspace, Microsoft 365 / Outlook, IONOS, BT Internet, Yahoo, or Other. The server, port and encryption fill in automatically, with a note about anything the provider needs (Gmail and Yahoo require an app password, for example).
  3. Enter the username (usually the full email address) and password.
  4. Tick Use built-in SMTP, save, then press โœ‰ Send test email and check the inbox.

Security

The SMTP password is stored encrypted at rest (AES-256-GCM), the same as the Stripe, GoCardless and Twilio secrets, and is never shown again once saved. Leaving the password box blank when saving keeps the stored one.

Sender alignment

The Force all site email option makes everything WordPress sends โ€” including its own password-reset emails โ€” use the “Emails sent from” name and address. Turn it on when that address matches the SMTP account; aligned senders are far less likely to land in spam.

Recent deliveries

The last 30 sends are listed under the settings โ€” each with the recipient, subject and a result: โœ“ Sent (the mailer confirmed the handoff), โœ• Failed (with the error message), or ? No confirmation. “No confirmation” means the mailer reported neither success nor failure โ€” the signature of another plugin or the web host intercepting email before the mail engine runs. If emails are not arriving and the log shows “No confirmation”, that interceptor is why; the Send-test-email button will name it where it can. The Health page also shows the delivery engine’s status and warns if the most recent send failed.

Common questions

Do I still need WP Mail SMTP or a similar plugin?
No โ€” the built-in engine does the same job. If you already run such a plugin, Pavilion detects it and stands aside automatically so the two never conflict; deactivate the plugin if you would rather use Pavilion’s engine.
Gmail rejects my password โ€” why?
Google no longer accepts normal account passwords for SMTP. Create an App Password (myaccount.google.com โ†’ Security โ†’ App passwords, with 2-step verification turned on) and use that instead.
The test email says sent but never arrives.
Check the spam folder first. If it is not there, the provider may be accepting the message but filtering it โ€” turn on sender alignment so the from-address matches the SMTP account, and make sure your domain’s SPF record includes your provider. If the delivery log shows “? No confirmation” rather than “โœ“ Sent”, the message never went through the mail engine at all โ€” something else intercepted it (see the next question).
The test fails with "the message never reached the mail engine" โ€” what does that mean?
Something on the site took over email before Pavilion’s SMTP engine (or WordPress’s own mailer) ran: a mail-logging or “disable emails” plugin, a newsletter/transactional-mail plugin that replaces wp_mail(), a must-use plugin, or the web host itself โ€” many hosts switch off outgoing email on staging and development sites. The test names the responsible file or hook when it can see it; otherwise ask the host whether outgoing email is enabled for the site.
The test says demo mode is blocking email.
Pavilion’s demo mode (define(‘PVL_DEMO_MODE’, true); in wp-config.php) deliberately blocks every outgoing email, so a public demo site can never email anyone. That is by design and the SMTP settings are not at fault. On a real club site, remove that line from wp-config.php and email flows normally.
Does the delivery log store the content of emails?
No โ€” only the date, recipient, subject and result are kept, and only the most recent 30. Clear it at any time with the Clear log button.