How to Configure WordPress to Use SMTP For Sending Emails

269ac00f765508cb74b25d006dbf5bb2

Written by Dennis Nind

Last published at: June 26th, 2019

Why use SMTP from WordPress instead of PHPMail()?

By default, WordPress will send emails using a protocol called 'PHPMail()', which has a number of disadvantages and in many cases leads to the email hitting the SPAM folder of the recipient. 


When an email is sent from WordPress, such as a contact form the message is delivered via PHPMail, which will use an email address similar to...


youruser@your.servername.com


In our case, this would be...


youruser@alfa.cloudns.io


Yet, your WordPress configuration will be set to send emails from an alternative 'prettier' email address, such as 'you@yourdomain.com'. 


The problem here is that many recipient mailboxes will recognise this as 'spoofing', and will indeed flag the message as SPAM.

MailChannels and PHPMail()

Please note that with Brixly, all outbound mail is relayed via a premium delivery / SMTP service called 'MailChannels'. This is provided free of charge with each account, and is designed to ensure the highest delivery rates possible in the hosting industry.


Important: When using PHPMail() instead of the recommended 'SMTP' for WordPress emails, your emails will not be relayed via MailChannels at all, and therefore also imposes risk of IP blacklists affecting email delivery to your clients.


It is always recommended to enable SMTP through WordPress.

Configure WordPress to send via SMTP

To begin, first, you need to install a plugin named WP Mail SMTP by following the instructions in our tutorial on how to install WordPress plugins. Once the plugin is installed and activated, a new menu will show up under the Settings section called Email. You will need to navigate to it in order to configure WordPress to work with SMTP.

On this page you will see several configuration options available:

Here's a list of all of them and what do they configure:

  • From Email - the email address you want to send emails from - for example email@yourdomain.com;
  • From Name - the name that your emails will be sent from;
  • Mailer - choose whether you want to use the Default PHP mail() function, a Gmail/G Suite account, Mailgun, SendGrid or other SMTP server. Choosing the Default mode would send the messages using the PHP mail() function without SMTP authentication. The Gmail/G Suite, Mailgun and SendGrid options require additional info such as Client ID and Client Secret or API key that should be obtained by the respective provider. The other SMTP server option would prompt you to enter additional configuration details which we would describe below.
  • Return Path - check if you want to match the return path for your emails to the sending email;

If you choose other SMTP server as a mailer, you would be prompted to add the SMTP server's configuration settings.

  • SMTP Host - the hostname for your SMTP server;
  • SMTP Port - the port your server works on;
  • Encryption - if you have SSL/TLS encryption available for that hostname, select it here;
  • Auto TLS - if your server supports TLS encryption, enable this option;
  • Authentication - check if your SMTP server requires authentication;
  • Username - the username for your SMTP server;
  • Password - the password for your SMTP server;

Once you configure those parameters, simply click the Save button at the bottom of the page.