Skip to main content

Send Email via SMTP server using PHPMailer

Email sending is the most useful feature for web application. mail() function in PHP is used to send mail from PHP script.While sending email using mail() ,the mail will be sent from web server. Sometimes it may cause issues on sending an email and fails to deliver. With SMTP you can overcome this issue,when you send an email through SMTP server email will be sent through mail server  rather than web server.
      The easiest way to send email in PHP with SMTP is to use PHPMailer library. PHPMailer provides an ability to send email via SMTP server in PHP.

In this tutorial, you’ll show how you can send HTML email with SMTP in PHP using PHPMailer.

Send Email via SMTP server:

PHPMailer library:
The script uses PHPMailer to send the email via SMTP server, so PHPMailer library needs to be included first. Include the PHPMailerAutoload.php file and create a new PHPMailer instance.

<?php
require ("phpmailer/PHPMailerAutoload.php");
$mail = new PHPMailer ();
?>

SMTP Configuration:
you need to specify SMTP server host,username,password and port

<?php
// Include and initialize phpmailer class
require 'PHPMailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->Host = 'smtp.gmail.com';
//SMTP Configuration
$mail->isSMTP();
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->SMTPAuth = true;
$mail->Password = 'your password'; // SMTP password
$mail->Username = 'user@example.com'; // SMTP username
$mail->addReplyTo('info@example.com', 'esoftsolutions');
$mail->setFrom ( 'info@example.com', 'esoftsolutions' );
// Add a recipient
$mail->addAddress ( 'sowmya@gmail.com' );
// Set email format to HTML
$mail->isHTML ( true );
// Email body content
$mail->AltBody = '<h1>Hi this is test mail</h1>';
$mail->Subject = 'Test Email';
$mail->Body = '<h1>Hi this is test mail</h1>';
// Send email
if (! $mail->send ()) {
}
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
?>

Note that:  You need to download PHPMailer library files separately

Send HTML Email with Attachments:
Use addAttachment() method of PHPMailer class to add an attachment to the email. You can add multiple attachments to the email by adding addAttachment() method multiple times.
<?php
// Add attachments
$mail-&gt;addAttachment('softsolutions_1.pdf');
$mail-&gt;addAttachment('softsolutions2_2.docs');
$mail-&gt;addAttachment('images/softsolutions.png', 'new-name.png'); //set new name
?>

Send Email using Gmail SMTP:
If you want to use Gmail SMTP to send email, you need to make some changes in Google account settings.
Follow the below steps to use Gmail SMTP in PHPMailer library.
  • Login to your Google account.     
  • Go to the My Account page. Click the Signing in to Google link from Sign-in & security section.

  • Scroll down the Password & sign-in method section and turn Off the 2-Step Verification.

  • Scroll down the Connected apps & sites section and turn On Allow less secure apps.

  • You are done! Now you can use Gmail SMTP to send email from the PHP script.
If you enjoyed this post, I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Twitter or Facebook.Next Week i will come with a new php solution. Thank you! Have a nice day ..😃😃


Comments

Popular posts from this blog

MYSQL CONNECTION USING PDO WITH PHP

Hello guys, In the previous tutorial we have seen how to connect to MySQL database with PHP using MySQLi. Today we will learn how to connect with PDO. As a PHP programmer we have learned how to access database by using either MySQL and MySQLi. As of PHP 5.1, there's a better way. PHP Data Objects(PDO) provide methods for prepared statements and working with objects that will make you far more productive! PDO Introduction :        PDO provides a data-access abstraction layer, which means that, regardless of which database you're using, you use the same functions to issue queries and fetch data. PDO does not provide a database abstraction; it doesn't rewrite SQL or emulate missing features. Database Support:       The extension can support any database that a PDO driver has been written for. The following drivers currently implement the PDO interface: PDO_CUBRID Cubrid PDO_DBLIB FreeTDS / Microsoft SQL Server / Sybase PDO_FIREBIRD Firebird PDO_I...

Convert JSON to ARRAY in PHP

 To convert an Array to JSON in PHP, we use json_encode() function. The function is used to encode a value to JSON format $arr = array ( 'Millie' => 'Eleven' ,             'Mike' => 'Finn' ,             'Gaten' => 'Dustin' ,             'Noah' => 'Will' ); echo json_encode ( $arr ). " \n " ; Output : { "Millie" : "Eleven" , "Mike" : "Finn" , "Gaten" : "Dustin" , "Noah" : "Will" }

MYSQL DATABASE CONNECTION WITH PHP

Hello friends, today we will learn how to connect to  MySQL  database with PHP. This tutorial will require a MySQL database and a web development environment using mysql, apache and php and a simple text editor. The tutorial takes you through establishing a  MySQL  connection using php on a web page, connecting to a  MySQL  table and retrieving the results and displaying them back on the web page. Earlier versions of PHP used the  MySQL  extension.However, this extension was depreciated in 2012. Later can work with  MySQL  database using MySQLi extension (the "i" stands for improved) PDO (PHP Data Objects)        The main difference between these two are if you want to switch your project to another database PDO makes it easy(since it can connect 12 different databases). You only have to change the connection string and a few queries. With MySQLi, you will need to rewrite the entire code - queries included.In this t...