Updated 2026-10-08

How to Send WordPress Email Through SMTP

To send WordPress email through SMTP, install WP Mail SMTP, go to WP Mail SMTP > Settings, pick the Other SMTP mailer and enter SMTP Host smtp.bulko.io, Encryption TLS, SMTP Port 587, Authentication on, and your Bulko SMTP username and password. WooCommerce order emails and contact form notifications then go out through the same connection.

Hostsmtp.bulko.io
Port587 · 465 · 2525
EncryptionSTARTTLS · SSL
Loginfrom dashboard

WordPress SMTP settings

FieldValue
MailerOther SMTP
SMTP Hostsmtp.bulko.io
EncryptionTLS (or SSL if you use port 465)
SMTP Port587 (465 with SSL, 2525 with TLS if your host blocks 587)
Auto TLSOn
AuthenticationOn
SMTP UsernameYour Bulko username, for example smtp_xxxxxxxxxxxxxxxx
SMTP PasswordYour Bulko SMTP password from Dashboard > SMTP Access
From EmailAn address on your own domain, for example [email protected]
From NameYour site or store name

Step-by-step setup

  1. Buy an SMTP package on the Bulko SMTP Relay page. Your username and password appear in Dashboard > SMTP Access and are emailed to you right after payment.
  2. In WordPress, go to Plugins > Add New, search for WP Mail SMTP, then install and activate it. Skip or close the setup wizard if you prefer to fill in the settings page directly.
  3. Open WP Mail SMTP > Settings and stay on the General tab. In From Email, enter an address on a domain you control and tick Force From Email so every plugin (WooCommerce, contact forms, membership plugins) uses it. Set From Name and, if you want, tick Force From Name.
  4. Optionally tick Return Path so bounces are reported to the From Email address.
  5. Under Mailer, choose Other SMTP. Fill in SMTP Host smtp.bulko.io, Encryption TLS, SMTP Port 587, leave Auto TLS on, switch Authentication on, then enter your SMTP Username and SMTP Password.
  6. Click Save Settings. For better security, move the username and password into wp-config.php as constants (see the snippet below). Fields defined as constants appear greyed out on the settings page.
  7. Optional: verify your domain in Sending Domains and publish the DKIM TXT record (selector bk1) and the bnc.yourdomain.com CNAME, so SPF, DKIM and DMARC align for your From address.

Alternative: FluentSMTP

If you prefer FluentSMTP, go to Settings > FluentSMTP, add a connection and choose Other SMTP. Enter From Email, From Name, SMTP Host smtp.bulko.io, SMTP Port 587, Encryption TLS (SSL for 465), keep Use Auto TLS on, turn Authentication on and fill in Username and Password. FluentSMTP can keep the credentials in the database or in wp-config.php. Click Save Connection Settings. Use only one SMTP plugin at a time.

WooCommerce emails

WooCommerce sends order confirmations, invoices and password resets through the standard WordPress mail function, so you do not configure SMTP separately in WooCommerce. Once WP Mail SMTP or FluentSMTP is set up, check WooCommerce > Settings > Emails and make sure the sender address there is on the same domain as your From Email.

wp-config.php (WP Mail SMTP constants)

// Paste above the line: /* That's all, stop editing! Happy publishing. */
define( 'WPMS_ON', true );                       // turn on constants support
define( 'WPMS_MAILER', 'smtp' );                 // 'smtp' = the "Other SMTP" mailer
define( 'WPMS_MAIL_FROM', '[email protected]' );
define( 'WPMS_MAIL_FROM_FORCE', true );
define( 'WPMS_MAIL_FROM_NAME', 'Example Store' );
define( 'WPMS_MAIL_FROM_NAME_FORCE', true );
define( 'WPMS_SET_RETURN_PATH', true );
define( 'WPMS_SMTP_HOST', 'smtp.bulko.io' );
define( 'WPMS_SMTP_PORT', 587 );
define( 'WPMS_SSL', 'tls' );                     // '' = None, 'ssl' = port 465, 'tls' = port 587 or 2525
define( 'WPMS_SMTP_AUTH', true );
define( 'WPMS_SMTP_AUTOTLS', true );
define( 'WPMS_SMTP_USER', 'smtp_xxxxxxxxxxxxxxxx' );
define( 'WPMS_SMTP_PASS', 'your-bulko-smtp-password' );

Send a test email

Go to WP Mail SMTP > Tools, open the Email Test tab, enter an inbox you can read (ideally on Gmail or Outlook, not on your own domain), and click Send Email. A success notice means smtp.bulko.io accepted the message. Open the received email, view the original headers and check that SPF and DKIM pass. If the test fails, WP Mail SMTP shows the SMTP debug log: look for the server reply code (for example 535 or 554 5.7.1) and match it with the table below. For a WooCommerce check, place a test order and confirm the customer and admin emails arrive.

Troubleshooting

ProblemFix
Connection timed out or could not connect to SMTP hostMany shared hosts block outgoing port 587 or 465. Change SMTP Port to 2525 and keep Encryption on TLS. If it still times out, ask your host to allow outbound SMTP.
SSL routines error, wrong version number, or the test hangs on port 465Encryption and port do not match. Use TLS with port 587 or 2525, or SSL with port 465. Do not combine SSL with 587.
535 Authentication failedThe username or password is wrong or has extra spaces. Copy both again from Dashboard > SMTP Access, keep Authentication on, and if you use constants check that WPMS_SMTP_USER and WPMS_SMTP_PASS are correct. The guide at bulko.io/en/smtp-errors/535/ lists more causes.
554 5.7.1 message rejectedBulko's content filter flagged the message as phishing, malware, impersonation or a scam. Review the email content and links, and make sure the From address is on your own domain.
Emails send but land in spamVerify your domain in Sending Domains, publish the DKIM and return-path records, and check SPF with the Bulko SPF checker. Use a From Email on your domain, not a gmail.com address.
Some plugins still send from wordpress@yourdomainTick Force From Email and Force From Name in WP Mail SMTP, or the matching options in FluentSMTP, so all plugins use the same sender.

FAQ

Does WordPress have built-in SMTP settings?

No. WordPress uses the PHP mail function by default, and there is no SMTP form in core settings. You need a plugin such as WP Mail SMTP or FluentSMTP, or custom code on the phpmailer_init hook.

Which port should I use for WordPress SMTP?

Use 587 with TLS encryption. If your host blocks it, use 2525 with TLS or 465 with SSL. Port 25 is not offered by Bulko for submission.

Will this fix WooCommerce order emails not sending?

Yes in most cases. WooCommerce uses wp_mail, so once the SMTP plugin is configured, order, invoice and account emails go through smtp.bulko.io like every other WordPress email.

Can I receive email or use IMAP with Bulko?

No. Bulko SMTP is outgoing only. Replies go to the From or Reply-To mailbox you already use, for example your Google Workspace or hosting mailbox.

How much does SMTP for WordPress cost?

Bulko SMTP is pay-as-you-go: 5,000 emails for $5, 20,000 for $15, 50,000 for $30 or 150,000 for $60, one-time payment with no expiry. The default limit is 2,000 emails per day per SMTP account, and [email protected] can raise it.

Is it safe to keep the SMTP password in the WordPress database?

WP Mail SMTP encrypts it in the database, but storing it as a constant in wp-config.php keeps it out of the admin panel and database backups, which is the safer option.

Get SMTP credentials for WordPress

One-time payment by card or crypto, no subscription. Unused emails never expire. 2,000 emails per day per SMTP account.

SMTP Relay 5K: $5 · 5000SMTP Relay 20K: $15 · 20000SMTP Relay 50K: $30 · 50000SMTP Relay 150K: $60 · 150000
See SMTP relay plans

What you can send: Acceptable Use Policy.