SMTP Mailer is the easiest SMTP plugin for WordPress. It allows you to configure an SMTP server to send email from your website. SMTP Mailer enhances the default WordPress mail (“wp_mail”) function by letting you connect to a remote SMPT server to send an email instead of doing it from your web server. This reduces heavy load from your server and increases email deliverability.
Table of Contents
- SMTP Mailer Plugin Demo
- SMTP Mailer Installation
- SMTP Mailer Settings
- Outgoing Mail Server Configurations
- Priority Support

SMTP Mailer Info
SMTP Mailer Plugin Demo
SMTP Mailer Installation
You can install the SMTP plugin like any other WordPress plugin.
Option 1 (Quick & Easy install)
- Go to Plugins->Add New from your WordPress admin dashboard
- Search for SMTP Mailer
- Click Install once you have found it
Option 2 (Manual install)
- Download the zip version of the plugin
- Go to Plugins->Add New
- Click Upload Plugin
- Select the zip file on your computer
- Install it
Option 3 (FTP install)
- Download the zip version of the plugin
- Extract it on your computer
- Connect to your site via FTP
- Browse to “/wp-content/uploads/plugins/” directory
- Upload the folder that contains the main plugin files
SMTP Mailer Settings
You will need to configure your SMTP server related information in order to send email from your website. In order to access the settings menu go to “Settings->SMTP Mailer” from your admin dashboard.

The settings menu comes with three separate tabs – General Settings, Test Email & Server Info.
General Settings

SMTP Host
Your outgoing mail server which will be used for sending email (e.g. smtp.gmail.com).
SMTP Authentication
Enable/Disable SMTP authentication when sending an email (Supported values: True/False).
SMTP Username
The username to connect to your SMTP server. You will need to provide a username if you enable “SMTP Authentication”.
SMTP Password
The password to connect to your SMTP server. You will need to provide a password if you enable “SMTP Authentication”.
Type of Encryption
The encryption which will be used for sending an email (Supported values: TLS/SSL/No Encryption. TLS is recommended).
SMTP Port
The port which will be used when sending an email (587/465/25). If you choose TLS the port should be set to 587. For SSL use port 465 instead.
From Email Address
The email address which is be used as the From Address if it is not supplied to the mail function.
From Name
The name which will be used as the From Name if it is not supplied to the mail function.
Test Email
“Test Email” menu allows you to test the functionality of the plugin after you have configured everything.

Server Info
“Server Info” menu displays some technical information regarding your server. This is very useful for troubleshooting.
Outgoing Mail Server Configurations
Here are the settings for all the popular outgoing mail (SMTP) servers.
Sendinblue SMTP
- SMTP Host: smtp-relay.sendinblue.com
- SMTP Authentication: True
- SMTP Username: Your login email (can found be under SMTP & API > SMTP menu)
- SMTP Password: Your smtp master password (can found be under SMTP & API > SMTP menu)
- Type of Encryption: TLS
- SMTP Port: 587
You can learn more about Sendinblue here.
Yahoo SMTP
- SMTP Host: smtp.mail.yahoo.com
- SMTP Authentication: True
- SMTP Username: Your full Yahoo email address
- SMTP Password: Your Yahoo email account’s password
- Type of Encryption: TLS or SSL
- SMTP Port: 587 (if TLS) or 465 (if SSL)
Outlook SMTP
- SMTP Host: smtp-mail.outlook.com
- SMTP Authentication: True
- SMTP Username: Your email address
- SMTP Password: Your password
- Type of Encryption: TLS
- SMTP Port: 25 or 587 (if port 25 is blocked)
SendGrid SMTP
- SMTP Host: smtp.sendgrid.net
- SMTP Authentication: True
- SMTP Username: Your SendGrid username
- SMTP Password: Your SendGrid password
- Type of Encryption: TLS
- SMTP Port: 587 (if TLS) or 465 (if SSL). If you select “No Encryption” use port 25 instead.
Mandrill SMTP
- SMTP Host: smtp.mandrillapp.com
- SMTP Authentication: True
- SMTP Username: Your Mandrill username
- SMTP Password: Your Mandrill password
- Type of Encryption: TLS
- SMTP Port: 587, 25 or 2525 (if TLS or No Encryption). For SSL use port 465.
GoDaddy SMTP
- SMTP Host: relay-hosting.secureserver.net
- SMTP Authentication: False
- Type of Encryption: No Encryption
- SMTP Port: 25
Office 365 SMTP
- SMTP Host: smtp.office365.com
- SMTP Authentication: True
- SMTP Username: Your office365 username
- SMTP Password: Your office365 password
- Type of Encryption: TLS
- SMTP Port: 587
Amazon SES SMTP
- SMTP Host: email-smtp.us-west-2.amazonaws.com if you are in the US West (Oregon) region. You can find the SMTP endpoint for your region here.
- SMTP Authentication: True
- SMTP Username: Your Amazon SES SMTP username (See how to obtain your Amazon SES SMTP credentials here)
- SMTP Password: Your Amazon SES SMTP password
- Type of Encryption: TLS
- SMTP Port: 587
Gmail SMTP
In order to connect to the Gmail smtp server with a username and password, the “allow less secure apps” option needs to be enabled in your Gmail account. Unfortunately this option is no longer available. If you wish to use Gmail SMTP you may want to take a look at my Gmail SMTP plugin which uses a different authentication method.
Priority Support
If you are having an issue with the plugin, our support team can help investigate it by taking a closer look at your site.
Alex says
Hello, why when i try to test mail i always get 504 Gateway Time-out
Debbie says
Unfortunately Ive tried both your plugins and neither worked to route through GoDaddy to Gmail. Unable to send any emails from website that is host3ed with GoDaddy if email is at gmail. SHAME ON YOU GODADDY!
jersahi says
i have same problem now
Willrich says
Hello.
I keep receiving this message using TLS at port 587:
Warning: stream_socket_enable_crypto(): Peer certificate CN=`XXXXXXXX’ did not match expected CN=`YYYYYYYY’
I’m using a valid certificate. Its a shared whm environment with Centos 7 + php 5.6.
PS: Without encryption it works fine but my customer wants to use TLS
admin says
@Willrich, Your SSL certificate on the server may not be configured correctly. Did you try checking this option “Disable SSL Certificate Verification”?
Willrich says
Hello,
Was a problem with the SMTP provider using custom configuration. Thanks for your reply. 🙂
ava says
I am not receiving emails at all when a member register, get error below, how can I fix this?
Connection: opening to smtp.websitenamehere:587, timeout=300, options=array ()
Connection: Failed to connect to server. Error number 2. “Error notice: stream_socket_client(): php_network_getaddresses: getaddrinfo failed: Name or service not known
Connection: Failed to connect to server. Error number 2. “Error notice: stream_socket_client(): unable to connect to smtp.websitenamehere:587 (php_network_getaddresses: getaddrinfo failed: Name or service not known)
SMTP ERROR: Failed to connect to server: php_network_getaddresses: getaddrinfo failed: Name or service not known (0)
SMTP connect() failed. github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
admin says
@ava, There is a thread on this topic here: https://github.com/PHPMailer/PHPMailer/issues/179.
It looks like a DNS configuration issue.
Eman says
I’m getting a similar error. I’ve contacted Godaddy a few times and they tell me it a problem with the plugin and that I have to contact the developer. Here’s the error:
Connection: opening to relay-hosting.secureserver.net:25, timeout=300, options=array ( ‘ssl’ => array ( ‘verify_peer’ => false, ‘verify_peer_name’ => false, ‘allow_self_signed’ => true, ),)
Connection: Failed to connect to server. Error number 2. “Error notice: stream_socket_client(): unable to connect to relay-hosting.secureserver.net:25 (Connection refused)
SMTP ERROR: Failed to connect to server: Connection refused (111)
SMTP connect() failed.
https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Any ideas???
Thanks
admin says
@Eman, Are you on a shared hosting?
Eman says
yes
admin says
@Eman, According to GoDaddy, That’s how SMTP should be configured on their server. They may have blocked this port for some reason. Please contact them to see if you need to use a different port or settings.
jersahi says
Hello, similar error like Eman, godaddy provider, I’ve contacted Godaddy and they say everything is ok. :s
2020-01-23 18:21:22 Connection: opening to relay-hosting.secureserver.net:25, timeout=300, options=array ()
2020-01-23 18:21:23 Connection failed. Error #2: stream_socket_client(): unable to connect to relay-hosting.secureserver.net:25 (Connection refused) [/home/h3mphtybvlvt/public_html/wp-includes/class-smtp.php line 298]
2020-01-23 18:21:23 SMTP ERROR: Failed to connect to server: Connection refused (111)
SMTP connect() failed.
https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
did you know how to fix it?
Sharon says
I’m using the SMTP Mailer and it’s working, but I’m having trouble with the password reset emails. They don’t have any line breaks and the link to reset the password is missing. When doing a little research it may have something to do with the line break format.
One suggestion I found was to “Replace all line feeds (“n”) by in the message body?” Is it possible to make this type setting change in SMTP Mail?
admin says
@Sharon, The password reset email is generated by WordPress. I don’t think it would be a good idea to dynamically change the email body since it comes from the core.
Sharon says
Thanks, just trying to track down what is causing the password link not to show in emails, and I’m very confused. When I look at the complete original email in gmail for instance, the link is there in the header file, but it is not showing in the displayed email.
Savi says
Hi,
I followed instructions on https://wordpress.org/support/topic/fixed-my-problem-with-godaddy-not-e-mailing-gravity-forms/ and I got the following error.
I saw some another user having a similar, if not the same, issue and I did not see any solutions.
Can you please help? It’s kind of urgent.
Thank you very much.
Connection: opening to relay-hosting.secureserver.net:25, timeout=300, options=array ()
Connection: opened
SMTP -> get_lines(): $data is “”
SMTP -> get_lines(): $str is “220 a2nlsmtp01-04.prod.iad2.secureserver.net : HOSTING RELAY : ESMTP Grid hosting relay server ready”
SERVER -> CLIENT: 220 a2nlsmtp01-04.prod.iad2.secureserver.net : HOSTING RELAY : ESMTP Grid hosting relay server ready
CLIENT -> SERVER: EHLO academyofoperativedentistry.com
SMTP -> get_lines(): $data is “”
SMTP -> get_lines(): $str is “250-a2nlsmtp01-04.prod.iad2.secureserver.net hello [107.180.111.21], pleased to meet you”
SMTP -> get_lines(): $data is “250-a2nlsmtp01-04.prod.iad2.secureserver.net hello [107.180.111.21], pleased to meet you”
SMTP -> get_lines(): $str is “250-HELP”
SMTP -> get_lines(): $data is “250-a2nlsmtp01-04.prod.iad2.secureserver.net hello [107.180.111.21], pleased to meet you250-HELP”
SMTP -> get_lines(): $str is “250-SIZE 30000000”
SMTP -> get_lines(): $data is “250-a2nlsmtp01-04.prod.iad2.secureserver.net hello [107.180.111.21], pleased to meet you250-HELP250-SIZE 30000000”
SMTP -> get_lines(): $str is “250-ENHANCEDSTATUSCODES”
SMTP -> get_lines(): $data is “250-a2nlsmtp01-04.prod.iad2.secureserver.net hello [107.180.111.21], pleased to meet you250-HELP250-SIZE 30000000250-ENHANCEDSTATUSCODES”
SMTP -> get_lines(): $str is “250-8BITMIME”
SMTP -> get_lines(): $data is “250-a2nlsmtp01-04.prod.iad2.secureserver.net hello [107.180.111.21], pleased to meet you250-HELP250-SIZE 30000000250-ENHANCEDSTATUSCODES250-8BITMIME”
SMTP -> get_lines(): $str is “250 OK”
SERVER -> CLIENT: 250-a2nlsmtp01-04.prod.iad2.secureserver.net hello [107.180.111.21], pleased to meet you250-HELP250-SIZE 30000000250-ENHANCEDSTATUSCODES250-8BITMIME250 OK
CLIENT -> SERVER: STARTTLS
SMTP -> get_lines(): $data is “”
SMTP -> get_lines(): $str is “500 command unrecognized”
SERVER -> CLIENT: 500 command unrecognized
SMTP ERROR: STARTTLS command failed: 500 command unrecognized
SMTP Error: Could not connect to SMTP host.
CLIENT -> SERVER: QUIT
SMTP -> get_lines(): $data is “”
SMTP -> get_lines(): $str is “221 2.0.0 a2nlsmtp01-04.prod.iad2.secureserver.net : HOSTING RELAY : closing connection”
SERVER -> CLIENT: 221 2.0.0 a2nlsmtp01-04.prod.iad2.secureserver.net : HOSTING RELAY : closing connection
Connection: closed
SMTP Error: Could not connect to SMTP host.
Savi says
Dear Admin,
I made it work by switching to NO Encryption. Thank you!!
Genesis says
Hey! How can I use on the form it? For exemplo:
Genesis says
Hey! How can I use on the form it? For exemplo: “”
Genesis says
<form action=”what will go here?”>
admin says
@Genesis, This has nothing to do with form action. When an email is sent via a plugin (by calling the “wp_mail” function), SMTP Mailer will send that email through your pre-configured SMTP server.
Martin Meerman says
Hi,
Just installed your SMTP plugin to work with Contact Form 7 as it shows in your info, but a form that used to work before (but in fact did not send the message) now gives an error message and thus the combination doesn’t seem to work. Sending a SMTP test message works fine and also Confact Form 7 says the form is ok, so now I’m stuck in the middle. Where can I look for logs, errors, etc. to resolve this?
Many thanks in advance,
Martin
admin says
@Martin, That means there is no error on WordPress’s end and the email was sent successfully without any issue. Did you check the spam folder?
Syed Muneeb Ali says
Plugin works well for me but I want to send email to many people, how can I?
admin says
@Syed, This plugin can’t send an email to multiple recipients (you will need to find a different plugin for that). It only changes the way an email sent in the backend.
Syed Muneeb Ali says
Good to hear! Actually, I love the settings which this plugin had done e.g it has put my domain name after “mailed by:” thing in emails. But now what I want to know is that if I make this plugin available in my website, then how can I send emails in similar manner? I haven’t found such plugin yet. Please Guide. Thanks!
Eidy says
I have correctly filled in all the configuration parameters of the SMTP Mailer plugin and when I send a test mail I get the following error
Invalid address: (punyEncode) SMTP_FROM
admin says
@Eidy, Please provide your configuration details so I can take a look.
Bhavesh says
Hello I Can not configure SMTP settings because of below error
“Postman is unable to run. Email delivery is being handled by WordPress (or another plugin).
Postman needs translators! Please take a moment to translate a few sentences on-line 🙂
New for v1.7! Send mail with the Mandrill or SendGrid APIs.”
Please can you help me fix this Error
Thanks.
admin says
@Bhavesh, You cannot have multiple SMTP plugins activated at the same time.
Ifeanyi Aniekwe says
I have created have setup the plugin and it works. My main problem now is, from where do i send those messages?
The Plugin doesn’t have any room for that.
admin says
@Ifeanyi, The plugin doesn’t send any email. It changes the method that is used to send an email in WordPress.
Steve Biese says
The test works great. But, when I try to send an email with the contact form, I get the message:
Missing CSRF session token. The session that has generated this token has already been used and is not available. Please reload the page and submit a new form.
Any ideas?
Steve Biese says
I was able to turn off the CSRF message. But, the contact form (VFB Pro) still won’t work. It tells me the message was sent. However, no contact form is received.
admin says
@Steve, Which SMTP provider are you using? Have you checked the spam folder?
Steve Biese says
Neverr mind. I went with a different plugin. Don’t have time to play these games.
Paul van Asseldonk says
Hi, thanks for the plugin! It seems that my installation only works when I disable the SSL verification, although the certificates are correctly installed (
https://www.xolphin.com/sslcheck/futurestore.nl
). I am using PHP 7.2.11 on CentOS 6.1 and WordPress 5.2.2.I hope you can help.
Best regards,.
Paul van Asseldonk
Paul van Asseldonk says
Hi, I figured it out myself, I forgot to install the root certificate for the server, silly me.
Best regards, Paul
Mario says
Is there no way to set a Reply-To address in this plugin?
Keyur says
Hi,
Is There any settings to send email in Inbox not in Spam.
Best regards,
Keyur Patel
Md Sabbir Rahman Khan says
Hi Keyur Patel,
Answer is : NO!
But you can use this plugin with Gmail SMTP for fix the SPAM issue.
Also, You can contact your host provider for rechecking the ‘SPF, DKIM’ Record’ . If you don’t have set this, then always your email goes to SPAM.
Thanks
Sabbir
Neil White says
Hi seting up a new email on a contact form and using the smtp mailer. It worked fine until we changed the email address. Any idea what might cause this?
Sender address rejected: not owned by user admin@**************.**
Noor Alam says
@Neil, Did you change the SMTP email address? Have you also updated the password for it?