Skip to main content

Introduction

By default WordPress sends email through your hosting server's PHP mail function. Those emails often land in spam, get rate limited, or never arrive. LetterPress fixes this by routing email through a proper delivery provider or SMTP server.

You do not need the marketing features to use LetterPress this way. It works fine as a pure SMTP plugin with everything else untouched.

Open LetterPress > Settings > Email providers.

The email providers settings with the provider grid

Choosing a provider​

Pick a provider card to edit its credentials. You can keep several providers configured and switch the default at any time. Settings for inactive providers are kept.

ProviderWhat you need
WordPress mailNo setup. Uses the site's default PHP transport
Amazon SESAccess key ID, secret access key, AWS region, optional configuration set
SMTPHost, port, encryption, username, password, optional authentication toggle
SendGridAPI key with Mail Send permission
MailjetAPI key and secret key
MailgunAPI key, verified sending domain, US or EU region
PostmarkServer API token, optional broadcast stream
BrevoAPI key
ResendAPI key
SparkPostAPI key with Transmissions permission, US or EU region
MailerSendAPI token
MandrillAPI key
SMTP2GOAPI key, or SMTP2GO SMTP credentials through the SMTP provider
ZeptoMailSend mail token and the matching data center

Only the provider marked as default sends. Open a provider, fill in its credentials, click Set as Default Provider, then Save changes.

Setting up generic SMTP​

  1. Click the SMTP card.
  2. Enter the Host and Port. For Amazon SES SMTP the host looks like email-smtp.us-east-1.amazonaws.com. Use 587 with TLS, 465 with SSL, or 25 without encryption.
  3. Enter the username and password from your email host.
  4. Leave SMTP authentication on unless you are using an unauthenticated local relay.
  5. Click Set SMTP as Default Provider, then Save changes, and run the connection test.

The SMTP provider form

The SMTP provider is also the right choice when a service gives you SMTP credentials instead of an API key. SMTP2GO is the common example: you can use its API key on the SMTP2GO card, or choose the SMTP card and enter the SMTP host, port, and credentials from your SMTP2GO account. Both paths deliver the same mail. The API card adds a connection test against the API key, while the SMTP card tests the SMTP login.

Provider-specific settings​

Amazon SES​

Choose the AWS region where your sending identity is verified. Email sent from an unverified region is rejected, even when the same domain is verified somewhere else.

The Configuration set field is optional. Add one when you publish SES events to an SNS topic for delivery, bounce, complaint, or open tracking. Without a configuration set, SES does not publish those events. LetterPress sends the configuration set with every API message when the field is filled.

If you use SES through generic SMTP instead of the SES card, set a default configuration set on the verified SES identity in AWS. Generic SMTP does not inject SES-specific headers.

Mailgun​

Choose US or EU to match the region where your Mailgun domain was created. The API host changes with the region:

RegionAPI host
USapi.mailgun.net
EUapi.eu.mailgun.net

The From address must belong to a domain verified in the selected region. A domain verified in one region is not automatically available in the other.

Postmark​

Postmark separates transactional and broadcast streams. LetterPress uses the server's default stream for transactional email. For campaigns, add the broadcast stream ID, for example broadcasts, in the Broadcast stream field.

Leave the field blank when you want campaigns to use the transactional stream too. Copy the stream ID from your Postmark server settings.

SparkPost​

Choose US or EU to match your SparkPost account. The API host changes with the region:

RegionAPI host
USapi.sparkpost.com
EUapi.eu.sparkpost.com

The API key needs Transmissions read and write permission, and the sending domain must be verified in the selected region.

ZeptoMail​

Choose the Data center that matches your ZeptoMail account. LetterPress uses the matching API host:

Data centerAPI host
Global (com)api.zeptomail.com
Zoho (cpaas)cpaas.zoho.com
Europe (eu)api.zeptomail.eu
India (in)api.zeptomail.in
Australia (com.au)api.zeptomail.com.au
Japan (jp)api.zeptomail.jp
Canada (ca)api.zeptomail.ca

ZeptoMail is a transactional service. It does not allow bulk promotional newsletters, so use another provider for campaigns and keep ZeptoMail for account and order email if your plan requires it.

SMTP2GO​

SMTP2GO offers two paths in LetterPress:

  • API key: use the SMTP2GO card with a key that has /email/send permission.
  • SMTP credentials: use the generic SMTP card with the SMTP host, port, username, and password from your SMTP2GO dashboard.

Use the API card when you want the built-in key test and API-level error messages. Use SMTP when your account already sends through SMTP or when your firewall only allows SMTP ports.

Sending a test​

Every provider configuration includes a connection test. Run it after setup and after any change. If the test fails, LetterPress shows the provider's error message so you can fix credentials or domain verification directly.

WordPress mail has no test because there is no provider account to validate. Use Settings > WordPress emails to send a real test through the site's transport.

Credentials​

Provider credentials are saved as LetterPress settings. Password fields are masked in the admin, and only users who can manage LetterPress settings can view or change them.

Keep database backups and exports private. Treat provider API keys like passwords, and revoke a key at the provider when it is no longer needed.

Routing WordPress emails​

Under Settings > WordPress emails you decide how the site's own email is sent.

The WordPress emails routing settings

  • Send all WordPress emails through LetterPress routes password resets, registration notifications, comment notifications, and emails from other plugins through your selected provider. With this on, you do not need a separate SMTP plugin.
  • The warning matters: if provider details are wrong, all website email stops. Save your provider settings and run the connection test before enabling.
  • Two per-notification toggles let you silence only the admin registration notice or the new-user account email without touching WordPress core.
  • From email and From name set the sender address for site-wide WordPress email.
  • Send test WordPress email delivers a real test to the address configured under Sender identity.

Sender identity​

Under Settings > Sender identity you set the global sender that campaigns and sources fall back to.

The sender identity settings

FieldPurpose
From emailRequired. Must be authorized by your email provider
From nameThe display name recipients see
Reply-To emailOptional. Replies go here instead of the From address
Test campaign recipientDefault address for campaign test sends. Use an address already in your subscriber list to see personalization resolve
Organization mailing addressAppears in campaign footers for newsletter identification requirements such as CAN-SPAM

Per-source and per-campaign overrides fall back to these values.

Deliverability​

Under Settings > Deliverability you control consent, bounce handling, and tracking for every campaign.

The deliverability settings

  • Double opt-in requires confirmation before new subscribers become active.
  • Automatically blocklist permanent bounces removes hard-bounced addresses from future campaign queues.
  • Track campaign opens adds a tiny tracking pixel to campaign emails. Some clients block or pre-fetch it, so treat open rates as directional.
  • Soft-bounce threshold sets how many soft bounces before an address is blocklisted.

The sender authentication banner reminds you what your provider needs from you: for SES, verify the sending domain in the selected region and enable Easy DKIM, and configure MAIL FROM, SPF, and DMARC records at your DNS provider. LetterPress does not verify DNS records for you.

See Blocklist for what happens to addresses that bounce, complain, or unsubscribe.

Sending limits​

Under Settings > Sending limits you protect your sending reputation and stay inside provider quotas.

The sending limits settings

Start from a preset, Conservative, Balanced, or High volume, then fine tune:

SettingMeaning
Interval (seconds)How often the worker may start a new sending window
Recipients per intervalMaximum emails sent in each window
Batch sizeProcessing limit per worker run. It does not increase the sending rate
Daily send limit0 means unlimited. Provider quotas still apply

An explainer under the fields shows the resulting pace, for example up to 50 recipients per 5 minutes, batches of 25, and a daily cap of 200. Provider limits, network delays, and retries can reduce the effective speed. See Cron Setup to keep the worker running on schedule.

For Amazon SES, the worker also respects the account's live sending rate and daily quota from the provider after a successful connection test. The effective limit is the lower of your LetterPress setting and the provider quota.

Event tracking and webhooks​

Under Settings > Event tracking LetterPress receives delivery, bounce, complaint, open, click, and unsubscribe events from your provider.

The event tracking settings with provider webhook cards

  1. Select the provider you actually send with.
  2. Copy the webhook URL LetterPress shows for it.
  3. Paste that URL into the provider's dashboard webhook settings.

LetterPress validates incoming webhook requests when the provider supports signing, and attaches each event to the matching campaign and subscriber automatically.

WordPress mail and generic SMTP have no webhook events and therefore no delivery reporting. The page warns you when your active provider cannot send delivery events, which is why reports stay empty on PHP mail.

Amazon SES uses an SNS topic. Add an event destination in SES for delivery, bounce, complaint, and reject events, subscribe the SNS topic to the LetterPress webhook URL, and paste the topic ARN into the SES card. LetterPress confirms the subscription and verifies the SNS signature.

Providers with signed webhooks show the extra fields they need:

  • SendGrid: optional Signed Event Webhook public key.
  • Mailgun: HTTP webhook signing key.
  • Resend: Svix signing secret.
  • MailerSend: webhook signing secret.
  • Mandrill: webhook signing key.

Postmark, Brevo, SparkPost, SMTP2GO, and ZeptoMail do not sign webhooks by default. Keep the endpoint URL private and use any authentication option the provider offers.

General settings​

Under Settings > General you control whether LetterPress loads its stylesheet for the public signup form. Double opt-in for public signups is under Settings > Deliverability. See Subscription Box for the forms themselves.

Next steps​