Search code examples
phpsmtpgmail

Need help sending email in PHP using Gmail SMTP


So I'm trying to follow the instructions here

http://www.9lessons.info/2011/07/send-mail-using-smtp-and-php.html

to use PHP to send out an email using my gmail account. But when I try to send a test email I get in the web browser this message: Error: could not connect to the host "smtp.gmail.com"

Here is are my two files (with my personal data edited)

Thanks for any help

<?php
print "1";
require("smtp.php");
require("sasl.php"); //SASL authentication
$from="[email protected]"; 
$smtp=new smtp_class;
$smtp->host_name="smtp.gmail.com"; // Or IP address
$smtp->host_port=465;
$smtp->ssl=0;
$smtp->start_tls=1;
$smtp->localhost="localhost";
$smtp->direct_delivery=0;
$smtp->timeout=10;
$smtp->data_timeout=0;
$smtp->debug=1;
$smtp->html_debug=1;
$smtp->pop3_auth_host="";
$smtp->user="[email protected]"; // SMTP Username
$smtp->realm="";
$smtp->password="House22"; // SMTP Password
$smtp->workstation="";
$smtp->authentication_mechanism="";
print "3";
if($smtp->SendMessage(
$from,
array(
$to
),
array(
"From: $from",
"To: $to",
"Subject: $subject",
"Date: ".strftime("%a, %d %b %Y %H:%M:%S %Z")
),
"$message"))
{
print "Message sent to $to OK."; 
}
else
print "Cound not seend the message to $to.\nError: ".$smtp->error;
print "4";
?>

==============================

<?php
$to="[email protected]";
$fn="First Name";
$ln="Last Name";
$name=$fn.' '.$ln;
$from="[email protected]";
$subject = "Welcome to Website";
$message = "Dear $name, 
Your Welcome Message.
Thanks
www.website.com
";
include('smtpwork.php');
?>

Solution

  • as per Gmail policy, You cannot use plain password (house22), you have to use encrypted password(Gh45515HGGujKkkHk5554), for that you need two way authentication should be enable on your gmail account. and after that, create Application Specific Password and then use that password for your SMTP, I hope that will work for you. here is the link1 Link2