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->addAttachment('softsolutions_1.pdf');
$mail->addAttachment('softsolutions2_2.docs');
$mail->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
Post a Comment