For most windows hosting service, we're required to configure SMTP authentication for script email or form email. The concept is to disable using localhost for smtp server and force to use real email server to handle the service. Why they do that? How can we configure smtp authentication on website and how we will benefit from this requirement? This article will explain such from indepth reviews and guide on how to configure smtp authentication for popular web applications.
How does SMTP authentication work?
SMTP authentication is occurred before we sending out email message. When we compose an email we need the exact email address & password and authenticate to it. Once we send out an email, ISP will check where the email is sending to and relay the message to receipient mail server, this process is called email relay or SMTP relay. SMTP authentication checks if you're authorized to send emails using that account on server end.
Why SMTP authentication?
From above explanation, we know a valid email account and password is required in order to send out email. However, things are little different on web server. Most servers have smtp enabled by default using localhost. Unlike regular email service, localhost smtp doesn't require smtp authentication at all. The original purpose is to simplify web form programming where you can send emails easily via script. But this leaves a problem, senders can abuse the service easily. For example they can use it for bulk mail purpose or spam! The direct effect is hosting server will be overloaded so any existing service will be slowed down. What worse is the entire server might be blacklisted by major ISPs and all other customers on the server will not be able to send mails any more.
SMTP authentication will solve the problem perfectly. Via smtp authentication, you must specify the correct SMTP credentials in coding. In this way all your emails will be sent out via actual email servers where you have to follow various rules such as daily limits, spam filters etc. In a word, smtp authentication protected both web and mail servers and all clients will benefit from it. That's why localhost smtp is not allowed any more by more and more hosting providers. Alternatively, they will guide you to use smtp authentication.
How to configure SMTP authentication?
SMTP authentication requires smtp server credentials to be specified in script, this includes smtp server address, full email address and login password. If you are not sure how its used, we highly suggest using phpmailer – a pre-configured email script with smtp authentication enabled. Downloads and sample codes can be founded on this phpmailer page.
However, since cms softwares are used more and more these days, we don't have to program such service by ourselves. Below is a list of SMTP solutions for popular cms applications including wordpress, joomla
SMTP authentication for WordPress
Wordpress uses localhost for smtp server by default. You have to install a plugin for smtp authentication. We highly recommend using Cimy Swift SMTP which is simple and compatible with other email services like Gmail. Just fill out the required smtp details then click "save changes" to enable. Now your wordpress site will send emails through your specified email account.
SMTP authentication for Joomla
SMTP authentication for Joomal is pretty easy. The system has both options provided, you can choose to use smtp or default email functions. To configure SMTP authentication for your joomla site, login to admin panel -> Global configuration -> Mail settings, select "SMTP" from drop down selections and click yes value for "smtp authentication" -> fill out your smtp server details then click save to reflect the changes.
SMTP authentication for Drupal
Similar to wordpress, you need to install extra drupal module for smtp functions. You can download drupal smtp module on this drupal download page.
You need to extract the package and upload to modules directory then go to your drupal admin -> site building -> modules to enable it. Once the module is enabled, navigate to site configuration -> SMTP Authentication Support section then fill out your smtp server details. You need to enter the same email address as "From address" for "Site Information" under "Site Configuration" tab or else your smtp setting will not work.