使用PHPmailer发邮件,一个账号同时给几个账号发送邮件。
使用SMTP协议,但是总是提示:he following From address failed: [email protected]<p>SMTP server error: You are not authorized to send mail, authentication is required
这个smtp不就是身份验证,给个密码不就行了吗?为什么还提示这个?密码是正确的

解决方案 »

  1.   

    给个例子:
    header('Content-Type: text/html; charset=utf-8');
    require("phpmailer/class.phpmailer.php");
    error_reporting(E_ERROR);
     
    function smtp_mail ( $sendto_email, $subject, $body ,$att=array()) {
        $mail = new PHPMailer();
        $mail->IsSMTP();  
         
        $mail->Host = "smtp.163.com"; 
        $mail->Username = "[email protected]";  
        $mail->Password = "xxxx";   
     
        $mail->FromName =  "管理员";  
        $mail->SMTPAuth = true;         
        $mail->From = $mail->Username;
        $mail->CharSet = "utf8";          
        $mail->Encoding = "base64";
        $mail->AddAddress($sendto_email); 
        foreach($att as $key=>$val){
            if(!empty($val)){
                $mail->AddAttachment($val);  //注意要给绝对路径
            }
        }
     
        $mail->IsHTML(true);
        $mail->Subject = $subject;
        $mail->Body = $body;
        $mail->AltBody ="text/html";
        if(!$mail->Send()) {
            echo "邮件错误信息:" . $mail->ErrorInfo;
        }else{
            echo "邮件发送成功!";
        }
    }
     
    $body = '
        <html>
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        </head>
        <body>
            欢迎来到<a href="http://www.sdfsdfsdf.com">http://www.sdfsadfsfsdf.com</a> <br /><br />
        感谢您注册为本站会员!<br /><br />
        </body>
        </html>
        ';    
    // 参数说明(发送地址, 邮件主题, 邮件内容,附件绝对路径)
    smtp_mail('[email protected]', '欢迎你的到来', $body,array('C:/xampp/htdocs/复件.txt'));
      

  2.   

    我想应该是smtp服务器设置的不对,你可以再检查下。
      

  3.   

    我想问下一下LZ您“一个账号同时给几个账号发送邮件”是如何实现的。我是用将几个邮箱地址放到一个数组中,然后用foreach循环发送邮件。但是遇到的问题是,同一个邮箱会收到不止一封邮件。不知道哪里出了问题,还是方法不对,希望有了解的各位高手也指点指点。