我正在尝试使用phpmailer发送邮件,但收到此错误“SMTP connect()失败”。我已经允许在Gmail上安全性较低的应用程序。是否所有的smtp设置都正确?请指导我错在哪里。
<?php
require_once 'PHPMailer-master/PHPMailerAutoload.php';
require 'PHPMailer-master/class.phpmailer.php';
require 'PHPMailer-master/class.smtp.php';
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->host = 'smtp.gmail.com';
$mail->username = 'mymail@gmail.com';
$mail->password = 'mypassword';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->SMTPDebug = true;
$mail->isHTML();
$mail->Subject = 'form data';
$mail->Body = 'this is the body of message';
$mail->FromName = 'The Form';
$mail->AddAddress('junaidshekh21@gmail.com','Junaid Shaikh');
if($mail->send())
{
echo "sent successfully";
die();
}
else
{
echo "could not send";
}
?>
答案 0 :(得分:2)
在ErrorInfo
中使用phpmail
查看错误
在发送电子邮件之前添加此内容
$mail->SMTPDebug = 2; //enables SMTP debug information (for testing)
并从
更改echo "could not send";
到
echo "Mailer Error: " . $mail->ErrorInfo;
注意:
<强>更新强>
来自官方phpmailer
gmail示例:
$mail->Host = gethostbyname('smtp.gmail.com');
// if your network does not support SMTP over IPv6
答案 1 :(得分:1)
您的PHPmailer设置还可以,我认为这是一个不太安全的应用访问问题。 你必须使你的Gmail不那么安全才能获得访问权限。 得到了这个网址https://www.google.com/settings/security/lesssecureapps 以SMTP格式访问您的Gmail。