sendMail.php中代码如下:<?php
include_once './lib/class.phpmailer.php';
class ToolKit
{
//发送邮件
public static function mail($to,$subject,$content){
$mail = new PHPMailer();//实例化phpmailer   
$address = $to;//接收邮件的邮箱   
$mail->IsSMTP(); // 设置发送邮件的协议:SMTP   
$mail->Host = "email.163.com"; // 发送邮件的服务器   
$mail->SMTPAuth = true; // 打开SMTP   
$mail->Username = "[email protected]"; // SMTP账户      /*在这里填上发信的账户和密码*/
$mail->Password = "xxxx"; // SMTP密码   
$mail->From = "";   
$mail->FromName = "";   
$mail->AddAddress("$address", "");    
$mail->CharSet = "UTF-8";//设置字符集编码   
$mail->Subject = $subject;   
$mail->Body = $content;//邮件内容(可以是HTML邮件)   
$mail->AltBody = $content;   

return $mail->Send();
}

//产生随机字符串(长度为$len,字母为小写)
public static function random($len){
$baseStr = "abcdefghijklmnopqrstuvwxyz1234567890";
//mt_srand();
$strs="";
for($i=0;$i<$len;$i++){
$strs .= $baseStr[mt_rand(0,strlen($baseStr) - 1)];
}
return strtolower($strs);
}
}
mail('[email protected]','test','test');
?>
运行后总是提示“ailed to connect to mailserver at "localhost" port 25”该怎样改?

解决方案 »

  1.   

    $mail->Host = "smtp.163.com"; 
      

  2.   

    没有邮件服务 所以你得安装或者正确的配置好一个SMTP服务端
      

  3.   

    如果你是本地服务器上测试,需要安装IIS的那个什么邮件相关的东西
      

  4.   

    我用163的邮箱给QQ邮箱发邮件,是不是也要在再记得本机上配置SMTP服务端呀?
      

  5.   

    那不需要的,我没看你的代码只看你出错的信息。
    正常情况下,一个已经配置好的SMTP端(smtp.163.com)就可以了
      

  6.   

    555,那它为很么去连接localhost的25端口呢?应该练的是人家163的25号端口啊
      

  7.   

    ToolKit::mail('[email protected]','test','test');