WordPress sends numerous important emails. These include, for example, messages from contact forms, notifications about new users, password reset emails, system messages, and – in the case of WooCommerce – order and customer notifications.
However, WordPress itself is not a complete email server. For sending emails, WordPress uses the function wp_mail(), which passes messages to the underlying mail infrastructure. Depending on the server configuration, this default sending method may work, but it does not offer the same control and authentication as sending via a properly configured SMTP account.
For a more reliable and traceable shipment, we therefore recommend setting up SMTP. CURIAWEB customers can use this for GoSMTP PRO free use. This allows WordPress to be connected to an email account set up in CURIAWEB, for example, and configured for authenticated mail delivery.
CURIAWEB Advantage: As a CURIAWEB customer, you have GoSMTP PRO free available. In addition to SMTP sending, the Pro version offers additional features for controlling and logging WordPress emails.
Why does WordPress send emails in the first place? #
Many processes within WordPress automatically trigger an email. These are not just messages that you send yourself via a contact form.
Typical WordPress emails include, for example:
- Password reset emails
- Notifications about new users
- Changes to the administrator email address
- Comments and moderation notes
- Messages from contact forms
- Plugin security notifications
- Backup and maintenance messages
- WooCommerce order confirmations
- WooCommerce customer notifications
If email sending does not work reliably, this can therefore affect significantly more than just a contact form.
How does WordPress send emails by default? #
WordPress uses the internal function for sending wp_mail(). This prepares the message and uses the PHPMailer library integrated into WordPress for this purpose.
However, that does not automatically mean that WordPress sends your messages via an authenticated email mailbox. In the standard configuration, actual delivery depends on the web server's mail configuration.
A successful call of wp_mail() furthermore simply means that WordPress or the used mail method was able to process the message. From this, it cannot be deduced that the message actually arrived in the recipient's inbox.
What is SMTP? #
SMTP stands for Simple Mail Transfer Protocol. It is the standard protocol for transmitting outgoing emails between an email program or application and a mail server.
Simply put, WordPress logs into a configured SMTP server and hands over the message to be sent.
Typically, the following information is required for this:
- SMTP server or hostname
- SMTP port
- encryption method
- SMTP authentication
- Username
- Password
- Sender address
- Sender name
With authenticated SMTP access, the mail server can verify whether WordPress is authorized to send via the account being used.
Why is SMTP useful for WordPress? #
A correctly configured SMTP transmission offers several advantages over uncontrolled standard transmission.
- WordPress authenticates against a defined mail server.
- The sender address can be clearly defined.
- Shipping errors can be tracked more easily.
- SMTP plugins can provide testing and logging functions.
- The configuration can be understood regardless of which plugin triggers a WordPress email.
However, SMTP is no guarantee that an email will never end up in spam. Other factors play a role in actual deliverability, including the reputation of the sending server, the domain used and its DNS configuration, as well as SPF, DKIM, and DMARC.
GoSMTP PRO at CURIAWEB #
For the SMTP configuration, we provide CURIAWEB customers GoSMTP PRO available free of charge. GoSMTP comes from Softaculous and has been specially developed to handle WordPress mail delivery via SMTP or supported external mail services.
GoSMTP supports various specialized email services in addition to traditional SMTP connections. The Pro version expands the plugin to include additional features for email logs, reports, and the control of sent messages, among other things.
For a standard WordPress website with CURIAWEB, you can, for example, use an existing email account from your own domain.
A typical example would be:
wordpress@deine-domain.ch
or:
website@deine-domain.ch
You can also use an existing address. Above all, it is important that the sender address used matches the SMTP configuration and is permitted to be used for sending.
Step 1: Prepare email account for WordPress #
Before you set up GoSMTP, you need the credentials of the email account that WordPress should use to send its messages.
With CURIAWEB hosting, you can manage email accounts via cPanel. If you haven't set up a suitable address yet, you can create a custom address for your website, for example.
We explain how to create and manage email accounts in cPanel in our article Create an email account in cPanel.
Recommendation: For WordPress, use a sender address from your own domain if possible, for example
wordpress@deine-domain.ch. Do not use a fabricated sender address that does not exist on your mail server or does not match the SMTP access used.
Step 2: Install GoSMTP PRO #
If GoSMTP or GoSMTP PRO is not yet present on your WordPress installation, the plugin must first be installed and activated.
We explain the basic installation of a WordPress plugin in detail at Installing a WordPress plugin: What plugins are and how to add them.
Open GoSMTP in WordPress #
- Log in to WordPress admin area a.
- Check under Plugins > Installed Plugins, whether GoSMTP is already present.
- If the plugin is present but disabled, enable it.
- Then open the menu item GoSMTP in the WordPress admin area.
If you don't know how to reach the WordPress admin area, you will also find our instructions for that later at Access the WordPress admin area and log in.
Step 3: Configure SMTP sending in GoSMTP #
For shipping via a standard SMTP server, you select the corresponding SMTP mailer or the option for your own SMTP server in GoSMTP.
Then you enter the access data of the mail server.
Required SMTP details #
- Open the GoSMTP Settings.
- Select the mailer for your own or a custom one SMTP server.
- Carry the SMTP host one.
- Choose the appropriate Encryption.
- Wear the corresponding SMTP port one.
- Activate the SMTP authentication.
- Enter the full email address as the username.
- Enter the password for the email account.
- Set sender address and sender name.
- Save the settings.
Important: Take the SMTP server, port, and encryption settings from your email account details. Do not guess these values. An incorrect combination of server, port, and encryption is one of the most common causes of failed SMTP connections.
Which SMTP port should I use? #
The correct port depends on the configuration of the mail server being used and the encryption method. Therefore, you should always use the specific connection details of your e-mail provider or your CURIAWEB e-mail account.
Modern mail configurations frequently use encrypted SMTP connections. The crucial point is that Hostname, port, and encryption must match.
Do not simply use Port 25, simply because SMTP is historically associated with this port. Dedicated submission configurations are usually used for the authenticated transmission of emails by applications and users.
Configure sender address correctly #
A common mistake on WordPress websites is an unsuitable sender address.
For example, a contact form can attempt to send a message with the following sender address:
kunde@gmail.com
although WordPress actually uses the SMTP server from:
your-domain.ch
Shipped.
This is problematic technically and in terms of email authentication. The visitor's address in a contact form should normally not as the actual sender be used for the message sent via your server.
Use instead, for example:
website@deine-domain.ch
as sender and the address of the visitor as Reply-To. If you click „Reply“ in your email program, your response will still go to the visitor.
Important for contact forms: Do not simply use the form visitor's email address as From address. Use a sender address from your own domain and pass the visitor's address as Reply-To.
We explain how a contact form is basically set up under Create contact form in WordPress.
Step 4: Send test email #
After SMTP configuration, you should not trust that everything is working correctly. Send a test email immediately.
GoSMTP offers a test feature for this. With it, you can check whether WordPress can send a message via the configured connection.
Test SMTP connection #
- Save your GoSMTP configuration first.
- Open the function to send a Test email.
- Enter an email address you have access to.
- Send the test message.
- Check if GoSMTP reports successful delivery.
- Then check the inbox of the recipient address.
- Check the spam or junk folder as well.
A successful shipping notification is an important first test. However, it is also crucial whether the message actually reaches the recipient.
Using GoSMTP PRO Email Logs #
A major advantage of GoSMTP PRO is the additional control options for WordPress mail delivery. Email logs can be particularly helpful when troubleshooting.
For example, if a user claims they did not receive a password email or a WooCommerce order confirmation is missing, you can first check whether WordPress or GoSMTP has logged the corresponding sending process.
Depending on the Pro feature used, additional functions for logs, reports, and resending are also available.
Tip: If you have issues with WordPress emails, you shouldn't immediately assume that the contact form or WooCommerce is broken. Check the GoSMTP logs first. They help determine whether WordPress even tried to send the message in question.
What do SPF, DKIM, and DMARC mean? #
SMTP is only one part of a reliable email configuration. For evaluating incoming messages, email providers also use various methods for domain authentication.
Three important terms are:
- SPF Specifies via a DNS record which mail servers are generally authorized to send mail for a domain.
- DKIM: Signs outgoing emails with a cryptographic signature that can be verified by the receiving mail server via DNS.
- DMARC: It builds upon SPF and DKIM and defines, among other things, how recipients should handle messages that fail certain authentication checks.
These procedures do not replace SMTP. They complement mail delivery and help receiving systems better evaluate the origin of a message.
The correct configuration of these DNS records is particularly important for business-used domains.
SMTP works, but the email goes to spam #
A successful SMTP connection does not automatically mean that every message will land in the inbox.
Spam filters take numerous factors into account, such as:
- SPF configuration
- DKIM signature
- DMARC policy
- Sender server reputation
- Sender domain
- Content and links of the message
- Recipient reactions
- Shipping volume and shipping behavior
If GoSMTP reports a successful transmission, but the message does not appear in the inbox, check the spam folder first and then the authentication of your domain.
Cannot establish SMTP connection #
If GoSMTP cannot connect to the SMTP server, you should check the settings systematically.
Check in particular:
- Is the SMTP hostname correct?
- Is the correct port entered?
- Does the encryption method match the port?
- Is SMTP authentication enabled?
- Is the username provided completely?
- Is the password correct?
- Does the used email account exist?
- Was the password of the email account recently changed?
If you change the password of the email account you are using, you also need to update the SMTP configuration in WordPress. Otherwise, GoSMTP will continue trying to log in with the old password.
Test email works, but contact form does not #
If the GoSMTP test email arrives successfully, but messages from a contact form are missing, the basic SMTP connection is likely already working.
In this case, check the settings of the form plugin. Especially relevant are:
- Recipient address
- Sender address
- Reply-To address
- Form actions
- Spam protection
- potential conditional shipping rules
Also check the GoSMTP logs. If there is no corresponding message there, it must be investigated whether the form triggered the email dispatch at all.
WooCommerce emails are not being delivered #
WooCommerce also uses the WordPress mail infrastructure for its email notifications. This includes, for example, new orders, order confirmations, invoice information, and status changes.
Therefore, if other WordPress emails work but certain WooCommerce messages are missing, you should also check the WooCommerce email settings.
Check in particular whether the email type in question is enabled and whether the correct recipient address is being used.
Here, too, the GoSMTP logs are helpful to distinguish between a WooCommerce configuration issue and an actual sending problem.
Handle SMTP password securely #
The SMTP password stored in GoSMTP allows access to the email account used or its email transmission. Therefore, treat these credentials like any other important password.
- Use a strong password.
- Do not share the password with an unnecessarily large number of people.
- Do not use identical passwords for different services.
- Grant WordPress administrator rights only to trusted persons.
- Change the password if you suspect misuse.
If multiple people manage your website, you should also use WordPress user roles effectively. We explain how users and permissions are managed at Manage users in WordPress.
Does every WordPress website need SMTP? #
A WordPress website can generally also send emails without an additional SMTP plugin if the underlying server and mail configuration is set up correctly.
For business websites, contact forms, and especially WooCommerce stores, however, reliable email delivery is highly recommended. If order confirmations, contact inquiries, or password emails are critical to your business, you should not simply leave their delivery to chance.
With GoSMTP PRO, you also get additional verification and troubleshooting capabilities that may be missing in a standard transmission that runs purely in the background.
Recommendation: If your WordPress website sends important emails, set up GoSMTP PRO right during initial setup and then send a test email. For a WooCommerce store, working email delivery should be verified before the first real sale.
Summary #
WordPress uses the function for sending emails wp_mail(). For more controlled and authenticated sending, you can connect WordPress to a mail server via SMTP.
CURIAWEB customers stand for GoSMTP PRO free available. The plugin can send WordPress emails via a configured SMTP server and offers additional functions for logging and controlling mail delivery.
For the setup, you need the SMTP server, the appropriate port and encryption method, as well as the username and password of the email account used. If possible, use an address from your own domain as the sender and then test the configuration with a test email.
If the sending works, but messages still do not appear at the recipient, you should check the spam folder as well as SPF, DKIM, and DMARC, and the GoSMTP logs. For contact forms, it is also important to use the visitor's address as Reply-To and not to use it as a foreign sender address.