码迷,mamicode.com
首页 > Web开发 > 详细

PHP 使用 PHPMailer 发送邮件

时间:2017-01-18 12:35:34      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:host   auth   name   功能   new   gbk   ssl   pass   tps   

//发送邮件
    public function sendMail($to,$subject=‘‘,$body=‘‘){
        include(‘class.phpmailer.php‘);
        include(‘class.smtp.php‘);
        include(‘config.db.php‘);
        $mail = new PHPMailer();
        $mail->CharSet = "utf-8";//设置邮件编码
        $mail->IsSMTP();//设定使用SMTP服务
        $mail->SMTPDebug = 1;//启用SMTP调试功能
        $mail->SMTPAuth = true;
        $mail->SMTPSecure = "ssl";
        $mail->Host = $mailconfig[‘Host‘]; //SMTP服务器
        $mail->Port = $mailconfig[‘Port‘];//SMTP服务器端口号
        $mail->Username = $mailconfig[‘Username‘]; //SMTP服务器用户名
        $mail->Password = $mailconfig[‘Password‘]; //SMTP服务器密码
        $mail->Subject = $subject;
        $mail->SetFrom($mailconfig[‘Frommail‘], $mailconfig[‘Fromname‘]);
        $mail->AltBody = "";
        $mail->MsgHTML($body);
        $address = $to;
        $mail->AddAddress($address,‘‘);
        if(!$mail->send()){
            echo ‘Mailer Error: ‘.$mail->ErrorInfo;
        }else{
            echo "Message sent!恭喜,邮件发送成功";
        }
    }

可能出现的问题:

1、如果邮件内容出现中文,一定要设置charset。PHP版本高的设置GBK可能会报错:
  Warning: html_entity_decode(): charset `GBK‘ not supported , 可以设置成utf-8
2、报错:01 mail from address must be same as authorization user 原因是因为Username的邮件地址和SetFrom的邮件地址不一样,设置成一样的就可以了。
3、smtp.qq.com 的端口号。一般是465或587
4、SMTP -> ERROR: Failed to connect to server: php_network_getaddresses: getaddrinfo failed 解决这个错误的方法,是你的邮箱要开启相关的配置,Password这一项写获得的邮箱验证码。

基本上就可以完美发送邮件了。。

PHP 使用 PHPMailer 发送邮件

标签:host   auth   name   功能   new   gbk   ssl   pass   tps   

原文地址:http://www.cnblogs.com/zlx7/p/6296093.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!