How To Send Email Using PHPMailer and GMail

Hi there! Today we'll be sending email using PHPMailer Library and your Gmail account. This code works even if you test it on your local machine (localhost) since the mailer server it uses is the Google mail server. You just have to be connected on the internet and you don't have to install your own mailer server haha!

How To Send Email Using PHPMailer and GMail
Wanna send some mail?

You may download PHPMailer Library in this link: http://sourceforge.net/projects/phpmailer/

<?php
require("class.phpmailer.php");
$mailer = new PHPMailer();
$mailer->IsSMTP();
$mailer->Host = 'ssl://smtp.gmail.com';
$mailer->Port = 465; //can be 587
$mailer->SMTPAuth = TRUE;
// Change this to your gmail address
$mailer->Username = 'yourusername@gmail.com';
// Change this to your gmail password
$mailer->Password = 'yourpassword';
// Change this to your gmail address
$mailer->From = 'yourusername@gmail.com';
// This will reflect as from name in the email to be sent
$mailer->FromName = 'Your Name';
$mailer->Body = 'This is the body of your email.';
$mailer->Subject = 'This is your subject.';
// This is where you want your email to be sent
$mailer->AddAddress('samplemail@yahoo.com');
if(!$mailer->Send())
{
    echo "Message was not sent<br/ >";
    echo "Mailer Error: " . $mailer->ErrorInfo;
}
else
{
    echo "Message has been sent";
}
?>

If you want to add some attachments, just add a line something like this:

$mailer->AddAttachment('yourfolder/yourfile.gif');

For instant testing, you may download this code with the library files used and change the variables to your settings:



You can find more examples here.

Before you write a comment, please read this guide and our code of conduct.
5 replies
  1. Mike Dalisay
    Mike Dalisay says:

    1. You should make this script as a function or method

    2. Retrieve those email addresses from the database

    3. loop through the data while calling the function with email address and other parameters passed

    ex. sendEmail($email, $name, $subj, $message);

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.