使用PHPMaile发送邮件

  function send(){
    ini_set("magic_quotes_runtime",0); 
    require './PHPMailer/PHPMailer.php'; 
    require './PHPMailer/SMTP.php'; 
    try { 
        $mail = new PHPMailer(true); 
        $mail->IsSMTP(); 
        $mail->CharSet='UTF-8'; //设置邮件的字符编码,这很重要,不然中文乱码 
        $mail->SMTPAuth = true; //开启认证 
        $mail->Port = 25;                                 //端口25
        $mail->Host = "smtp.163.com";                    //设置smtp服务器
        $mail->Username = "15703415669";                //发信人的邮箱用户名     ***************************************
        $mail->Password = "shouquanma";                  //授权码                ***************************************          
        //$mail->IsSendmail(); //如果没有sendmail组件就注释掉,否则出现“Could not execute: /var/qmail/bin/sendmail ”的错误提示 
        $mail->AddReplyTo("15703415669@163.com","zaszybko");//回复地址              ***************************************
        $mail->From = "15703415669@163.com";            //完整的发件人邮箱          ***************************************
        $mail->FromName = "zaszybko";                  //发件人署名                  ***************************************
        $to = "867369324@qq.com";                       //接受人邮箱                            ***************************************
        $mail->AddAddress($to); 
        $mail->Subject = "phpmailer测试标题"; 
        $mail->Body = "<h1>phpmail演示</h1>这是php点点通(<font color=red>www.cnblogs.com</font>)对phpmailer的测试内容"; 
        $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; //当邮件不支持html时备用显示,可以省略 
        $mail->WordWrap = 80; // 设置每行字符串的长度 
        //$mail->AddAttachment("f:/test.png"); //可以添加附件 
        $mail->IsHTML(true); 
        $mail->Send(); 
        echo '邮件已发送'; 
    } catch (phpmailerException $e) { 
        echo "邮件发送失败:".$e->errorMessage(); 
    } 
}
//邮件发送测试方法
function sendMail($subject,$msghtml,$sendAddress){
    //引入发送类phpmailer.php
    require './PHPMailer/class.phpmailer.php';
    //实列化对象
    $mail             = new PHPMailer();
    /*服务器相关信息*/
    $mail->IsSMTP();                        //设置使用SMTP服务器发送
    $mail->SMTPAuth   = true;              //开启SMTP认证
    $mail->Host       = 'smtp.163.com';         //设置 SMTP 服务器,自己注册邮箱服务器地址
    $mail->Username   = 'woai281';      //发信人的邮箱用户名
    $mail->Password   = 'itcastphp2016'; //新注册邮箱,客户端授权码
    /*内容信息*/
    $mail->IsHTML(true);               //指定邮件内容格式为:html
    $mail->CharSet    ="UTF-8";          //编码
    $mail->From       = 'woai281@163.com';       //发件人完整的邮箱名称
    $mail->FromName   ="php52技术小组";      //发信人署名
    $mail->Subject    = $subject;         //信的标题
    $mail->MsgHTML($msghtml);           //发信主体内容
    // $mail->AddAttachment("fish.jpg");      //附件
    /*发送邮件*/
    $mail->AddAddress($sendAddress);        //收件人地址
    //使用send函数进行发送
    if($mail->Send()) {
        //发送成功返回真
        return true;
      // echo '您的邮件已经发送成功!!!';
    } else {
      return  $mail->ErrorInfo;//如果发送失败,则返回错误提示
    }
  }
PHPMaile发送邮件类 https://github.com/PHPMailer/PHPMailer\
 
出现 SMTP Error: Could not authenticate 错误时首先检查各个参数有没有写对
 
授权码获取

 用到密码验证的时候存一个随机值到数据库,用户点击邮件的时候用于验证。

 

 

posted @ 2017-12-15 15:29  za_szybko  阅读(291)  评论(0编辑  收藏  举报