SMTP - >错误:服务器不接受AUTH:530 5.7.0必须首先发出STARTTLS命令

时间:2015-11-16 05:36:20

标签: php email ssl

<?php
require("class.phpmailer.php");
require("class.smtp.php");
require("class.pop3.php");

$mail = new PHPMailer();

$mail->IsSMTP();                                      // set mailer to use      SMTP
$mail->Host = "smtp.mail.yahoo.com";  // specify main and backup server
$mail->SMTPSecure = "SSL";
$mail->SMTPKeepAlive = true;
$mail->Port = "587";
$mail->SMTPAuth = true;     // turn on SMTP authentication
$mail->SMTPDebug = 1;
$mail->Username = "abc@yahoo.com";  // SMTP username
$mail->Password = "xyz"; // SMTP password



$mail->From = "abc@yahoo.com";
$mail->FromName = "Prashant kumar";
$mail->AddAddress("pqr@gmail.com", "Yogesh");                 // name is    optional
$mail->AddReplyTo("mno@gmail.com", "Information");

$mail->WordWrap = 50;                                 // set word wrap to 50 characters
$mail->IsHTML(true);                                  // set email format to HTML

$mail->Subject = "Here is the subject";
$mail->Body    = "This is the HTML message body <b>in bold!</b>";
$mail->AltBody = "This is the body in plain text for non-HTML mail clients";

if(!$mail->Send())
{
   echo "Message could not be sent. <p>";
   echo "Mailer Error: " . $mail->ErrorInfo;
   exit;
}

echo "Message has been sent";
?>

从过去2天开始尝试,将错误视为

SMTP - &gt;错误:服务器不接受AUTH:530 5.7.0必须先发出STARTTLS命令

SMTP错误:无法进行身份验证。无法发送消息。

邮件程序错误:SMTP错误:无法进行身份验证。

已经在stackoverflow和其他网站上看到了所有可能的问题。  已将SMTPSecure和Port更改为所有可能的值。  尝试了gmail服务器和Outlook服务器。  使用各自的端口将SMTPsecure更改为STARTTLS和TLS。 同时删除了SMTPAuth行。 尝试通过网络找到的每一个可能的灵魂。

这是因为我想在我的本地主机上运行吗? (我在Windows 8,64位使用XAMPP)

1 个答案:

答案 0 :(得分:0)

尝试使用$ mail-&gt; Port = 465;而不是587并检查以下链接的差异。