我用的是 PHPMailer_5.2.1版。首先我确定 我填写的邮箱的用户名xxxx和密码xxxx一定是正确的,但是发送不成功,而且直接是死掉,连ok,error都看不到,我试了,是卡在 $mail->Send();  是不是什么文件还需要配置,我的环境是PHP5.2.17,apache2, win7系统,不知为什么,望高人指点迷津!!
下面是PHP文件
<?php
require('class.phpmailer.php');
include('class.smtp.php');
$mail = new PHPMailer();
$address = "[email protected]";
$mail->IsSMTP();
$mail->SMTPAuth = true;

$mail->Host = 'smtp.sohu.com';

$mail->Username = "[email protected]";

$mail->Password = "xxxxx";

$mail->Port = 25;

$mail->From = "[email protected]";
$mail->FromName = "xxxx";

$mail->AddAddress($address, 'xxx');

$mail->Subject = "The first Message of PHPMaile!";
$mail->Body = "Hello PHPMailer!";

if ( !$mail->Send()) {
echo "error " . $mail->ErrorInfo;
exit();
}
echo "ok!";
?>

解决方案 »

  1.   

    下面是我用phpmailer发送邮件的方法:
    <?php
           header("Content-type: text/html; charset=utf-8");
           if(isset($_POST["sub"])){
                       $user=$_POST["user"];
                       $mail=$_POST["mail"];
           }
           require("phpmailer/class.phpmailer.php");   //引入文件       $mail = new PHPMailer();   //实例化
           $mail->IsSMTP();                 // 启用SMTP
           $mail->Host="smtp.126.com";      //smtp服务器 以126邮箱为例子
           $mail->SMTPAuth = true;         //启用smtp认证
           $mail->Username = "[email protected]";   // 你的邮箱地址
           $mail->Password = "123456";      //你的邮箱密码       $mail->From = "[email protected]";            //发件人地址(也就是你的邮箱)
           $mail->FromName = "name";              //发件人姓名      $mail->AddAddress("{$mail}",$user); //添加收件人 通过post提交得到(邮箱,姓名)
           $mail->AddReplyTo("[email protected]", "name");    //回复地址(邮箱,姓名)       $mail->WordWrap = 50;                    //设置每行字符长度
           $mail->AddAttachment("images/01.jpg", "manu.jpg");   // 添加附件,并指定名称
           $mail->IsHTML(true);                 // 是否HTML格式邮件      $mail->CharSet="utf-8";    //设置邮件编码
          $mail->Subject = "注册开通";          //邮件主题
          $mail->Body    = "<a href='http://www.baidu.com'>点击此处开通</a>";        //邮件内容
          $mail->AltBody = "This is the body in plain text for non-HTML mail clients"; //邮件正文不支持HTML的备用显示      if(!$mail->Send())
         {
              echo "Message could not be sent. <p>";
              echo "Mailer Error: " . $mail->ErrorInfo;
              exit();
         } else {
             echo "Message has been sent";
         }
    ?>附带实例下载你试试看:http://www.phpnewer.com/index.php/Ymgx/detail/id/1
      

  2.   

    加个
    $mail->port = 25;
      

  3.   

       倒霉啊,是网速的问题,开始情况在打开网页有点困难的时候试的,代码就直接死在Send()那儿了,没error,也没ok,现在好了,自己没问题,网速带来的问题,幸好我弄了一个小时就不整了,不然就是整死我也整不出个结果来。谢谢你们俩。
      

  4.   

    如果不是网速的问题就要考虑是否开启了smtp功能,因为QQ邮箱默认是关闭smtp功能的,需要手动进取设置!