统计
  • 建站日期:2021-03-10
  • 文章总数:10247 篇
  • 评论总数:229 条
  • 分类总数:56 个
  • 最后更新:5月17日
文章 未分类

PHP使用PHPMailer发送邮件

小天
首页 未分类 正文

一、PHPMailer概述
1.1PHPMailer是什么
PHPMailer 是一个非常强大的 php发送邮件类,可以设定发送邮件地址、回复地址、邮件主题、html网页,上传附件,并且使用起来非常方便。

1.2PHPMailer优点
1、在邮件中包含多个 TO、CC、BCC 和 REPLY-TO。
2、平台应用广泛,支持的 SMTP 服务器包括 Sendmail、qmail、Postfix、Gmail、Imail、Exchange 等等。
3、支持嵌入图像,附件,HTML 邮件。
4、可靠的强大的调试功能。
5、支持 SMTP 认证。
6、自定义邮件头。
7、支持 8bit、base64、binary 和 quoted-printable 编码。
1.3下载 PHPMailer
从 github 上下载: https://github.com/PHPMailer/PHPMailer/

二、准备工作
2.1PHP环境准备

确保PHP环境开启openssl,如果未开启,检查ext文件夹下是否有php_openssl.dll、php_sockets.dll两个dll,php.ini文件中把前面的;去掉

2.2开启QQ邮箱的 SMTP服务(其他主流邮箱也一样支持)
邮箱名称下面点击设置

PHP使用PHPMailer发送邮件
-千亿科技 - LCG - LSG|安卓破解|病毒分析|www.qianyicp.com
-第1
张图片

点击账户

PHP使用PHPMailer发送邮件
-千亿科技 - LCG - LSG|安卓破解|病毒分析|www.qianyicp.com
-第2
张图片

拉到下面,开启POP3/SMTP服务、IMAP/SMTP服务以及生成授权码

2.3下载PHPMailer源码
Github下载地址:https://github.com/PHPMailer/PHPMailer

需要用到的两个类分别是PHPMailer、SMTP,将这两个文件拷到项目中


PHP使用PHPMailer发送邮件
-千亿科技 - LCG - LSG|安卓破解|病毒分析|www.qianyicp.com
-第3
张图片

三、完整代码

/*发送邮件方法
 *@param $to:接收者 $title:标题 $content:邮件内容
 *@return bool true:发送成功 false:发送失败
 */
function sendMail($to,$title,$content) {
    // 这个PHPMailer 就是之前从 Github上下载下来的那个项目
    require 'src/PHPMailer.php';
    $mail = new PHPMailer;
    // 是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式,
    // 可选择的值有 1 、 2 、 3
    // $mail->SMTPDebug = 2;     
    //使用smtp鉴权方式发送邮件
    $mail->isSMTP();                                      
    //smtp需要鉴权 这个必须是true
    $mail->SMTPAuth = true;                               
    // qq 邮箱的 smtp服务器地址,这里当然也可以写其他的 smtp服务器地址
    $mail->Host = 'smtp.qq.com';
    //smtp登录的账号 这里填入字符串格式的qq号即可
    $mail->Username = '1182xxxxx@qq.com';                 
    // 这个就是之前得到的授权码,一共16位
    $mail->Password = 'nioxunyqzmrqbaeb';     
    //设置使用ssl加密方式登录鉴权                      
    $mail->SMTPSecure = 'ssl';                            
    // //设置ssl连接smtp服务器的远程服务器端口号,可选465或587
    $mail->Port = 465;
    //设置smtp的helo消息头 这个可有可无 内容任意
    // $mail->Helo = 'Hello smtp.qq.com Server';
    //设置发件人的主机域 可有可无 默认为localhost 内容任意,建议使用你的域名
    // $mail->Hostname = 'http://www.lsgogroup.com';
    //设置发送的邮件的编码 也可选 GB2312
    $mail->CharSet = 'UTF-8';                        
    $mail->setFrom('1182xxxxx@qq.com', '林深时见禄');
    // $to 为收件人的邮箱地址,如果想一次性发送向多个邮箱地址,则只需要将下面这个方法多次调用即可
    $mail->addAddress($to);
    //邮件正文是否为html编码 注意此处是一个方法 不再是属性 true或false
    $mail->isHTML(true);
    // 该邮件的主题
    $mail->Subject = $title;
    // 该邮件的正文内容
    $mail->Body = $content;
    //为该邮件添加附件 该方法也有两个参数 第一个参数为附件存放的目录(相对目录、或绝对目录均可) 第二参数为在邮件附件中该附件的名称
    $mail->addAttachment('E:/370205030101010301_20200903142139_4.jpg','mm.jpg');
    //同样该方法可以多次调用 上传多个附件
    // $mail->addAttachment('./Jlib-1.1.0.js','Jlib.js');
    // 使用 send() 方法发送邮件
    if(!$mail->send()) {
      return 'Mailer Error: ' . $mail->ErrorInfo;
    } else {
      return "发送成功";
    }
};

版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。
版权声明:未标注转载均为本站原创,转载时请以链接形式注明文章出处。如有侵权、不妥之处,请联系站长删除。敬请谅解!

-- 展开阅读全文 --
新笔趣阁完美版v2.7.0去广告版
« 上一篇
蚂蚁视频v1.0.6多影视源去广告版
下一篇 »
为了防止灌水评论,登录后即可评论!

HI ! 请登录
注册会员,享受下载全站资源特权。