2017-01-08 51 views
1

当我的web应用程序提交表单时,我使用下面的代码片断使用phpmailer类inorder发送使用gmail服务器的电子邮件!虽然它适用于我的个人Gmail地址,但当我用我的客户端Gmail地址和密码替换我的Gmail地址和密码时,它不会发送电子邮件!phpmailer发送来自任何gmail的电子邮件

我该如何纠正这个问题?

require "phpmailer/class.phpmailer.php"; //include phpmailer class 

// Instantiate Class 
$mail = new PHPMailer(); 

// Set up SMTP 
$mail->IsSMTP();    // Sets up a SMTP connection 
$mail->SMTPAuth = true;   // Connection with the SMTP does require authorization  
$mail->SMTPSecure = "ssl";  // Connect using a TLS connection 
$mail->Host = "smtp.gmail.com"; //Gmail SMTP server address 
$mail->Port = 465; //Gmail SMTP port 
$mail->Encoding = '7bit'; 

// Authentication 
$mail->Username = "[email protected]"; // Your full Gmail address 
$mail->Password = "******"; // Your Gmail password 

// Compose 
$mail->SetFrom($_POST['emailid'], $_POST['fullname']); 
$mail->AddReplyTo($_POST['emailid'], $_POST['fullname']); 
$mail->Subject = "Pharmacy order confirmaton";  // Subject (which isn't required) 
$mail->MsgHTML($message); 

// Send To 
$mail->AddAddress($_POST["Email"], "Recipient Name"); // Where to send it - Recipient 
$result = $mail->Send();  // Send! 
$message = $result ? 'Successfully Sent!' : 'Sending Failed!';  
unset($mail); 

当我送我的客户的电子邮件消息,我得到错误信息:

SMTP Error: Could not authenticate.

我怎样才能解决这个问题?

回答

-1

立即更新您的PHPMailer。您正在运行一个旧版本。阅读故障排除指南并做它说的。不要使用提交者的地址作为发件人地址 - 它的伪造品,并且会让你失败SPF检查。 Gmail不允许您从任意地址发送邮件。本指南介绍了您的认证问题,但您需要在Gmail中启用安全性较低的应用,或者实施oauth,如文档和示例中所述。

在发布之前,在搜索结果中搜索了很多次。

0

尝试使用这样的: $mail->SMTPSecure = "tls";

取出编码参数

而且还要检查你有正确的地址和密码。