PHPMailer - AUTH不被接受

时间:2014-04-09 11:30:45

标签: php email phpmailer

我试图运行PHPMailer以获取内部联系表单,我收到错误ERROR:AUTH不接受服务器。这是我目前的代码..

require_once('/includes/class.phpmailer.php');
include("/includes/class.smtp.php");

if (isset($_POST['submit'])) {

$mail = new PHPMailer(true); 
$mail->IsSMTP(); 
$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$message = htmlspecialchars($_POST['message']);

try {
  $mail->Host       = "192.168.6.6"; 
  $mail->SMTPDebug  = 2;                     
  $mail->SMTPAuth   = True;
  $mail->Username = 'xxxxx';
  $mail->Password = '***';                  
  $mail->Port       = 25;                    
  $mail->AddAddress('xxx@xxx.com', 'xxxxx');
  $mail->SetFrom($email);
  $mail->Subject = 'New message from Contact Form';
  $mail->Body = $message;
    $mail->Send();
  } catch (phpmailerException $e) {
    echo $e->errorMessage();
  } catch (Exception $e) {
    echo $e->getMessage();
  }
};

2 个答案:

答案 0 :(得分:1)

此错误基本上意味着您的身份验证尝试被远程服务器拒绝。不同的远程邮件服务器需要不同的PHPMailer设置(以及SMTP设置)。

这可能是由

引起的
  • 使用错误的端口
  • 使用错误的主机
  • 用户/传递不正确
  • SMTPSecure不正确

示例SMTP设置:

答案 1 :(得分:0)

如果您在内部使用此功能,则可能根本不需要使用SMTP身份验证,具体取决于您的服务器设置。试试这个,看它是否有效:

require_once('/includes/class.phpmailer.php');
include("/includes/class.smtp.php");

if (isset($_POST['submit'])) {

$mail = new PHPMailer(true); 
$mail->IsSMTP(); 
$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$message = htmlspecialchars($_POST['message']);

try {
  $mail->Host       = "192.168.6.6"; 
  $mail->SMTPDebug  = 0;                     
  $mail->SMTPAuth   = False;                 
  $mail->Port       = 25;                    
  $mail->AddAddress('xxx@xxx.com', 'xxxxx');
  $mail->SetFrom($email);
  $mail->Subject = 'New message from Contact Form';
  $mail->Body = $message;
    $mail->Send();
  } catch (phpmailerException $e) {
    echo $e->errorMessage();
  } catch (Exception $e) {
    echo $e->getMessage();
  }
};