phpmailer问题。无法清除smtp connect()错误
我正在尝试使用phpmailer发送邮件,但收到以下错误“SMTP connect()失败”。我已经允许在gmail上使用不太安全的应用程序。所有smtp设置都正确吗?请告诉我哪里错了phpmailer问题。无法清除smtp connect()错误,php,email,smtp,phpmailer,Php,Email,Smtp,Phpmailer,我正在尝试使用phpmailer发送邮件,但收到以下错误“SMTP connect()失败”。我已经允许在gmail上使用不太安全的应用程序。所有smtp设置都正确吗?请告诉我哪里错了 <?php require_once 'PHPMailer-master/PHPMailerAutoload.php'; require 'PHPMailer-master/class.phpmailer.php'; require 'PHPMailer-master/class.sm
<?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";
}
?>
使用
phpmail
中的ErrorInfo
查看有什么问题
在发送电子邮件之前添加此项
$mail->SMTPDebug = 2; //enables SMTP debug information (for testing)
从
echo "could not send";
到
注意事项:
更新: 从官方的
phpmailer
gmail示例:
$mail->Host = gethostbyname('smtp.gmail.com');
// if your network does not support SMTP over IPv6
你的PHPmailer设置还可以,我认为这是不太安全的应用程序访问问题。 你必须让你的gmail变得不那么安全才能访问。 找到这个网址
以SMTP方式访问您的gmail。错误说明,它无法连接到给定的凭据。587端口有时被主机提供商阻止。这可能就是问题所在。我正在本地主机上尝试。我该怎么办?试试佩德罗写的,已经试过了。还是不走运。请帮助$mail->ErrorInfo;给出smtp connect()失败的错误。我已经允许在gmail上使用不太安全的应用程序了。你是否尝试过使用phpmailer github repo上提供的gmail示例?嘿,佩德罗,在完成了你上次更新中的建议后,我得到了这个输出。。。。我可以在调试过程中读到:“用户名和密码不被接受”,之后,有一个链接到谷歌的答案。你能把它贴在这里作为评论吗。我需要贴什么?你的答案和我的有什么区别吗?@Pedro Lobito我没有看到下面的那句话。对不起that@Jkumar,没关系,没问题,只是想让大家保持干净@JunaidShaikh您能粘贴错误代码或错误消息,以便我们可以帮助JUNAID,将您的上述评论作为您问题的注释。我不在电脑上,所以帮不了什么忙。代码很好。到家后,我会尽力回复。
$mail->Host = gethostbyname('smtp.gmail.com');
// if your network does not support SMTP over IPv6