需要帮助使用Gmail SMTP在PHP中发送电子邮件

时间:2016-02-25 02:44:34

标签: php smtp gmail

所以我试图按照这里的说明进行操作

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

使用PHP使用我的Gmail帐户发送电子邮件。但当我尝试发送测试电子邮件时,我在网络浏览器中收到以下消息:错误:无法连接到主机“smtp.gmail.com”

这是我的两个文件(编辑了我的个人数据)

感谢您的帮助

<?php
print "1";
require("smtp.php");
require("sasl.php"); //SASL authentication
$from="support@yourwebsite.com"; 
$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="john@gmail.com"; // 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="ralph@website.com";
$fn="First Name";
$ln="Last Name";
$name=$fn.' '.$ln;
$from="test@grove.net";
$subject = "Welcome to Website";
$message = "Dear $name, 
Your Welcome Message.
Thanks
www.website.com
";
include('smtpwork.php');
?>

1 个答案:

答案 0 :(得分:0)

根据Gmail政策,您无法使用plain password (house22),您必须使用encrypted password(Gh45515HGGujKkkHk5554),因为您需要在您的Gmail帐户上启用双向身份验证。然后,创建应用程序专用密码,然后将该密码用于您的SMTP,我希望这对您有用。这是link1 Link2